@antelopejs/core 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +0 -5
  2. package/dist/core/build/build-artifact.d.ts +3 -0
  3. package/dist/core/build/build-artifact.js +9 -2
  4. package/dist/core/build/build-artifact.js.map +1 -1
  5. package/dist/core/cli/commands/project/start.js +4 -2
  6. package/dist/core/cli/commands/project/start.js.map +1 -1
  7. package/dist/core/cli/exit-codes.d.ts +1 -0
  8. package/dist/core/cli/exit-codes.js +2 -1
  9. package/dist/core/cli/exit-codes.js.map +1 -1
  10. package/dist/core/cli/production-start.d.ts +2 -0
  11. package/dist/core/cli/production-start.js +26 -1
  12. package/dist/core/cli/production-start.js.map +1 -1
  13. package/dist/core/module-manager.d.ts +2 -1
  14. package/dist/core/module-manager.js +29 -28
  15. package/dist/core/module-manager.js.map +1 -1
  16. package/dist/core/resolution/observable-map.d.ts +7 -0
  17. package/dist/core/resolution/observable-map.js +28 -0
  18. package/dist/core/resolution/observable-map.js.map +1 -0
  19. package/dist/core/resolution/package-resolution.d.ts +6 -0
  20. package/dist/core/resolution/package-resolution.js +36 -8
  21. package/dist/core/resolution/package-resolution.js.map +1 -1
  22. package/dist/core/resolution/path-owner-index.d.ts +16 -0
  23. package/dist/core/resolution/path-owner-index.js +54 -0
  24. package/dist/core/resolution/path-owner-index.js.map +1 -0
  25. package/dist/core/resolution/resolver.d.ts +5 -0
  26. package/dist/core/resolution/resolver.js +47 -33
  27. package/dist/core/resolution/resolver.js.map +1 -1
  28. package/dist/core/runtime/build-refresh.d.ts +10 -0
  29. package/dist/core/runtime/build-refresh.js +92 -0
  30. package/dist/core/runtime/build-refresh.js.map +1 -0
  31. package/dist/core/runtime/build-runtime.d.ts +6 -2
  32. package/dist/core/runtime/build-runtime.js +12 -9
  33. package/dist/core/runtime/build-runtime.js.map +1 -1
  34. package/dist/core/runtime/launch-sequence.d.ts +1 -0
  35. package/dist/core/runtime/launch-sequence.js +19 -9
  36. package/dist/core/runtime/launch-sequence.js.map +1 -1
  37. package/dist/core/runtime/module-loading.d.ts +2 -1
  38. package/dist/core/runtime/module-loading.js +10 -10
  39. package/dist/core/runtime/module-loading.js.map +1 -1
  40. package/dist/core/runtime/project-launch.d.ts +2 -2
  41. package/dist/core/runtime/project-launch.js +1 -1
  42. package/dist/core/runtime/project-launch.js.map +1 -1
  43. package/dist/index.d.ts +2 -1
  44. package/dist/index.js +3 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/types/config.types.d.ts +3 -0
  47. package/package.json +3 -3
package/README.md CHANGED
@@ -1,9 +1,4 @@
1
1
  <div align="center">
2
- <a href="https://antelopejs.com">
3
- <picture>
4
- <img alt="AntelopeJS logo" src=".github/social-card.png">
5
- </picture>
6
- </a>
7
2
  <h1>AntelopeJS</h1>
8
3
 
9
4
  <a href="https://www.npmjs.com/package/@antelopejs/core"><img alt="NPM version" src="https://img.shields.io/npm/v/@antelopejs/core.svg?style=for-the-badge&labelColor=000000"></a>
@@ -1,5 +1,6 @@
1
1
  import type { AntelopeLogging, ModuleSource } from "@antelopejs/interface-core/config";
2
2
  import type { IFileSystem } from "../../types";
3
+ import { type LoadedConfig } from "../config/config-loader";
3
4
  import type { ModulePackageJson } from "../module-manifest";
