@redocly/openapi-core 0.0.0-snapshot.1778327478 → 0.0.0-snapshot.1778335458
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/lib/config/plugin-import-tree.d.ts +10 -5
- package/lib/config/plugin-import-tree.d.ts.map +1 -1
- package/lib/config/plugin-import-tree.js +31 -15
- package/lib/config/plugin-import-tree.js.map +1 -1
- package/lib/config/plugins-cache.d.ts.map +1 -1
- package/lib/config/plugins-cache.js +32 -19
- package/lib/config/plugins-cache.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* TEMP: debug-only
|
|
2
|
+
* TEMP: debug-only plugin import tree on `clearPluginsCache` (from disk + current mtimes).
|
|
3
3
|
*
|
|
4
|
-
* Removal: delete this file and the matching imports +
|
|
5
|
-
* `plugins-cache.ts`.
|
|
4
|
+
* Removal: delete this file and the matching imports + calls in `plugins-cache.ts`.
|
|
6
5
|
*/
|
|
7
|
-
|
|
6
|
+
export type PluginClearLogEntry = {
|
|
7
|
+
absolutePath: string;
|
|
8
|
+
entryHref: string;
|
|
9
|
+
/** Same value as `?redocly-mtime=` on the entry URL (max mtime in plugin dir). */
|
|
10
|
+
entryMtime: number;
|
|
11
|
+
};
|
|
8
12
|
export declare function logHookStatus(): void;
|
|
9
|
-
|
|
13
|
+
/** TEMP: after `clearPluginsCache` — tree from current files + mtimes (matches next `import()` URLs). */
|
|
14
|
+
export declare function logClearPluginImportTrees(entries: PluginClearLogEntry[], mtimeParam: string, fileMtimeMs: (absFile: string) => number): void;
|
|
10
15
|
//# sourceMappingURL=plugin-import-tree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-import-tree.d.ts","sourceRoot":"","sources":["../../src/config/plugin-import-tree.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plugin-import-tree.d.ts","sourceRoot":"","sources":["../../src/config/plugin-import-tree.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAwIF,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,yGAAyG;AACzG,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GACvC,IAAI,CAsBN"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* TEMP: debug-only
|
|
2
|
+
* TEMP: debug-only plugin import tree on `clearPluginsCache` (from disk + current mtimes).
|
|
3
3
|
*
|
|
4
|
-
* Removal: delete this file and the matching imports +
|
|
5
|
-
* `plugins-cache.ts`.
|
|
4
|
+
* Removal: delete this file and the matching imports + calls in `plugins-cache.ts`.
|
|
6
5
|
*/
|
|
7
6
|
import * as fs from 'node:fs';
|
|
8
7
|
import module from 'node:module';
|
|
9
8
|
import * as path from 'node:path';
|
|
10
|
-
|
|
9
|
+
import * as url from 'node:url';
|
|
11
10
|
const EXTENSIONS = ['', '.js', '.mjs', '.cjs', '.ts', '.tsx'];
|
|
12
11
|
const INDEX_EXTENSIONS = ['.js', '.mjs', '.cjs', '.ts'];
|
|
13
12
|
const ESM_IMPORT_RE = /^[ \t]*import\s+(?:(.+?)\s+from\s+)?['"](\.\.?\/[^'"]+)['"]/gm;
|
|
@@ -70,8 +69,15 @@ function parseEdges(source, fromDir) {
|
|
|
70
69
|
push(m[1], 'import() dynamic');
|
|
71
70
|
return edges;
|
|
72
71
|
}
|
|
73
|
-
function
|
|
74
|
-
const
|
|
72
|
+
function fileHrefWithMtime(absPath, mtimeParam, mtimeMs) {
|
|
73
|
+
const u = url.pathToFileURL(absPath);
|
|
74
|
+
u.searchParams.set(mtimeParam, String(Math.floor(mtimeMs)));
|
|
75
|
+
return u.href;
|
|
76
|
+
}
|
|
77
|
+
function buildImportTree(filePath, rootPath, entryMtime, mtimeParam, fileMtimeMs, ancestors = new Set(), edge) {
|
|
78
|
+
const m = filePath === rootPath ? entryMtime : fileMtimeMs(filePath);
|
|
79
|
+
const label = fileHrefWithMtime(filePath, mtimeParam, m);
|
|
80
|
+
const node = { label, children: [], edge };
|
|
75
81
|
if (ancestors.has(filePath)) {
|
|
76
82
|
node.cycle = true;
|
|
77
83
|
return node;
|
|
@@ -91,7 +97,7 @@ function buildImportTree(filePath, ancestors = new Set(), edge) {
|
|
|
91
97
|
if (seen.has(e.resolved))
|
|
92
98
|
continue;
|
|
93
99
|
seen.add(e.resolved);
|
|
94
|
-
node.children.push(buildImportTree(e.resolved, next, `${e.spec} [${e.description}]`));
|
|
100
|
+
node.children.push(buildImportTree(e.resolved, rootPath, entryMtime, mtimeParam, fileMtimeMs, next, `${e.spec} [${e.description}]`));
|
|
95
101
|
}
|
|
96
102
|
return node;
|
|
97
103
|
}
|
|
@@ -99,26 +105,36 @@ function renderTree(node, prefix = '', isLast = true, depth = 0) {
|
|
|
99
105
|
const branch = depth === 0 ? '' : isLast ? '└─ ' : '├─ ';
|
|
100
106
|
const cycle = node.cycle ? ' [CYCLE]' : '';
|
|
101
107
|
const edge = node.edge ? ` ← ${node.edge}` : '';
|
|
102
|
-
const lines = [prefix + branch + node.
|
|
108
|
+
const lines = [prefix + branch + node.label + cycle + edge];
|
|
103
109
|
if (node.cycle)
|
|
104
110
|
return lines;
|
|
105
111
|
const childPrefix = prefix + (depth === 0 ? '' : isLast ? ' ' : '│ ');
|
|
106
112
|
node.children.forEach((c, i) => lines.push(...renderTree(c, childPrefix, i === node.children.length - 1, depth + 1)));
|
|
107
113
|
return lines;
|
|
108
114
|
}
|
|
109
|
-
|
|
115
|
+
let clearCounter = 0;
|
|
110
116
|
export function logHookStatus() {
|
|
111
117
|
const ok = typeof module.registerHooks === 'function';
|
|
112
118
|
process.stderr.write(`[plugins-cache] module.registerHooks=${ok ? 'available' : 'missing'}\n`);
|
|
113
119
|
}
|
|
114
|
-
|
|
115
|
-
|
|
120
|
+
/** TEMP: after `clearPluginsCache` — tree from current files + mtimes (matches next `import()` URLs). */
|
|
121
|
+
export function logClearPluginImportTrees(entries, mtimeParam, fileMtimeMs) {
|
|
122
|
+
clearCounter += 1;
|
|
116
123
|
const out = [];
|
|
117
124
|
out.push('─'.repeat(70));
|
|
118
|
-
out.push(`[plugins-cache]
|
|
119
|
-
if (
|
|
120
|
-
out.push(
|
|
121
|
-
|
|
125
|
+
out.push(`[plugins-cache] clearPluginsCache #${clearCounter} — current import tree (disk + mtimes)`);
|
|
126
|
+
if (entries.length === 0) {
|
|
127
|
+
out.push(' (no plugin paths were in cache)');
|
|
128
|
+
}
|
|
129
|
+
for (const e of entries) {
|
|
130
|
+
out.push(` plugin: ${path.basename(e.absolutePath)}`);
|
|
131
|
+
out.push(` path: ${e.absolutePath}`);
|
|
132
|
+
out.push(` entry import URL (now): ${e.entryHref}`);
|
|
133
|
+
renderTree(buildImportTree(e.absolutePath, e.absolutePath, e.entryMtime, mtimeParam, fileMtimeMs)).forEach((l) => out.push(' ' + l));
|
|
134
|
+
out.push('');
|
|
135
|
+
}
|
|
136
|
+
if (entries.length > 0)
|
|
137
|
+
out.pop();
|
|
122
138
|
out.push('─'.repeat(70));
|
|
123
139
|
process.stderr.write(out.join('\n') + '\n');
|
|
124
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-import-tree.js","sourceRoot":"","sources":["../../src/config/plugin-import-tree.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plugin-import-tree.js","sourceRoot":"","sources":["../../src/config/plugin-import-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins-cache.d.ts","sourceRoot":"","sources":["../../src/config/plugins-cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugins-cache.d.ts","sourceRoot":"","sources":["../../src/config/plugins-cache.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAgHzC,wBAAgB,eAAe,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,wBAAgB,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAEjF;AAED,wBAAgB,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAEpF;AAqBD,eAAO,MAAM,iBAAiB,QAAO,IAwBpC,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CASlC"}
|
|
@@ -2,11 +2,13 @@ import * as fs from 'node:fs';
|
|
|
2
2
|
import module from 'node:module';
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
import * as url from 'node:url';
|
|
5
|
-
// TEMP
|
|
6
|
-
|
|
5
|
+
// ─── LOGGING (TEMP, language-server) — remove this import + all `LOGGING` blocks
|
|
6
|
+
// below together with `plugin-import-tree.ts`. ───
|
|
7
|
+
import { logClearPluginImportTrees, logHookStatus } from './plugin-import-tree.js';
|
|
7
8
|
const pluginsCache = new Map();
|
|
8
9
|
// Memoizes the directory walk that produces the plugin's cache-bust mtime.
|
|
9
|
-
// Cleared in `clearPluginsCache()` so the next load
|
|
10
|
+
// Cleared in `clearPluginsCache()` so the next load re-walks the directory; if any
|
|
11
|
+
// file changed on disk, the new `?redocly-mtime=` busts Node's ESM cache.
|
|
10
12
|
const pluginMtimeCache = new Map();
|
|
11
13
|
// URL search-param key that does double duty: its presence flags a URL as
|
|
12
14
|
// plugin-scoped (so the global resolve hook only acts on our imports), and
|
|
@@ -30,17 +32,18 @@ function registerHooksImpl() {
|
|
|
30
32
|
const childURL = new URL(result.url);
|
|
31
33
|
if (childURL.pathname.includes('/node_modules/'))
|
|
32
34
|
return result;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
let out = result;
|
|
36
|
+
if (!childURL.searchParams.has(PLUGIN_MTIME_PARAM)) {
|
|
37
|
+
try {
|
|
38
|
+
const mtimeMs = fs.statSync(url.fileURLToPath(childURL)).mtimeMs;
|
|
39
|
+
childURL.searchParams.set(PLUGIN_MTIME_PARAM, String(Math.floor(mtimeMs)));
|
|
40
|
+
out = { ...result, url: childURL.href, shortCircuit: true };
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
// keep `out === result`
|
|
44
|
+
}
|
|
41
45
|
}
|
|
42
|
-
|
|
43
|
-
return { ...result, url: childURL.href, shortCircuit: true };
|
|
46
|
+
return out;
|
|
44
47
|
},
|
|
45
48
|
});
|
|
46
49
|
}
|
|
@@ -140,13 +143,25 @@ function evictPluginFromRequireCache(pluginPath) {
|
|
|
140
143
|
export const clearPluginsCache = () => {
|
|
141
144
|
// CJS: evict matching entries from `require.cache` (skip node_modules).
|
|
142
145
|
// ESM: drop the mtime map so the next load re-walks the directory; if any
|
|
143
|
-
//
|
|
144
|
-
|
|
146
|
+
// file changed on disk, the new `?redocly-mtime=` busts Node's ESM cache.
|
|
147
|
+
const paths = [...pluginsCache.keys()];
|
|
148
|
+
for (const pluginPath of paths) {
|
|
145
149
|
evictPluginFromRequireCache(pluginPath);
|
|
146
150
|
}
|
|
147
151
|
pluginsCache.clear();
|
|
148
152
|
pluginMtimeCache.clear();
|
|
149
153
|
ensureEsmCacheBustHook();
|
|
154
|
+
// LOGGING (TEMP): import tree to stderr after each clear. Uses a fresh
|
|
155
|
+
// `computePluginMaxMtime` walk only — do not call `getPluginMtime` here or it
|
|
156
|
+
// would repopulate `pluginMtimeCache` before the next `loadPluginModule()`
|
|
157
|
+
// (e.g. tests bump mtimes between clear and load).
|
|
158
|
+
const entries = paths.map((absolutePath) => {
|
|
159
|
+
const entryMtime = Math.floor(computePluginMaxMtime(absolutePath));
|
|
160
|
+
const pluginUrl = url.pathToFileURL(absolutePath);
|
|
161
|
+
pluginUrl.searchParams.set(PLUGIN_MTIME_PARAM, String(entryMtime));
|
|
162
|
+
return { absolutePath, entryHref: pluginUrl.href, entryMtime };
|
|
163
|
+
});
|
|
164
|
+
logClearPluginImportTrees(entries, PLUGIN_MTIME_PARAM, safeMtime);
|
|
150
165
|
};
|
|
151
166
|
export async function loadPluginModule(absolutePluginPath) {
|
|
152
167
|
// First load must install the hook before `import()` so nested plugin files
|
|
@@ -154,10 +169,8 @@ export async function loadPluginModule(absolutePluginPath) {
|
|
|
154
169
|
ensureEsmCacheBustHook();
|
|
155
170
|
const pluginUrl = url.pathToFileURL(absolutePluginPath);
|
|
156
171
|
pluginUrl.searchParams.set(PLUGIN_MTIME_PARAM, String(getPluginMtime(absolutePluginPath)));
|
|
157
|
-
logPluginLoadSummary(absolutePluginPath, pluginUrl.href); // TEMP
|
|
158
|
-
// `webpackIgnore` keeps this a native ESM `import()` so bundlers don't
|
|
159
|
-
// rewrite it into their build-time module map.
|
|
160
172
|
return import(/* webpackIgnore: true */ pluginUrl.href);
|
|
161
173
|
}
|
|
162
|
-
|
|
174
|
+
// LOGGING (TEMP): once at module load — whether `registerHooks` exists.
|
|
175
|
+
logHookStatus();
|
|
163
176
|
//# sourceMappingURL=plugins-cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins-cache.js","sourceRoot":"","sources":["../../src/config/plugins-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,
|
|
1
|
+
{"version":3,"file":"plugins-cache.js","sourceRoot":"","sources":["../../src/config/plugins-cache.ts"],"names":[],"mappings":"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"}
|