@forge/bundler
7.0.2-next.97.0.2-next.3-experimental-0949616
out/dependencies.js~
out/dependencies.jsModified+10−26
Index: package/out/dependencies.js
===================================================================
--- package/out/dependencies.js
+++ package/out/dependencies.js
@@ -1,8 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-exports.DEFAULT_COPY_DEPENDENCIES_OPTIONS = void 0;
-exports.getProductionDependencies = getProductionDependencies;
exports.copyProductionDependencies = copyProductionDependencies;
const tslib_1 = require("tslib");
const fs_1 = require("fs");
const promises_1 = require("fs/promises");
@@ -26,17 +24,13 @@
}
}
return null;
}
-exports.DEFAULT_COPY_DEPENDENCIES_OPTIONS = {
- exclude: ['@forge/react', '@forge/bridge']
-};
-async function getProductionDependencies(moduleDir, options) {
- const result = new Map();
- await enumerateProductionDependencies(moduleDir, options ?? {}, moduleDir, result, new Set());
- return result;
+function transplantDir(source, destination, directory) {
+ const relative = path_1.default.relative(source, directory);
+ return path_1.default.join(destination, relative);
}
-async function enumerateProductionDependencies(moduleDir, options, root, result, visited) {
+async function copyProductionDependencies(moduleDir, target, options) {
const packageDef = await readPackageJSON(moduleDir);
if (!packageDef) {
return;
}
@@ -46,25 +40,15 @@
continue;
}
const source = await dependencyDir(moduleDir, dependency);
if (source) {
- const destination = path_1.default.relative(root, source);
- if (visited.has(destination)) {
+ const destination = transplantDir(moduleDir, target, source);
+ if ((0, fs_1.existsSync)(destination)) {
continue;
}
- visited.add(destination);
- for (const entry of await (0, promises_1.readdir)(source)) {
- if (entry === common_1.NODE_MODULES_DIR) {
- continue;
- }
- result.set(path_1.default.join(destination, entry), path_1.default.join(source, entry));
- }
- await enumerateProductionDependencies(source, options, root, result, visited);
+ await (0, fs_extra_1.copy)(source, destination, {
+ filter: (src) => path_1.default.basename(src) !== common_1.NODE_MODULES_DIR
+ });
+ await copyProductionDependencies(source, destination, options);
}
}
}
-async function copyProductionDependencies(moduleDir, target, options) {
- const dependencies = await getProductionDependencies(moduleDir, options);
- for (const [destination, source] of dependencies.entries()) {
- await (0, fs_extra_1.copy)(source, path_1.default.join(target, destination));
- }
-}