4
5
  export interface BuildPathEntry {
5
6
  key: string;
@@ -51,9 +52,11 @@ export interface BuildArtifactInput {
51
52
  modules: Record<string, BuildModuleEntry>;
52
53
  buildTime?: string;
53
54
  }
55
+ export declare function toStableJson(value: unknown): string;
54
56
  export declare function getBuildFolderPath(projectFolder: string): string;
55
57
  export declare function getBuildArtifactPath(projectFolder: string): string;
56
58
  export declare function computeConfigHash(projectFolder: string, env: string, fs?: IFileSystem): Promise<string>;
59
+ export declare function hashResolvedConfig(resolvedConfig: LoadedConfig, env: string): string;
57
60
  export declare function createBuildArtifact(params: BuildArtifactInput): BuildArtifact;
58
61
  export declare function writeBuildArtifact(projectFolder: string, artifact: BuildArtifact, fs?: IFileSystem): Promise<void>;
59
62
  export declare function readBuildArtifact(projectFolder: string, fs?: IFileSystem): Promise<BuildArtifact>;
@@ -3,9 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.toStableJson = toStableJson;
6
7
  exports.getBuildFolderPath = getBuildFolderPath;
7
8
  exports.getBuildArtifactPath = getBuildArtifactPath;
8
9
  exports.computeConfigHash = computeConfigHash;
10
+ exports.hashResolvedConfig = hashResolvedConfig;
9
11
  exports.createBuildArtifact = createBuildArtifact;
10
12
  exports.writeBuildArtifact = writeBuildArtifact;
11
13
  exports.readBuildArtifact = readBuildArtifact;
@@ -31,6 +33,9 @@ function toStableHashValue(value) {
31
33
  const keys = Object.keys(value).sort((a, b) => a.localeCompare(b));
32
34
  return Object.fromEntries(keys.map((key) => [key, toStableHashValue(value[key])]));
33
35
  }
36
+ function toStableJson(value) {
37
+ return JSON.stringify(toStableHashValue(value));
38
+ }
34
39
  function getBuildFolderPath(projectFolder) {
35
40
  return node_path_1.default.join(node_path_1.default.resolve(projectFolder), BUILD_FOLDER);
36
41
  }
@@ -40,8 +45,10 @@ function getBuildArtifactPath(projectFolder) {
40
45
  async function computeConfigHash(projectFolder, env, fs = new filesystem_1.NodeFileSystem()) {
41
46
  const loader = new config_loader_1.ConfigLoader(fs);
42
47
  const resolvedConfig = await loader.load(projectFolder, env);
43
- const stableConfig = JSON.stringify(toStableHashValue(resolvedConfig));
44
- const hashParts = [stableConfig, env];
48
+ return hashResolvedConfig(resolvedConfig, env);
49
+ }
50
+ function hashResolvedConfig(resolvedConfig, env) {
51
+ const hashParts = [toStableJson(resolvedConfig), env];
45
52
  return node_crypto_1.default
46
53
  .createHash("sha256")
47
54
  .update(hashParts.join(HASH_SEPARATOR))
@@ -1 +1 @@
1
- {"version":3,"file":"build-artifact.js","sourceRoot":"","sources":["../../../src/core/build/build-artifact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-artifact.js","sourceRoot":"","sources":["../../../src/core/build/build-artifact.ts"],"names":[],"mappings":"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"}
@@ -30,8 +30,9 @@ function default_1() {
30
30
  `Skips module download and graph validation by launching from .antelope/build/build.json.`)
31
31
  .addOption(common_1.Options.project)
32
32
  .addOption(common_1.Options.verbose)
33
- .addOption(new commander_1.Option("-e, --env <environment>", "Environment for runtime logging (build config is reused)").env("ANTELOPEJS_LAUNCH_ENV"))
33
+ .addOption(new commander_1.Option("-e, --env <environment>", "Runtime environment (the build configuration is reused unless --refresh-config is set)").env("ANTELOPEJS_LAUNCH_ENV"))
34
34
  .addOption(new commander_1.Option("-c, --concurrency <number>", "Number of modules to load concurrently").argParser(parseInt))
35
+ .addOption(new commander_1.Option("--refresh-config", "Start with antelope.config.ts resolved for the environment instead of the build configuration (exits with code 3 when the module set differs from the build)"))
35
36
  .action(async function (options) {
36
37
  const commandOptions = normalizeOptions(this, options);
37
38
  console.log("");
@@ -49,12 +50,13 @@ function default_1() {
49
50
  env: commandOptions.env ?? __1.DEFAULT_ENV,
50
51
  concurrency: commandOptions.concurrency,
51
52
  verbose: commandOptions.verbose,
53
+ refreshConfig: commandOptions.refreshConfig ?? false,
52
54
  help: false,
53
55
  });
54
56
  }
55
57
  catch (err) {
56
58
  (0, cli_ui_1.error)(err instanceof Error ? err : String(err));
57
- process.exitCode = 1;
59
+ process.exitCode = (0, production_start_1.startFailureExitCode)(err);
58
60
  }
59
61
  });
60
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/project/start.ts"],"names":[],"mappings":";;;;;AAyCA,4BAgDC;AAzFD,kDAA0B;AAC1B,yCAA4C;AAE5C,yCAAuC;AACvC,yCAAuD;AACvD,6DAAwD;AACxD,mCAA8D;AAC9D,+DAImC;AAKnC,MAAM,cAAc,GAAG,UAAU,CAAC;AAElC,SAAS,gBAAgB,CACvB,OAAgB,EAChB,OAA4B;IAE5B,OAAO;QACL,GAAG,OAAO;QACV,OAAO,EAAE,IAAA,yCAAuB,EAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAA4B;IAE5B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,cAAc,CAAC;IACtE,MAAM,IAAA,mBAAU,EACd,gBAAgB,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,eAAW,CAAC,IAAI;QACxD,YAAY,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;QAC3C,gBAAgB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAC5F,uBAAuB,EACvB,EAAE,OAAO,EAAE,CAAC,EAAE,CACf,CAAC;AACJ,CAAC;AAED;IACE,OAAO,IAAI,mBAAO,CAAC,OAAO,CAAC;SACxB,WAAW,CACV,sDAAsD;QACpD,0FAA0F,CAC7F;SACA,SAAS,CAAC,gBAAO,CAAC,OAAO,CAAC;SAC1B,SAAS,CAAC,gBAAO,CAAC,OAAO,CAAC;SAC1B,SAAS,CACR,IAAI,kBAAM,CACR,yBAAyB,EACzB,0DAA0D,CAC3D,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAC/B;SACA,SAAS,CACR,IAAI,kBAAM,CACR,4BAA4B,EAC5B,wCAAwC,CACzC,CAAC,SAAS,CAAC,QAAQ,CAAC,CACtB;SACA,MAAM,CAAC,KAAK,WAA0B,OAA4B;QACjE,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,UAAU,GAAG,MAAM,IAAA,uCAAqB,EAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,IAAA,aAAI,EAAC,iDAAiD,CAAC,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,IAAA,iCAAc,EAAC;gBACnB,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,GAAG,EAAE,cAAc,CAAC,GAAG,IAAI,eAAW;gBACtC,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,cAAK,EAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/project/start.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export declare const SUCCESS_EXIT_CODE = 0;
2
2
  export declare const FAILURE_EXIT_CODE = 1;
3
+ export declare const BUILD_MODULE_SET_CHANGED_EXIT_CODE = 3;
3
4
  export declare const SIGNAL_EXIT_CODE_OFFSET = 128;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SIGNAL_EXIT_CODE_OFFSET = exports.FAILURE_EXIT_CODE = exports.SUCCESS_EXIT_CODE = void 0;
3
+ exports.SIGNAL_EXIT_CODE_OFFSET = exports.BUILD_MODULE_SET_CHANGED_EXIT_CODE = exports.FAILURE_EXIT_CODE = exports.SUCCESS_EXIT_CODE = void 0;
4
4
  exports.SUCCESS_EXIT_CODE = 0;
5
5
  exports.FAILURE_EXIT_CODE = 1;
6
+ exports.BUILD_MODULE_SET_CHANGED_EXIT_CODE = 3;
6
7
  exports.SIGNAL_EXIT_CODE_OFFSET = 128;
7
8
  //# sourceMappingURL=exit-codes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../../../src/core/cli/exit-codes.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,CAAC,CAAC;AACtB,QAAA,iBAAiB,GAAG,CAAC,CAAC;AACtB,QAAA,uBAAuB,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../../../src/core/cli/exit-codes.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,CAAC,CAAC;AACtB,QAAA,iBAAiB,GAAG,CAAC,CAAC;AAMtB,QAAA,kCAAkC,GAAG,CAAC,CAAC;AACvC,QAAA,uBAAuB,GAAG,GAAG,CAAC"}
@@ -3,8 +3,10 @@ export interface ProductionStartOptions {
3
3
  env: string;
4
4
  help: boolean;
5
5
  project: string;
6
+ refreshConfig: boolean;
6
7
  verbose?: string[];
7
8
  }
8
9
  export declare function parseProductionStartArgs(args: string[]): ProductionStartOptions;
9
10
  export declare function startFromBuild(options: ProductionStartOptions): Promise<void>;
11
+ export declare function startFailureExitCode(error: unknown): number;
10
12
  export declare function runProductionStart(args: string[]): Promise<void>;
@@ -5,11 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.parseProductionStartArgs = parseProductionStartArgs;
7
7
  exports.startFromBuild = startFromBuild;
8
+ exports.startFailureExitCode = startFailureExitCode;
8
9
  exports.runProductionStart = runProductionStart;
9
10
  const node_path_1 = __importDefault(require("node:path"));
10
11
  const node_util_1 = require("node:util");
11
12
  const config_paths_1 = require("../config/config-paths");
12
13
  const project_launch_1 = require("../runtime/project-launch");
14
+ const build_refresh_1 = require("../runtime/build-refresh");
15
+ const exit_codes_1 = require("./exit-codes");
13
16
  const HELP = `Usage: ajs project start [options]
14
17
 
15
18
  Start an AntelopeJS project from .antelope/build/build.json without loading
@@ -19,6 +22,10 @@ Options:
19
22
  -p, --project <path> Path to the AntelopeJS project
20
23
  -e, --env <environment> Runtime environment (default: default)
21
24
  -c, --concurrency <count> Number of modules to load concurrently
25
+ --refresh-config Start with antelope.config.ts resolved for the
26
+ environment instead of the configuration stored
27
+ in the build; exits with code 3 when it loads
28
+ other modules than the build
22
29
  --verbose [channels] TRACE logging, optionally scoped by comma-separated channels
23
30
  -h, --help Display help
24
31
  `;
@@ -59,6 +66,7 @@ function parseProductionStartArgs(args) {
59
66
  env: { type: "string", short: "e" },
60
67
  concurrency: { type: "string", short: "c" },
61
68
  verbose: { type: "string" },
69
+ "refresh-config": { type: "boolean" },
62
70
  help: { type: "boolean", short: "h" },
63
71
  },
64
72
  });
