@forge/bundler
7.2.37.3.0-next.0
out/dependencies.js−
out/dependencies.jsDeleted−76
Index: package/out/dependencies.js
===================================================================
--- package/out/dependencies.js
+++ package/out/dependencies.js
@@ -1,76 +0,0 @@
-"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");
-const path_1 = tslib_1.__importDefault(require("path"));
-const fs_extra_1 = require("fs-extra");
-const common_1 = require("./common");
-function isWithinRoot(root, source) {
- const relativeToRoot = path_1.default.relative(path_1.default.resolve(root), path_1.default.resolve(source));
- return relativeToRoot === '' || (!relativeToRoot.startsWith('..') && !path_1.default.isAbsolute(relativeToRoot));
-}
-async function readPackageJSON(directory) {
- try {
- const packageJson = await (0, promises_1.readFile)(path_1.default.join(directory, 'package.json'), 'utf8');
- return JSON.parse(packageJson);
- }
- catch (e) {
- return null;
- }
-}
-async function dependencyDir(moduleDir, dependency, root) {
- for (let source = path_1.default.resolve(moduleDir); source !== path_1.default.dirname(source) && isWithinRoot(root, source); source = path_1.default.dirname(source)) {
- const candidate = path_1.default.join(source, common_1.NODE_MODULES_DIR, dependency);
- if ((0, fs_1.existsSync)(candidate)) {
- return candidate;
- }
- }
- 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;
-}
-async function enumerateProductionDependencies(moduleDir, options, root, result, visited) {
- const packageDef = await readPackageJSON(moduleDir);
- if (!packageDef?.dependencies) {
- return;
- }
- for (const dependency of Object.keys(packageDef.dependencies)) {
- if (options.exclude?.includes(dependency)) {
- continue;
- }
- const source = await dependencyDir(moduleDir, dependency, root);
- if (source) {
- if (!isWithinRoot(root, source)) {
- continue;
- }
- const destination = path_1.default.relative(root, source);
- if (visited.has(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);
- }
- }
-}
-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));
- }
-}