@antelopejs/core 1.4.3 → 1.4.4
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.
- package/dist/core/cli/commands/project/modules/add.js +8 -2
- package/dist/core/cli/commands/project/modules/add.js.map +1 -1
- package/dist/core/watch/file-watcher.d.ts +11 -0
- package/dist/core/watch/file-watcher.js +124 -5
- package/dist/core/watch/file-watcher.js.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -23,6 +23,8 @@ const cli_ui_1 = require("../../../cli-ui");
|
|
|
23
23
|
const command_1 = require("../../../command");
|
|
24
24
|
const common_1 = require("../../../common");
|
|
25
25
|
const package_manager_1 = require("../../../package-manager");
|
|
26
|
+
const LOCAL_MODULE_WATCH_DIRS = ["src"];
|
|
27
|
+
const LOCAL_MODULE_BUILD_COMMAND = ["npx tsc"];
|
|
26
28
|
exports.handlers = new Map();
|
|
27
29
|
async function projectModulesAddCommand(modules, options) {
|
|
28
30
|
console.log("");
|
|
@@ -213,7 +215,9 @@ exports.handlers.set("local", async (module, options) => {
|
|
|
213
215
|
source: {
|
|
214
216
|
type: "local",
|
|
215
217
|
path: node_path_1.default.relative(options.project, resolvedModulePath) || ".",
|
|
216
|
-
|
|
218
|
+
watchDir: LOCAL_MODULE_WATCH_DIRS,
|
|
219
|
+
installCommand: LOCAL_MODULE_BUILD_COMMAND,
|
|
220
|
+
reloadCommand: LOCAL_MODULE_BUILD_COMMAND,
|
|
217
221
|
},
|
|
218
222
|
},
|
|
219
223
|
];
|
|
@@ -229,7 +233,9 @@ exports.handlers.set("dir", async (module, options) => {
|
|
|
229
233
|
source: {
|
|
230
234
|
type: "local-folder",
|
|
231
235
|
path: node_path_1.default.relative(options.project, resolvedFolderPath) || ".",
|
|
232
|
-
|
|
236
|
+
watchDir: LOCAL_MODULE_WATCH_DIRS,
|
|
237
|
+
installCommand: LOCAL_MODULE_BUILD_COMMAND,
|
|
238
|
+
reloadCommand: LOCAL_MODULE_BUILD_COMMAND,
|
|
233
239
|
},
|
|
234
240
|
},
|
|
235
241
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../../../src/core/cli/commands/project/modules/add.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../../../src/core/cli/commands/project/modules/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,19 +6,30 @@ export declare class FileWatcher {
|
|
|
6
6
|
private fs;
|
|
7
7
|
private hasher;
|
|
8
8
|
private filesHash;
|
|
9
|
+
private moduleFiles;
|
|
9
10
|
private listeners;
|
|
10
11
|
private excludedDirs;
|
|
11
12
|
private watchers;
|
|
12
13
|
private watchedDirs;
|
|
14
|
+
private dirModules;
|
|
13
15
|
private watchedFiles;
|
|
16
|
+
private changeChains;
|
|
17
|
+
private stopped;
|
|
14
18
|
constructor(fs: IFileSystem, hasher?: FileHasher);
|
|
15
19
|
onModuleChanged(listener: ModuleChangeListener): void;
|
|
16
20
|
scanModule(moduleId: string, rootDir: string, watchDirs?: string[]): Promise<void>;
|
|
17
21
|
watchFile(filePath: string, listener: FileChangeListener): Promise<void>;
|
|
18
22
|
startWatching(): void;
|
|
19
23
|
stopWatching(): void;
|
|
24
|
+
private enqueueChange;
|
|
25
|
+
private setFileEntry;
|
|
26
|
+
private deleteFileEntry;
|
|
20
27
|
handleFileChange(filePath: string): Promise<void>;
|
|
21
28
|
private handleWatchedFileChange;
|
|
29
|
+
private handleNewPath;
|
|
30
|
+
private handleRemovedDir;
|
|
31
|
+
private pruneDir;
|
|
32
|
+
getModuleSignature(moduleId: string): string;
|
|
22
33
|
private exploreDir;
|
|
23
34
|
private notifyModuleChange;
|
|
24
35
|
private isExcludedPath;
|
|
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.FileWatcher = void 0;
|
|
37
|
+
const node_crypto_1 = require("node:crypto");
|
|
37
38
|
const node_fs_1 = require("node:fs");
|
|
38
39
|
const path = __importStar(require("node:path"));
|
|
39
40
|
const file_hasher_1 = require("./file-hasher");
|
|
@@ -42,11 +43,15 @@ class FileWatcher {
|
|
|
42
43
|
fs;
|
|
43
44
|
hasher;
|
|
44
45
|
filesHash = new Map();
|
|
46
|
+
moduleFiles = new Map();
|
|
45
47
|
listeners = [];
|
|
46
48
|
excludedDirs = new Set(EXCLUDED_WATCH_DIRS);
|
|
47
49
|
watchers = new Map();
|
|
48
50
|
watchedDirs = new Set();
|
|
51
|
+
dirModules = new Map();
|
|
49
52
|
watchedFiles = new Map();
|
|
53
|
+
changeChains = new Map();
|
|
54
|
+
stopped = false;
|
|
50
55
|
constructor(fs, hasher = new file_hasher_1.FileHasher(fs)) {
|
|
51
56
|
this.fs = fs;
|
|
52
57
|
this.hasher = hasher;
|
|
@@ -72,6 +77,9 @@ class FileWatcher {
|
|
|
72
77
|
this.watchedDirs.add(dir);
|
|
73
78
|
}
|
|
74
79
|
startWatching() {
|
|
80
|
+
if (this.stopped) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
75
83
|
for (const dir of this.watchedDirs) {
|
|
76
84
|
if (this.watchers.has(dir)) {
|
|
77
85
|
continue;
|
|
@@ -85,7 +93,7 @@ class FileWatcher {
|
|
|
85
93
|
? filename.toString()
|
|
86
94
|
: filename;
|
|
87
95
|
const filePath = path.join(dir, fileName);
|
|
88
|
-
|
|
96
|
+
this.enqueueChange(dir, filePath);
|
|
89
97
|
});
|
|
90
98
|
watcher.on("error", (err) => {
|
|
91
99
|
console.error(`FileWatcher error for ${dir}:`, err);
|
|
@@ -98,13 +106,45 @@ class FileWatcher {
|
|
|
98
106
|
}
|
|
99
107
|
}
|
|
100
108
|
stopWatching() {
|
|
109
|
+
this.stopped = true;
|
|
101
110
|
for (const watcher of this.watchers.values()) {
|
|
102
111
|
watcher.close();
|
|
103
112
|
}
|
|
104
113
|
this.watchers.clear();
|
|
114
|
+
this.changeChains.clear();
|
|
115
|
+
}
|
|
116
|
+
enqueueChange(dir, filePath) {
|
|
117
|
+
const previous = this.changeChains.get(dir) ?? Promise.resolve();
|
|
118
|
+
const next = previous
|
|
119
|
+
.then(() => this.handleFileChange(filePath))
|
|
120
|
+
.catch((err) => {
|
|
121
|
+
console.error(`FileWatcher error handling ${filePath}:`, err);
|
|
122
|
+
});
|
|
123
|
+
this.changeChains.set(dir, next);
|
|
124
|
+
}
|
|
125
|
+
setFileEntry(filePath, moduleId, hash) {
|
|
126
|
+
const existing = this.filesHash.get(filePath);
|
|
127
|
+
if (existing && existing.moduleId !== moduleId) {
|
|
128
|
+
this.moduleFiles.get(existing.moduleId)?.delete(filePath);
|
|
129
|
+
}
|
|
130
|
+
this.filesHash.set(filePath, { moduleId, hash });
|
|
131
|
+
let files = this.moduleFiles.get(moduleId);
|
|
132
|
+
if (!files) {
|
|
133
|
+
files = new Set();
|
|
134
|
+
this.moduleFiles.set(moduleId, files);
|
|
135
|
+
}
|
|
136
|
+
files.add(filePath);
|
|
137
|
+
}
|
|
138
|
+
deleteFileEntry(filePath) {
|
|
139
|
+
const existing = this.filesHash.get(filePath);
|
|
140
|
+
if (!existing) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
this.filesHash.delete(filePath);
|
|
144
|
+
this.moduleFiles.get(existing.moduleId)?.delete(filePath);
|
|
105
145
|
}
|
|
106
146
|
async handleFileChange(filePath) {
|
|
107
|
-
if (this.isExcludedPath(filePath)) {
|
|
147
|
+
if (this.stopped || this.isExcludedPath(filePath)) {
|
|
108
148
|
return;
|
|
109
149
|
}
|
|
110
150
|
const resolved = path.resolve(filePath);
|
|
@@ -115,10 +155,11 @@ class FileWatcher {
|
|
|
115
155
|
}
|
|
116
156
|
const entry = this.filesHash.get(filePath);
|
|
117
157
|
if (!entry) {
|
|
158
|
+
await this.handleNewPath(filePath);
|
|
118
159
|
return;
|
|
119
160
|
}
|
|
120
161
|
if (!(await this.fs.exists(filePath))) {
|
|
121
|
-
this.
|
|
162
|
+
this.deleteFileEntry(filePath);
|
|
122
163
|
this.notifyModuleChange(entry.moduleId);
|
|
123
164
|
return;
|
|
124
165
|
}
|
|
@@ -128,7 +169,7 @@ class FileWatcher {
|
|
|
128
169
|
}
|
|
129
170
|
const newHash = await this.hasher.hashFile(filePath);
|
|
130
171
|
if (newHash !== entry.hash) {
|
|
131
|
-
this.
|
|
172
|
+
this.setFileEntry(filePath, entry.moduleId, newHash);
|
|
132
173
|
this.notifyModuleChange(entry.moduleId);
|
|
133
174
|
}
|
|
134
175
|
}
|
|
@@ -142,12 +183,87 @@ class FileWatcher {
|
|
|
142
183
|
return;
|
|
143
184
|
}
|
|
144
185
|
entry.hash = newHash;
|
|
186
|
+
if (this.stopped) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
145
189
|
for (const listener of entry.listeners) {
|
|
146
190
|
listener(filePath);
|
|
147
191
|
}
|
|
148
192
|
}
|
|
193
|
+
async handleNewPath(filePath) {
|
|
194
|
+
if (!(await this.fs.exists(filePath))) {
|
|
195
|
+
this.handleRemovedDir(filePath);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
const moduleId = this.dirModules.get(path.dirname(filePath));
|
|
199
|
+
if (!moduleId) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
const stat = await this.fs.stat(filePath);
|
|
203
|
+
if (stat.isDirectory()) {
|
|
204
|
+
if (this.watchedDirs.has(filePath)) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
await this.exploreDir(moduleId, filePath);
|
|
208
|
+
this.startWatching();
|
|
209
|
+
this.notifyModuleChange(moduleId);
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
const hash = await this.hasher.hashFile(filePath);
|
|
213
|
+
if (!(await this.fs.exists(filePath))) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
this.setFileEntry(filePath, moduleId, hash);
|
|
217
|
+
this.notifyModuleChange(moduleId);
|
|
218
|
+
}
|
|
219
|
+
handleRemovedDir(dirPath) {
|
|
220
|
+
if (!this.watchedDirs.has(dirPath)) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
const moduleId = this.dirModules.get(dirPath);
|
|
224
|
+
this.pruneDir(dirPath);
|
|
225
|
+
if (moduleId) {
|
|
226
|
+
this.notifyModuleChange(moduleId);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
pruneDir(dirPath) {
|
|
230
|
+
const prefix = `${dirPath}${path.sep}`;
|
|
231
|
+
for (const dir of this.watchedDirs) {
|
|
232
|
+
if (dir !== dirPath && !dir.startsWith(prefix)) {
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
235
|
+
this.watchedDirs.delete(dir);
|
|
236
|
+
this.dirModules.delete(dir);
|
|
237
|
+
this.changeChains.delete(dir);
|
|
238
|
+
const watcher = this.watchers.get(dir);
|
|
239
|
+
if (watcher) {
|
|
240
|
+
watcher.close();
|
|
241
|
+
this.watchers.delete(dir);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
for (const filePath of this.filesHash.keys()) {
|
|
245
|
+
if (filePath.startsWith(prefix)) {
|
|
246
|
+
this.deleteFileEntry(filePath);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
getModuleSignature(moduleId) {
|
|
251
|
+
const files = this.moduleFiles.get(moduleId);
|
|
252
|
+
const entries = [];
|
|
253
|
+
if (files) {
|
|
254
|
+
for (const filePath of files) {
|
|
255
|
+
const entry = this.filesHash.get(filePath);
|
|
256
|
+
if (entry) {
|
|
257
|
+
entries.push(`${filePath}\0${entry.hash}`);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
entries.sort();
|
|
262
|
+
return (0, node_crypto_1.createHash)("sha256").update(entries.join("\n")).digest("hex");
|
|
263
|
+
}
|
|
149
264
|
async exploreDir(moduleId, dirPath) {
|
|
150
265
|
this.watchedDirs.add(dirPath);
|
|
266
|
+
this.dirModules.set(dirPath, moduleId);
|
|
151
267
|
const entries = await this.fs.readdir(dirPath);
|
|
152
268
|
for (const entry of entries) {
|
|
153
269
|
const fullPath = path.join(dirPath, entry);
|
|
@@ -160,11 +276,14 @@ class FileWatcher {
|
|
|
160
276
|
}
|
|
161
277
|
else {
|
|
162
278
|
const hash = await this.hasher.hashFile(fullPath);
|
|
163
|
-
this.
|
|
279
|
+
this.setFileEntry(fullPath, moduleId, hash);
|
|
164
280
|
}
|
|
165
281
|
}
|
|
166
282
|
}
|
|
167
283
|
notifyModuleChange(moduleId) {
|
|
284
|
+
if (this.stopped) {
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
168
287
|
for (const listener of this.listeners) {
|
|
169
288
|
listener(moduleId);
|
|
170
289
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-watcher.js","sourceRoot":"","sources":["../../../src/core/watch/file-watcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAgD;AAChD,gDAAkC;AAElC,+CAA2C;AAK3C,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAErD,MAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"file-watcher.js","sourceRoot":"","sources":["../../../src/core/watch/file-watcher.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -64,11 +64,20 @@ function registerShutdownCleanup(shutdownManager) {
|
|
|
64
64
|
}
|
|
65
65
|
async function setupWatching(manager, fs, projectFolder, env, options, shutdownManager, loaderContext) {
|
|
66
66
|
const watcher = new file_watcher_1.FileWatcher(fs);
|
|
67
|
-
const
|
|
67
|
+
const loadedSignatures = new Map();
|
|
68
|
+
const hotReload = new hot_reload_1.HotReload(async (moduleId) => {
|
|
69
|
+
const signature = watcher.getModuleSignature(moduleId);
|
|
70
|
+
if (loadedSignatures.get(moduleId) === signature) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
await (0, module_loading_1.reloadWatchedModule)(manager, moduleId, loaderContext);
|
|
74
|
+
loadedSignatures.set(moduleId, signature);
|
|
75
|
+
});
|
|
68
76
|
for (const { module } of manager.getLoadedModules()) {
|
|
69
77
|
if (module.manifest?.source?.type === "local") {
|
|
70
78
|
const watchDirs = (0, module_loading_1.getWatchDirs)(module.manifest.source);
|
|
71
79
|
await watcher.scanModule(module.id, module.manifest.folder, watchDirs);
|
|
80
|
+
loadedSignatures.set(module.id, watcher.getModuleSignature(module.id));
|
|
72
81
|
}
|
|
73
82
|
}
|
|
74
83
|
const configPath = await (0, config_paths_1.tryFindConfigPath)(projectFolder, fs);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|