@@ -67,6 +75,7 @@ function parseProductionStartArgs(args) {
67
75
  env: values.env ?? process.env.ANTELOPEJS_LAUNCH_ENV ?? config_paths_1.DEFAULT_ENV,
68
76
  concurrency: parseConcurrency(values.concurrency),
69
77
  verbose: parseVerbose(values.verbose ?? process.env.ANTELOPEJS_VERBOSE),
78
+ refreshConfig: values["refresh-config"] ?? false,
70
79
  help: values.help ?? false,
71
80
  };
72
81
  }
@@ -74,14 +83,30 @@ async function startFromBuild(options) {
74
83
  await (0, project_launch_1.launchFromBuild)(options.project, options.env, {
75
84
  concurrency: options.concurrency,
76
85
  verbose: options.verbose,
86
+ refreshConfig: options.refreshConfig,
77
87
  });
78
88
  }
89
+ function startFailureExitCode(error) {
90
+ return (0, build_refresh_1.findBuildModuleSetChange)(error)
91
+ ? exit_codes_1.BUILD_MODULE_SET_CHANGED_EXIT_CODE
92
+ : exit_codes_1.FAILURE_EXIT_CODE;
93
+ }
79
94
  async function runProductionStart(args) {
80
95
  const options = parseProductionStartArgs(args);
81
96
  if (options.help) {
82
97
  process.stdout.write(HELP);
83
98
  return;
84
99
  }
85
- await startFromBuild(options);
100
+ try {
101
+ await startFromBuild(options);
102
+ }
103
+ catch (error) {
104
+ const moduleSetChange = (0, build_refresh_1.findBuildModuleSetChange)(error);
105
+ if (!moduleSetChange) {
106
+ throw error;
107
+ }
108
+ process.stderr.write(`${moduleSetChange.message}\n`);
109
+ process.exitCode = exit_codes_1.BUILD_MODULE_SET_CHANGED_EXIT_CODE;
110
+ }
86
111
  }
