@antelopejs/core 1.14.0 → 1.15.1

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 (34) hide show
  1. package/dist/core/build/build-artifact.d.ts +1 -0
  2. package/dist/core/build/build-artifact.js.map +1 -1
  3. package/dist/core/config/config-editor.d.ts +8 -0
  4. package/dist/core/config/config-editor.js +227 -0
  5. package/dist/core/config/config-editor.js.map +1 -0
  6. package/dist/core/config/config-loader.d.ts +1 -1
  7. package/dist/core/config/config-loader.js +4 -3
  8. package/dist/core/config/config-loader.js.map +1 -1
  9. package/dist/core/config/config-parser.d.ts +1 -0
  10. package/dist/core/config/config-parser.js +8 -1
  11. package/dist/core/config/config-parser.js.map +1 -1
  12. package/dist/core/config/config-writes.d.ts +2 -0
  13. package/dist/core/config/config-writes.js +24 -0
  14. package/dist/core/config/config-writes.js.map +1 -0
  15. package/dist/core/config/module-declarations.d.ts +4 -0
  16. package/dist/core/config/module-declarations.js +99 -0
  17. package/dist/core/config/module-declarations.js.map +1 -0
  18. package/dist/core/config/module-entry.d.ts +12 -0
  19. package/dist/core/config/module-entry.js +3 -0
  20. package/dist/core/config/module-entry.js.map +1 -0
  21. package/dist/core/module-manager.d.ts +2 -0
  22. package/dist/core/module-manager.js +8 -0
  23. package/dist/core/module-manager.js.map +1 -1
  24. package/dist/core/runtime/build-runtime.d.ts +1 -1
  25. package/dist/core/runtime/build-runtime.js +2 -0
  26. package/dist/core/runtime/build-runtime.js.map +1 -1
  27. package/dist/core/runtime/launch-sequence.js +24 -5
  28. package/dist/core/runtime/launch-sequence.js.map +1 -1
  29. package/dist/core/runtime/module-loading.d.ts +2 -1
  30. package/dist/core/runtime/module-loading.js +75 -22
  31. package/dist/core/runtime/module-loading.js.map +1 -1
  32. package/dist/core/runtime/project-launch.js +13 -2
  33. package/dist/core/runtime/project-launch.js.map +1 -1
  34. package/package.json +3 -3
@@ -37,6 +37,7 @@ export interface BuildModuleEntry {
37
37
  importOverrides?: BuildImportOverride[];
38
38
  disabledExports?: string[];
39
39
  exportPriority?: Record<string, number>;
40
+ optional?: boolean;
40
41
  }