87
112
  //# sourceMappingURL=production-start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"production-start.js","sourceRoot":"","sources":["../../../src/core/cli/production-start.ts"],"names":[],"mappings":";;;;;AA2DA,4DAsBC;AAED,wCAOC;AAED,gDAOC;AAnGD,0DAA6B;AAC7B,yCAAsC;AAEtC,yDAAqD;AACrD,8DAA4D;AAU5D,MAAM,IAAI,GAAG;;;;;;;;;;;CAWZ,CAAC;AAEF,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAc;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IACrC,MAAM,eAAe,GAAG,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,OAAO;QACL,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;QAC9B,aAAa,eAAe,IAAI,GAAG,EAAE;QACrC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CACtC,IAAc;IAEd,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,qBAAS,EAAC;QAC3B,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC;QACpC,OAAO,EAAE;YACP,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACvC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACnC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;SACtC;KACF,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,mBAAI,CAAC,OAAO,CACnB,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,EAAE,CAClE;QACD,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,0BAAW;QACnE,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC;QACjD,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACvE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,KAAK;KAC3B,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,OAA+B;IAE/B,MAAM,IAAA,gCAAe,EAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;QAClD,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,IAAc;IACrD,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"production-start.js","sourceRoot":"","sources":["../../../src/core/cli/production-start.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,8 @@ export declare class ModuleManager {
52
52
  getLoadedModules(): IterableIterator<ManagedModule>;
53
53
  getAllManagedModules(): ManagedModule[];
54
54
  unrequireModuleFiles(moduleId: string, shouldPreserveInterfaceGraph?: boolean): void;
55
+ private evictModuleFiles;
56
+ private collectAvoidedFolders;
55
57
  private belongsToInterfacePackageTree;
56
58
  replaceLoadedModule(id: string, module: Module): ManagedModule | undefined;
57
59
  refreshAssociations(): void;
@@ -98,6 +100,5 @@ export declare class ModuleManager {
98
100
  private addInterfaceSource;
99
101
  private validateImportOverrides;
100
102
  private configureModuleContexts;
101
- private isPathWithin;
102
103
  }
103
104
  export {};
@@ -49,8 +49,8 @@ const resolver_detour_1 = require("./resolution/resolver-detour");
49
49
  const module_manifest_1 = require("./module-manifest");
50
50
  const config_var_graph_1 = require("./config/config-var-graph");
51
51
  const interface_registry_1 = require("./interface-registry");
52
- const package_resolution_1 = require("./resolution/package-resolution");
53
52
  const stub_interface_runtime_1 = require("./resolution/stub-interface-runtime");
53
+ const package_resolution_1 = require("./resolution/package-resolution");
54
54
  const Logger = new logging_1.Logging.Channel("loader");