41
42
  export interface BuildArtifact {
42
43
  version: string;
@@ -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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"}
@@ -0,0 +1,8 @@
1
+ import type * as TypeScript from "typescript";
2
+ type TS = typeof TypeScript;
3
+ export type ModuleEntryChanges = Record<string, unknown>;
4
+ export declare class ConfigEditError extends Error {
5
+ }
6
+ export declare function setModuleEntry(ts: TS, fileName: string, source: string, key: string, changes: ModuleEntryChanges): string;
7
+ export declare function removeModuleEntry(ts: TS, fileName: string, source: string, key: string): string;
8
+ export {};
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigEditError = void 0;
4
+ exports.setModuleEntry = setModuleEntry;
5
+ exports.removeModuleEntry = removeModuleEntry;
6
+ const MODULES_KEY = "modules";
7
+ const DEFINE_CONFIG = "defineConfig";
8
+ const PACKAGE_SOURCE = "package";
9
+ const SAFE_KEY = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/;
10
+ const NEWLINE = "\n";
11
+ const FIRST_INDENT = /\n([\t ]+)\S/;
12
+ const TAB = "\t";
13
+ const LEADING_SPACE = /^[ \t]*/;
14
+ const DEFAULT_UNIT = " ";
15
+ class ConfigEditError extends Error {
16
+ }
17
+ exports.ConfigEditError = ConfigEditError;
18
+ function parse(context, source) {
19
+ const { ts } = context;
20
+ return ts.createSourceFile(context.fileName, source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
21
+ }
22
+ function rootObject(context, file) {
23
+ const { ts } = context;
24
+ const assignment = file.statements.find((statement) => ts.isExportAssignment(statement) && !statement.isExportEquals);
25
+ let expression = assignment?.expression;
26
+ if (expression &&
27
+ ts.isCallExpression(expression) &&
28
+ ts.isIdentifier(expression.expression) &&
29
+ expression.expression.text === DEFINE_CONFIG) {
30
+ expression = expression.arguments[0];
31
+ }
32
+ if (!expression || !ts.isObjectLiteralExpression(expression)) {
33
+ throw new ConfigEditError("The configuration's default export is not an object literal it can edit");
34
+ }
35
+ return expression;
36
+ }
37
+ function propertyName(context, property) {
38
+ const { ts } = context;
39
+ if (!ts.isPropertyAssignment(property))
40
+ return undefined;
41
+ const { name } = property;
42
+ if (ts.isIdentifier(name) || ts.isStringLiteralLike(name))
43
+ return name.text;
44
+ return undefined;
45
+ }
46
+ function findProperty(context, object, name) {
47
+ return object.properties.find((property) => propertyName(context, property) === name);
48
+ }
49
+ function lineIndent(source, position) {
50
+ const lineStart = source.lastIndexOf(NEWLINE, position - 1) + 1;
51
+ return source.slice(lineStart).match(LEADING_SPACE)?.[0] ?? "";
52
+ }
53
+ function serializeValue(value, unit, indent) {
54
+ return serializeAt(value, unit, 0).split(NEWLINE).join(`${NEWLINE}${indent}`);
55
+ }
56
+ function serializeAt(value, unit, depth) {
57
+ if (value === null || typeof value !== "object") {
58
+ return JSON.stringify(value) ?? "undefined";
59
+ }
60
+ const inner = unit.repeat(depth + 1);
61
+ const outer = unit.repeat(depth);
62
+ if (Array.isArray(value)) {
63
+ if (value.length === 0)
64
+ return "[]";
65
+ const items = value.map((item) => serializeAt(item, unit, depth + 1));
66
+ return `[\n${items.map((item) => `${inner}${item}`).join(",\n")},\n${outer}]`;
67
+ }
68
+ const entries = Object.entries(value).filter(([, v]) => v !== undefined);
69
+ if (entries.length === 0)
70
+ return "{}";
71
+ const lines = entries.map(([key, v]) => `${inner}${formatKey(key)}: ${serializeAt(v, unit, depth + 1)}`);
72
+ return `{\n${lines.join(",\n")},\n${outer}}`;
73
+ }
74
+ function formatKey(key) {
75
+ return SAFE_KEY.test(key) ? key : JSON.stringify(key);
76
+ }
77
+ function closingBrace(object) {
78
+ return object.end - 1;
79
+ }
80
+ function insertProperty(context, source, object, key, value) {
81
+ const close = closingBrace(object);
82
+ const closeIndent = lineIndent(source, close);
83
+ const last = object.properties.at(-1);
84
+ const indent = last
85
+ ? lineIndent(source, last.getStart())
86
+ : `${closeIndent}${context.unit}`;
87
+ const property = `${indent}${formatKey(key)}: ${serializeValue(value, context.unit, indent)},`;
88
+ if (!last) {
89
+ const text = `{\n${property}\n${closeIndent}}`;
90
+ return { start: object.getStart(), end: object.end, text };
91
+ }
92
+ const between = source.slice(last.end, close);
93
+ const hasComma = between.trimStart().startsWith(",");
94
+ const anchor = hasComma ? last.end + between.indexOf(",") + 1 : last.end;
95
+ const text = `${hasComma ? "" : ","}\n${property}`;
96
+ return { start: anchor, end: anchor, text };
97
+ }
98
+ function replaceValue(context, source, property, value) {
99
+ const indent = lineIndent(source, property.getStart());
100
+ return {
101
+ start: property.initializer.getStart(),
102
+ end: property.initializer.end,
103
+ text: serializeValue(value, context.unit, indent),
104
+ };
105
+ }
106
+ function removeProperty(source, property) {
107
+ const lineStart = source.lastIndexOf(NEWLINE, property.getStart() - 1) + 1;
108
+ const before = source.slice(lineStart, property.getStart());
109
+ const start = before.trim() === "" ? lineStart : property.getStart();
110
+ let end = property.end;
111
+ const rest = source.slice(end);
112
+ const comma = rest.match(/^\s*,/);
113
+ if (comma)
114
+ end += comma[0].length;
115
+ const newline = source.slice(end).match(/^[ \t]*\n/);
116
+ if (newline && start === lineStart)
117
+ end += newline[0].length;
118
+ return { start, end, text: "" };
119
+ }
120
+ function applyEdit(source, edit) {
121
+ return `${source.slice(0, edit.start)}${edit.text}${source.slice(edit.end)}`;
122
+ }
123
+ function detectUnit(source) {
124
+ const match = source.match(FIRST_INDENT);
125
+ if (!match)
126
+ return DEFAULT_UNIT;
127
+ return match[1].startsWith(TAB) ? TAB : match[1];
128
+ }
129
+ function modulesObject(context, file) {
130
+ const property = findProperty(context, rootObject(context, file), MODULES_KEY);
131
+ if (!property)
132
+ return undefined;
133
+ if (!context.ts.isObjectLiteralExpression(property.initializer)) {
134
+ throw new ConfigEditError("The configuration's `modules` is not an object literal it can edit");
135
+ }
136
+ return property.initializer;
137
+ }
138
+ function assertParses(context, source) {
139
+ const file = parse(context, source);
140
+ if ((file.parseDiagnostics ?? []).length > 0) {
141
+ throw new ConfigEditError("The edited configuration would not parse");
142
+ }
143
+ }
144
+ function createContext(ts, fileName, source) {
145
+ return { ts, fileName, unit: detectUnit(source) };
146
+ }
147
+ function entryObject(context, source, key) {
148
+ const modules = modulesObject(context, parse(context, source));
149
+ const entry = modules && findProperty(context, modules, key);
150
+ if (!entry || !context.ts.isObjectLiteralExpression(entry.initializer)) {
151
+ throw new ConfigEditError(`Module '${key}' has no entry it can edit`);
152
+ }
153
+ return entry.initializer;
154
+ }
155
+ function setEntryField(context, source, key, field, value) {
156
+ const object = entryObject(context, source, key);
157
+ const property = findProperty(context, object, field);
158
+ if (value === undefined || value === null) {
159
+ return property
160
+ ? applyEdit(source, removeProperty(source, property))
161
+ : source;
162
+ }
163
+ const edit = property
164
+ ? replaceValue(context, source, property, value)
165
+ : insertProperty(context, source, object, field, value);
166
+ return applyEdit(source, edit);
167
+ }
168
+ function expandShorthand(context, source, entry, key) {
169
+ const { ts } = context;
170
+ if (!ts.isStringLiteralLike(entry.initializer))
171
+ return source;
172
+ const expanded = {
173
+ source: {
174
+ type: PACKAGE_SOURCE,
175
+ package: key,
176
+ version: entry.initializer.text,
177
+ },
178
+ };
179
+ return applyEdit(source, replaceValue(context, source, entry, expanded));
180
+ }
181
+ function definedFields(changes) {
182
+ return Object.fromEntries(Object.entries(changes).filter(([, value]) => value !== undefined && value !== null));
183
+ }
184
+ function addEntry(context, source, key, changes) {
185
+ const file = parse(context, source);
186
+ const modules = modulesObject(context, file);
187
+ const fields = definedFields(changes);
188
+ const edit = modules
189
+ ? insertProperty(context, source, modules, key, fields)
190
+ : insertProperty(context, source, rootObject(context, file), MODULES_KEY, {
191
+ [key]: fields,
192
+ });
193
+ return applyEdit(source, edit);
194
+ }
195
+ function ensureEntry(context, source, key, changes) {
196
+ const modules = modulesObject(context, parse(context, source));
197
+ const entry = modules && findProperty(context, modules, key);
198
+ if (!entry) {
199
+ return { source: addEntry(context, source, key, changes), isNew: true };
200
+ }
201
+ const { ts } = context;
202
+ if (!ts.isObjectLiteralExpression(entry.initializer) &&
203
+ !ts.isStringLiteralLike(entry.initializer)) {
204
+ throw new ConfigEditError(`Module '${key}' is not declared by an object it can edit`);
205
+ }
206
+ return { source: expandShorthand(context, source, entry, key), isNew: false };
207
+ }
208
+ function setModuleEntry(ts, fileName, source, key, changes) {
209
+ const context = createContext(ts, fileName, source);
210
+ const ensured = ensureEntry(context, source, key, changes);
211
+ const result = ensured.isNew
212
+ ? ensured.source
213
+ : Object.entries(changes).reduce((current, [field, value]) => setEntryField(context, current, key, field, value), ensured.source);
214
+ assertParses(context, result);
215
+ return result;
216
+ }
217
+ function removeModuleEntry(ts, fileName, source, key) {
218
+ const context = createContext(ts, fileName, source);
219
+ const modules = modulesObject(context, parse(context, source));
220
+ const entry = modules && findProperty(context, modules, key);
221
+ if (!entry)
222
+ return source;
223
+ const result = applyEdit(source, removeProperty(source, entry));
224
+ assertParses(context, result);
225
+ return result;
226
+ }
227
+ //# sourceMappingURL=config-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-editor.js","sourceRoot":"","sources":["../../../src/core/config/config-editor.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export interface LoadedConfig {
9
9
  envOverrides: Record<string, string | string[]>;
10
10
  test?: AntelopeTestConfig;
11
11
  }
12
- export declare function loadTsConfigFile(configPath: string, environment?: string): Promise<AntelopeConfig>;
12
+ export declare function loadTsConfigFile(configPath: string, environment?: string, fresh?: boolean): Promise<AntelopeConfig>;
13
13
  export declare class ConfigLoader {
14
14
  private fs;
15
15
  private parser;
@@ -42,15 +42,16 @@ const config_parser_1 = require("./config-parser");
42
42
  const config_paths_1 = require("./config-paths");
43
43
  const CORE_CONFIG_PACKAGE = "@antelopejs/interface-core/config";
44
44
  const CORE_CONFIG_ENTRY = require.resolve(CORE_CONFIG_PACKAGE);
45
- async function importConfigInput(configPath) {
45
+ async function importConfigInput(configPath, fresh = false) {
46
46
  const jiti = (0, jiti_1.createJiti)(configPath, {
47
47
  alias: { [CORE_CONFIG_PACKAGE]: CORE_CONFIG_ENTRY },
48
+ ...(fresh ? { moduleCache: false, fsCache: false } : {}),
48
49
  });
49
50
  const loaded = await jiti.import(configPath);
50
51
  return loaded.default ?? loaded;
51
52
  }
52
- async function loadTsConfigFile(configPath, environment) {
53
- const configInput = await importConfigInput(configPath);
53
+ async function loadTsConfigFile(configPath, environment, fresh = false) {
54
+ const configInput = await importConfigInput(configPath, fresh);
54
55
  if (typeof configInput === "function") {
55
56
  return await configInput({ env: environment ?? config_paths_1.DEFAULT_ENV });
56
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/core/config/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/core/config/config-loader.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface ExpandedModuleConfig {
5
5
  importOverrides: ImportOverride[];
6
6
  disabledExports: string[];
7
7
  exportPriority?: Record<string, number>;
8
+ optional?: boolean;
8
9
  }
9
10
  export declare class ConfigParser {
10
11
  processTemplates<T extends Record<string, any>>(config: T): T;
@@ -100,7 +100,11 @@ class ConfigParser {
100
100
  }
101
101
  expandModuleShorthand(modules) {
102
102
  const result = {};
103
- for (const [name, config] of Object.entries(modules)) {
103
+ for (const [name, entry] of Object.entries(modules)) {
104
+ const config = entry;
105
+ if (typeof config === "object" && config.disabled) {
106
+ continue;
107
+ }
104
108
  if (typeof config === "string") {
105
109
  result[name] = {
106
110
  source: {
@@ -140,6 +144,9 @@ class ConfigParser {
140
144
  importOverrides,
141
145
  disabledExports: config.disabledExports ?? [],
142
146
  };
147
+ if (config.optional) {
148
+ result[name].optional = true;
149
+ }
143
150
  if (config.exportPriority) {
144
151
  result[name].exportPriority = readExportPriority(name, config.exportPriority);
145
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../../src/core/config/config-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../../src/core/config/config-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function recordOwnConfigWrite(filePath: string, content: string): void;
2
+ export declare function consumeOwnConfigWrite(filePath: string, content: string): boolean;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.recordOwnConfigWrite = recordOwnConfigWrite;
7
+ exports.consumeOwnConfigWrite = consumeOwnConfigWrite;
8
+ const node_crypto_1 = require("node:crypto");
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const HASH_ALGORITHM = "sha256";
11
+ const ownWrites = new Map();
12
+ function digest(content) {
13
+ return (0, node_crypto_1.createHash)(HASH_ALGORITHM).update(content).digest("hex");
14
+ }
15
+ function recordOwnConfigWrite(filePath, content) {
16
+ ownWrites.set(node_path_1.default.resolve(filePath), digest(content));
17
+ }
18
+ function consumeOwnConfigWrite(filePath, content) {
19
+ const resolved = node_path_1.default.resolve(filePath);
20
+ const recorded = ownWrites.get(resolved);
21
+ ownWrites.delete(resolved);
22
+ return recorded === digest(content);
23
+ }
24
+ //# sourceMappingURL=config-writes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-writes.js","sourceRoot":"","sources":["../../../src/core/config/config-writes.ts"],"names":[],"mappings":";;;;;AAgBA,oDAEC;AAMD,sDAQC;AAhCD,6CAAyC;AACzC,0DAA6B;AAE7B,MAAM,cAAc,GAAG,QAAQ,CAAC;AAGhC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE5C,SAAS,MAAM,CAAC,OAAe;IAC7B,OAAO,IAAA,wBAAU,EAAC,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAMD,SAAgB,oBAAoB,CAAC,QAAgB,EAAE,OAAe;IACpE,SAAS,CAAC,GAAG,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACzD,CAAC;AAMD,SAAgB,qBAAqB,CACnC,QAAgB,EAChB,OAAe;IAEf,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3B,OAAO,QAAQ,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ModuleDeclaration, ModuleDeclarationChanges } from "./module-entry";
2
+ export declare function listModuleDeclarations(projectFolder: string): Promise<Record<string, ModuleDeclaration>>;
3
+ export declare function saveModuleDeclaration(projectFolder: string, key: string, changes: ModuleDeclarationChanges): Promise<void>;
4
+ export declare function removeModuleDeclaration(projectFolder: string, key: string): Promise<void>;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.listModuleDeclarations = listModuleDeclarations;
37
+ exports.saveModuleDeclaration = saveModuleDeclaration;
38
+ exports.removeModuleDeclaration = removeModuleDeclaration;
39
+ const promises_1 = require("node:fs/promises");
40
+ const filesystem_1 = require("../filesystem");
41
+ const config_writes_1 = require("./config-writes");
42
+ const config_loader_1 = require("./config-loader");
43
+ const config_paths_1 = require("./config-paths");
44
+ const config_editor_1 = require("./config-editor");
45
+ const FILE_ENCODING = "utf-8";
46
+ const PACKAGE_SOURCE = "package";
47
+ let pendingWrite = Promise.resolve();
48
+ function toDeclaration(key, entry) {
49
+ if (typeof entry === "string") {
50
+ const source = {
51
+ type: PACKAGE_SOURCE,
52
+ package: key,
53
+ version: entry,
54
+ };
55
+ return { source };
56
+ }
57
+ const versionSource = entry.version
58
+ ? { type: PACKAGE_SOURCE, package: key, version: entry.version }
59
+ : undefined;
60
+ return {
61
+ source: entry.source ?? versionSource,
62
+ config: entry.config,
63
+ disabled: entry.disabled,
64
+ optional: entry.optional,
65
+ };
66
+ }
67
+ async function listModuleDeclarations(projectFolder) {
68
+ const configPath = await (0, config_paths_1.findConfigPath)(projectFolder, new filesystem_1.NodeFileSystem());
69
+ const config = await (0, config_loader_1.loadTsConfigFile)(configPath, undefined, true);
70
+ return Object.fromEntries(Object.entries(config.modules ?? {}).map(([key, entry]) => [
71
+ key,
72
+ toDeclaration(key, entry),
73
+ ]));
74
+ }
75
+ function editConfigFile(projectFolder, edit) {
76
+ const run = pendingWrite.then(async () => {
77
+ const configPath = await (0, config_paths_1.findConfigPath)(projectFolder, new filesystem_1.NodeFileSystem());
78
+ const source = await (0, promises_1.readFile)(configPath, FILE_ENCODING);
79
+ const edited = edit(source, configPath);
80
+ if (edited === source)
81
+ return;
82
+ (0, config_writes_1.recordOwnConfigWrite)(configPath, edited);
83
+ await (0, promises_1.writeFile)(configPath, edited, FILE_ENCODING);
84
+ });
85
+ pendingWrite = run.catch(() => undefined);
86
+ return run;
87
+ }
88
+ async function loadTypeScript() {
89
+ return Promise.resolve().then(() => __importStar(require("typescript")));
90
+ }
91
+ async function saveModuleDeclaration(projectFolder, key, changes) {
92
+ const ts = await loadTypeScript();
93
+ await editConfigFile(projectFolder, (source, fileName) => (0, config_editor_1.setModuleEntry)(ts, fileName, source, key, { ...changes }));
94
+ }
95
+ async function removeModuleDeclaration(projectFolder, key) {
96
+ const ts = await loadTypeScript();
97
+ await editConfigFile(projectFolder, (source, fileName) => (0, config_editor_1.removeModuleEntry)(ts, fileName, source, key));
98
+ }
99
+ //# sourceMappingURL=module-declarations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-declarations.js","sourceRoot":"","sources":["../../../src/core/config/module-declarations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { AntelopeModuleConfig, ModuleSourceGit, ModuleSourceLocal, ModuleSourceLocalFolder, ModuleSourcePackage } from "@antelopejs/interface-core/config";
2
+ export interface ModuleEntryConfig extends AntelopeModuleConfig {
3
+ disabled?: boolean;
4
+ optional?: boolean;
5
+ }
6
+ export interface ModuleDeclaration {
7
+ source?: ModuleSourceLocal | ModuleSourceGit | ModuleSourcePackage | ModuleSourceLocalFolder;
8
+ config?: unknown;
9
+ disabled?: boolean;
10
+ optional?: boolean;
11
+ }
12
+ export type ModuleDeclarationChanges = Partial<ModuleDeclaration>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=module-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-entry.js","sourceRoot":"","sources":["../../../src/core/config/module-entry.ts"],"names":[],"mappings":""}
@@ -11,6 +11,7 @@ export interface ModuleConfig {
11
11
  importOverrides?: Map<string, InterfaceConnectionRef[]>;
12
12
  disabledExports?: Set<string>;
13
13
  exportPriority?: Map<string, number>;
14
+ optional?: boolean;
14
15
  }
15
16
  export interface ManagedModule {
16
17
  module: Module;
@@ -50,6 +51,7 @@ export declare class ModuleManager {
50
51
  config?: ModuleConfig;
51
52
  }>): ManagedModule[];
52
53
  private restoreModules;
54
+ discardModules(ids: readonly string[]): void;
53
55
  listModules(): string[];
54
56
  getModule(id: string): Module | undefined;
55
57
  getModuleEntry(id: string): ManagedModule | undefined;
@@ -140,6 +140,14 @@ class ModuleManager {
140
140
  }
141
141
  this.rebuildAssociations();
142
142
  }
143
+ discardModules(ids) {
144
+ for (const id of ids) {
145
+ this.isolation.forget(id);
146
+ this.loaded.delete(id);
147
+ this.registry.unregister(id);
148
+ }
149
+ this.rebuildAssociations();
150
+ }
143
151
  listModules() {
144
152
  return this.registry.list();
145
153
  }