55
55
  function compareModuleIds(left, right) {
56
56
  return left.localeCompare(right);
@@ -128,49 +128,49 @@ class ModuleManager {
128
128
  return [...this.staticModules, ...this.loaded.values()];
129
129
  }
130
130
  unrequireModuleFiles(moduleId, shouldPreserveInterfaceGraph = true) {
131
+ (0, package_resolution_1.clearPathResolutionCache)();
132
+ this.evictModuleFiles(moduleId, shouldPreserveInterfaceGraph);
133
+ }
134
+ evictModuleFiles(moduleId, shouldPreserveInterfaceGraph) {
131
135
  const entry = this.loaded.get(moduleId);
132
136
  if (!entry) {
133
137
  return;
134
138
  }
135
139
  const moduleFolder = path.resolve(entry.module.manifest.folder);
136
140
  const moduleEntryFile = (0, module_manifest_1.resolveManifestEntryFile)(entry.module.manifest);
137
- const avoidedFolders = new Set();
138
- avoidedFolders.add(path.join(moduleFolder, "node_modules"));
139
- for (const [id, other] of this.loaded) {
140
- if (id === moduleId) {
141
- continue;
142
- }
143
- if (this.isPathWithin(other.module.manifest.folder, moduleFolder)) {
144
- avoidedFolders.add(path.resolve(other.module.manifest.folder));
145
- }
146
- }
141
+ const isInModule = (0, package_resolution_1.createPathWithinMatcher)(moduleFolder);
142
+ const avoidedMatchers = this.collectAvoidedFolders(moduleId, moduleFolder, isInModule).map((folder) => (0, package_resolution_1.createPathWithinMatcher)(folder));
147
143
  for (const filePath of Object.keys(require.cache)) {
148
- if (!this.isPathWithin(filePath, moduleFolder)) {
144
+ if (!isInModule(filePath)) {
149
145
  continue;
150
146
  }
151
147
  if (shouldPreserveInterfaceGraph &&
152
148
  filePath !== moduleEntryFile &&
153
- this.belongsToInterfacePackageTree(filePath, moduleFolder)) {
149
+ this.belongsToInterfacePackageTree(filePath, isInModule)) {
154
150
  continue;
155
151
  }
156
- let shouldDelete = true;
157
- for (const avoided of avoidedFolders) {
158
- if (this.isPathWithin(filePath, avoided)) {
159
- shouldDelete = false;
160
- break;
161
- }
162
- }
163
- if (shouldDelete) {
152
+ if (!avoidedMatchers.some((isAvoided) => isAvoided(filePath))) {
164
153
  delete require.cache[filePath];
165
154
  }
166
155
  }
167
156
  }
168
- belongsToInterfacePackageTree(filePath, moduleFolder) {
157
+ collectAvoidedFolders(moduleId, moduleFolder, isInModule) {
158
+ const avoidedFolders = new Set([
159
+ path.join(moduleFolder, "node_modules"),
160
+ ]);
161
+ for (const [id, other] of this.loaded) {
162
+ if (id !== moduleId && isInModule(other.module.manifest.folder)) {
163
+ avoidedFolders.add(path.resolve(other.module.manifest.folder));
164
+ }
165
+ }
166
+ return [...avoidedFolders];
167
+ }
168
+ belongsToInterfacePackageTree(filePath, isInModule) {
169
169
  const root = this.resolver.getInterfaceGraphRoot(filePath);
170
170
  if (!root) {
171
171
  return false;
172
172
  }
173
- return this.isPathWithin(path.resolve(root), moduleFolder);
173
+ return isInModule(path.resolve(root));
174
174
  }
175
175
  replaceLoadedModule(id, module) {
176
176
  const entry = this.loaded.get(id);
@@ -330,8 +330,9 @@ class ModuleManager {
330
330
  const modules = this.getReverseLifecycleModules();
331
331
  const results = await runTrackedModuleOperations(modules, (module) => module.destroy());
332
332
  this.pendingCleanup = results.failed.filter(({ module }) => module.state !== types_1.ModuleState.Loaded);
333
+ (0, package_resolution_1.clearPathResolutionCache)();
333
334
  for (const id of this.loaded.keys()) {
334
- this.unrequireModuleFiles(id, false);
335
+ this.evictModuleFiles(id, false);
335
336
  }
336
337
  const errors = [...results.errors, ...this.clearManagedState()];
337
338
  if (errors.length > 0) {
@@ -530,6 +531,7 @@ class ModuleManager {
530
531
  this.startupOrder.push(moduleId);
531
532
  }
532
533
  rebuildAssociations() {
534
+ (0, package_resolution_1.clearPathResolutionCache)();
533
535
  const interfaceSources = this.collectInterfaceSources();
534
536
  this.buildModuleAssociations(interfaceSources);
535
537
  }
@@ -678,8 +680,10 @@ class ModuleManager {
678
680
  const copies = plan.consumers
679
681
  .map((consumer) => consumer.resolvedPackage)
680
682
  .filter((resolvedPackage) => Boolean(resolvedPackage && resolvedPackage.realRoot !== canonicalRoot));
683
+ const loadedFiles = Object.keys(require.cache);
681
684
  return copies.flatMap((copy) => {
682
- const loadedFile = Object.keys(require.cache).find((filePath) => (0, package_resolution_1.isPathWithin)(filePath, copy.root));
685
+ const isInCopy = (0, package_resolution_1.createPathWithinMatcher)(copy.root);
686
+ const loadedFile = loadedFiles.find((filePath) => isInCopy(filePath));
683
687
  return loadedFile
684
688
  ? [
685
689
  ` - ${packageName}@${copy.version} was loaded from ${copy.root} before the canonical copy at ${plan.canonicalPackage.root}; preloaded interface copies cannot be redirected (${loadedFile})`,
@@ -755,9 +759,6 @@ class ModuleManager {
755
759
  module.setProviderRoutes(this.resolver.buildProviderRoutes(module.id), isProvider);
756
760
  }
757
761
  }
758
- isPathWithin(filePath, dirPath) {
759
- return (0, package_resolution_1.isPathWithin)(filePath, dirPath);
760
- }
761
762
  }
762
763
  exports.ModuleManager = ModuleManager;
763
764
  function collectRejectedErrors(results) {
@@ -1 +1 @@
1
- {"version":3,"file":"module-manager.js","sourceRoot":"","sources":["../../src/core/module-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-manager.js","sourceRoot":"","sources":["../../src/core/module-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare class ObservableMap<K, V> extends Map<K, V> {
2
+ private readonly onChange;
3
+ constructor(onChange: () => void);
4
+ set(key: K, value: V): this;
5
+ delete(key: K): boolean;
6
+ clear(): void;
7
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObservableMap = void 0;
4
+ class ObservableMap extends Map {
5
+ onChange;
6
+ constructor(onChange) {
7
+ super();
8
+ this.onChange = onChange;
9
+ }
10
+ set(key, value) {
11
+ super.set(key, value);
12
+ this.onChange();
13
+ return this;
14
+ }
15
+ delete(key) {
16
+ const isDeleted = super.delete(key);
17
+ if (isDeleted) {
18
+ this.onChange();
19
+ }
20
+ return isDeleted;
21
+ }
22
+ clear() {
23
+ super.clear();
24
+ this.onChange();
25
+ }
26
+ }
27
+ exports.ObservableMap = ObservableMap;
28
+ //# sourceMappingURL=observable-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observable-map.js","sourceRoot":"","sources":["../../../src/core/resolution/observable-map.ts"],"names":[],"mappings":";;;AAIA,MAAa,aAAoB,SAAQ,GAAS;IACnB;IAA7B,YAA6B,QAAoB;QAC/C,KAAK,EAAE,CAAC;QADmB,aAAQ,GAAR,QAAQ,CAAY;IAEjD,CAAC;IAEQ,GAAG,CAAC,GAAM,EAAE,KAAQ;QAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,MAAM,CAAC,GAAM;QACpB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEQ,KAAK;QACZ,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;CACF;AAvBD,sCAuBC"}
@@ -7,6 +7,12 @@ export interface ResolvedPackage {
7
7
  resolveFrom: string;
8
8
  antelopeJs?: Record<string, unknown>;
9
9
  }
10
+ export type PathMatcher = (filePath: string) => boolean;
11
+ export declare function clearPathResolutionCache(): void;
12
+ export declare function getPathResolutionCacheGeneration(): number;
13
+ export declare function getPathVariants(filePath: string): string[];
14
+ export declare function areVariantsWithin(fileVariants: readonly string[], folderVariants: readonly string[]): boolean;
15
+ export declare function createPathWithinMatcher(folderPath: string): PathMatcher;
10
16
  export declare function isPathWithin(filePath: string, folderPath: string): boolean;
11
17
  export declare function findPackageFromEntry(entry: string, packageName: string, resolveFrom: string): ResolvedPackage | undefined;
12
18
  export declare function resolvePackage(packageName: string, fromFolder: string): ResolvedPackage | undefined;