@venizia/ardor 0.4.6 → 0.4.7-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.
- package/README.md +18 -0
- package/dist/ardor.d.ts +3 -0
- package/dist/ardor.d.ts.map +1 -0
- package/dist/ardor.js +11 -0
- package/dist/ardor.js.map +1 -0
- package/dist/codemod/bin.d.ts +3 -0
- package/dist/codemod/bin.d.ts.map +1 -0
- package/dist/codemod/bin.js +24 -0
- package/dist/codemod/bin.js.map +1 -0
- package/dist/codemod/cli.d.ts +13 -0
- package/dist/codemod/cli.d.ts.map +1 -0
- package/dist/codemod/cli.js +155 -0
- package/dist/codemod/cli.js.map +1 -0
- package/dist/codemod/files.d.ts +25 -0
- package/dist/codemod/files.d.ts.map +1 -0
- package/dist/codemod/files.js +97 -0
- package/dist/codemod/files.js.map +1 -0
- package/dist/codemod/logger.d.ts +42 -0
- package/dist/codemod/logger.d.ts.map +1 -0
- package/dist/codemod/logger.js +382 -0
- package/dist/codemod/logger.js.map +1 -0
- package/dist/codemod/migrate.d.ts +23 -0
- package/dist/codemod/migrate.d.ts.map +1 -0
- package/dist/codemod/migrate.js +22 -0
- package/dist/codemod/migrate.js.map +1 -0
- package/dist/codemod/renames.d.ts +60 -0
- package/dist/codemod/renames.d.ts.map +1 -0
- package/dist/codemod/renames.js +114 -0
- package/dist/codemod/renames.js.map +1 -0
- package/dist/codemod/transform.d.ts +51 -0
- package/dist/codemod/transform.d.ts.map +1 -0
- package/dist/codemod/transform.js +384 -0
- package/dist/codemod/transform.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/presets/app/files/src/application.test.ts +4 -2
- package/dist/presets/app/files/src/configurations/admin.configuration.ts +2 -2
- package/dist/presets/app/preset.json +14 -14
- package/dist/presets/lib/preset.json +9 -9
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +14 -7
- package/dist/testing.js.map +1 -1
- package/dist/vite/plugin.d.ts.map +1 -1
- package/dist/vite/plugin.js +5 -4
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/sources.d.ts.map +1 -1
- package/dist/vite/sources.js +2 -3
- package/dist/vite/sources.js.map +1 -1
- package/package.json +25 -18
- package/dist/vite/quiet-logger.d.ts +0 -3
- package/dist/vite/quiet-logger.d.ts.map +0 -1
- package/dist/vite/quiet-logger.js +0 -36
- package/dist/vite/quiet-logger.js.map +0 -1
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
import { LoggerRenames, NamespaceModules } from './renames.js';
|
|
2
|
+
/**
|
|
3
|
+
* Moves a project off the kernel logger, which IGNIS's `ILogger` replaces:
|
|
4
|
+
*
|
|
5
|
+
* - `BaseHelper`, `LogLevels`, `ILogger` and `TLogLevel` keep their names, so only the import moves
|
|
6
|
+
* to `@venizia/ignis-helpers/core`.
|
|
7
|
+
* - `Logger.getInstance({ scope })` and `new Logger({ scope })` become
|
|
8
|
+
* `LoggerFactory.getLogger([scope])`. IGNIS's console logger has its own debug gate (off unless
|
|
9
|
+
* `DEBUG` is set, and always off in a browser), so an `enableDebug` option is dropped and noted.
|
|
10
|
+
* - `Logger` as a type becomes `ILogger`.
|
|
11
|
+
* - The `enableDebug` prop of `ArdorApplication` is removed (pass `logger`): listed.
|
|
12
|
+
*
|
|
13
|
+
* Any other use of `Logger` (a subclass, `instanceof`, a spread argument) is listed and `Logger` stays
|
|
14
|
+
* imported, so the file shows exactly where to look.
|
|
15
|
+
*/
|
|
16
|
+
export class LoggerTransform {
|
|
17
|
+
static run(opts) {
|
|
18
|
+
const { ts, fileName, text } = opts;
|
|
19
|
+
const unchanged = { text, renamed: 0, findings: [] };
|
|
20
|
+
if (!text.includes('@venizia/ardor')) {
|
|
21
|
+
return unchanged;
|
|
22
|
+
}
|
|
23
|
+
const sourceFile = ts.createSourceFile(fileName, text, ts.ScriptTarget.Latest, true, fileName.endsWith('.tsx') ? ts.ScriptKind.TSX : ts.ScriptKind.TS);
|
|
24
|
+
const imports = LoggerTransform.collectImports({ ts, sourceFile });
|
|
25
|
+
const findings = [];
|
|
26
|
+
LoggerTransform.findEnableDebugProp({ ts, sourceFile, imports, findings });
|
|
27
|
+
const moved = imports.filter((entry) => LoggerRenames.MOVED.has(entry.imported));
|
|
28
|
+
const logger = imports.find((entry) => entry.imported === 'Logger');
|
|
29
|
+
if (moved.length === 0 && !logger) {
|
|
30
|
+
return { text, renamed: 0, findings };
|
|
31
|
+
}
|
|
32
|
+
const edits = [];
|
|
33
|
+
const additions = [];
|
|
34
|
+
const removed = new Set(moved.map((entry) => entry.specifier));
|
|
35
|
+
const taken = LoggerTransform.takenNames({ ts, sourceFile, moved: removed });
|
|
36
|
+
let renamed = moved.length;
|
|
37
|
+
for (const entry of moved) {
|
|
38
|
+
// The new import is a value import: a name that was type-only stays `type`.
|
|
39
|
+
additions.push(`${entry.typeOnly ? 'type ' : ''}${entry.specifier.getText(sourceFile).replace(/^type\s+/, '')}`);
|
|
40
|
+
}
|
|
41
|
+
if (logger) {
|
|
42
|
+
const outcome = LoggerTransform.rewriteLogger({
|
|
43
|
+
ts,
|
|
44
|
+
sourceFile,
|
|
45
|
+
logger,
|
|
46
|
+
imports,
|
|
47
|
+
findings,
|
|
48
|
+
edits,
|
|
49
|
+
additions,
|
|
50
|
+
taken,
|
|
51
|
+
});
|
|
52
|
+
renamed += outcome.renamed;
|
|
53
|
+
if (outcome.isFullyMoved) {
|
|
54
|
+
removed.add(logger.specifier);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const hasAdditions = additions.length > 0;
|
|
58
|
+
const importEdits = LoggerTransform.importEdits({
|
|
59
|
+
ts,
|
|
60
|
+
sourceFile,
|
|
61
|
+
removed,
|
|
62
|
+
additions: [...new Set(additions)],
|
|
63
|
+
});
|
|
64
|
+
if (edits.length === 0 && removed.size === 0 && !hasAdditions) {
|
|
65
|
+
return { text, renamed: 0, findings };
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
text: LoggerTransform.apply({ text, edits: [...edits, ...importEdits] }),
|
|
69
|
+
renamed,
|
|
70
|
+
findings,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
static collectImports(opts) {
|
|
74
|
+
const { ts, sourceFile } = opts;
|
|
75
|
+
const entries = [];
|
|
76
|
+
for (const statement of sourceFile.statements) {
|
|
77
|
+
if (!ts.isImportDeclaration(statement) || !ts.isStringLiteral(statement.moduleSpecifier)) {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const clause = statement.importClause;
|
|
81
|
+
const named = clause?.namedBindings;
|
|
82
|
+
if (!NamespaceModules.isValid(statement.moduleSpecifier.text) ||
|
|
83
|
+
!named ||
|
|
84
|
+
!ts.isNamedImports(named)) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
for (const specifier of named.elements) {
|
|
88
|
+
entries.push({
|
|
89
|
+
declaration: statement,
|
|
90
|
+
specifier,
|
|
91
|
+
imported: (specifier.propertyName ?? specifier.name).text,
|
|
92
|
+
local: specifier.name.text,
|
|
93
|
+
typeOnly: Boolean(clause?.isTypeOnly) || specifier.isTypeOnly,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return entries;
|
|
98
|
+
}
|
|
99
|
+
/** `<ArdorApplication enableDebug />`: the prop is gone, the logger is passed instead. */
|
|
100
|
+
static findEnableDebugProp(opts) {
|
|
101
|
+
const { ts, sourceFile, imports, findings } = opts;
|
|
102
|
+
const application = imports.find((entry) => entry.imported === 'ArdorApplication');
|
|
103
|
+
if (!application) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const visit = (node) => {
|
|
107
|
+
if (ts.isJsxOpeningElement(node) || ts.isJsxSelfClosingElement(node)) {
|
|
108
|
+
const isApplication = ts.isIdentifier(node.tagName) && node.tagName.text === application.local;
|
|
109
|
+
if (isApplication) {
|
|
110
|
+
for (const attribute of node.attributes.properties) {
|
|
111
|
+
if (ts.isJsxAttribute(attribute) &&
|
|
112
|
+
attribute.name.getText(sourceFile) === 'enableDebug') {
|
|
113
|
+
findings.push({
|
|
114
|
+
line: sourceFile.getLineAndCharacterOfPosition(attribute.getStart(sourceFile)).line + 1,
|
|
115
|
+
name: 'enableDebug',
|
|
116
|
+
reason: 'removed: debug lines are off by default now (a browser, or `DEBUG` unset); turn them on with `LoggerFactory.use({ level: LogLevels.DEBUG })` at startup, or pass `logger={...}` to ArdorApplication',
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
ts.forEachChild(node, visit);
|
|
123
|
+
};
|
|
124
|
+
visit(sourceFile);
|
|
125
|
+
}
|
|
126
|
+
/** The uses of `Logger`. `isFullyMoved` is true when none is left, so its import can go. */
|
|
127
|
+
static rewriteLogger(opts) {
|
|
128
|
+
const { ts, sourceFile, logger, findings, edits, additions, taken } = opts;
|
|
129
|
+
// A file can already own the name (a project keeps its own LoggerFactory or BaseHelper): then IGNIS's is imported under an alias.
|
|
130
|
+
const factory = LoggerTransform.freeName({ taken, name: LoggerRenames.FACTORY });
|
|
131
|
+
const type = LoggerTransform.freeName({ taken, name: LoggerRenames.TYPE });
|
|
132
|
+
const importOf = (name, local) => local === name ? name : `${name} as ${local}`;
|
|
133
|
+
let renamed = 0;
|
|
134
|
+
let isFullyMoved = true;
|
|
135
|
+
const handled = new Set();
|
|
136
|
+
const lineOf = (node) => sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile)).line + 1;
|
|
137
|
+
const leave = (node, reason) => {
|
|
138
|
+
isFullyMoved = false;
|
|
139
|
+
findings.push({ line: lineOf(node), name: logger.local, reason });
|
|
140
|
+
};
|
|
141
|
+
const scopeOf = (call) => {
|
|
142
|
+
const argument = call.arguments?.[0];
|
|
143
|
+
if (!argument || !ts.isObjectLiteralExpression(argument)) {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
let scope;
|
|
147
|
+
let debug = false;
|
|
148
|
+
for (const property of argument.properties) {
|
|
149
|
+
if (ts.isPropertyAssignment(property) && property.name.getText(sourceFile) === 'scope') {
|
|
150
|
+
scope = property.initializer.getText(sourceFile);
|
|
151
|
+
}
|
|
152
|
+
else if (ts.isShorthandPropertyAssignment(property) && property.name.text === 'scope') {
|
|
153
|
+
scope = 'scope';
|
|
154
|
+
}
|
|
155
|
+
else if ((ts.isPropertyAssignment(property) || ts.isShorthandPropertyAssignment(property)) &&
|
|
156
|
+
property.name.getText(sourceFile) === 'enableDebug') {
|
|
157
|
+
debug = true;
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return scope === undefined ? undefined : { text: scope, debug };
|
|
164
|
+
};
|
|
165
|
+
const rewriteCall = (call, target) => {
|
|
166
|
+
const parsed = scopeOf(call);
|
|
167
|
+
if (!parsed) {
|
|
168
|
+
leave(target, 'Logger is removed; pass an object with a scope to `LoggerFactory.getLogger([scope])`, or use your own ILogger');
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
edits.push({
|
|
172
|
+
start: call.getStart(sourceFile),
|
|
173
|
+
end: call.getEnd(),
|
|
174
|
+
text: `${factory}.getLogger([${parsed.text}])`,
|
|
175
|
+
});
|
|
176
|
+
additions.push(importOf(LoggerRenames.FACTORY, factory));
|
|
177
|
+
renamed += 1;
|
|
178
|
+
if (parsed.debug) {
|
|
179
|
+
findings.push({
|
|
180
|
+
line: lineOf(call),
|
|
181
|
+
name: 'enableDebug',
|
|
182
|
+
reason: 'note: dropped. debug lines are off by default now (a browser, or `DEBUG` unset); turn them on with `LoggerFactory.use({ level: LogLevels.DEBUG })` at startup',
|
|
183
|
+
kind: 'note',
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
handled.add(target);
|
|
187
|
+
};
|
|
188
|
+
const visit = (node) => {
|
|
189
|
+
if (ts.isImportDeclaration(node)) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
if (ts.isIdentifier(node) && node.text === logger.local) {
|
|
193
|
+
const { parent } = node;
|
|
194
|
+
if (ts.isPropertyAccessExpression(parent) && parent.name === node) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
if (ts.isPropertyAccessExpression(parent) &&
|
|
198
|
+
parent.expression === node &&
|
|
199
|
+
parent.name.text === 'getInstance' &&
|
|
200
|
+
ts.isCallExpression(parent.parent) &&
|
|
201
|
+
parent.parent.expression === parent) {
|
|
202
|
+
rewriteCall(parent.parent, node);
|
|
203
|
+
}
|
|
204
|
+
else if (ts.isNewExpression(parent) && parent.expression === node) {
|
|
205
|
+
rewriteCall(parent, node);
|
|
206
|
+
}
|
|
207
|
+
else if (ts.isTypeReferenceNode(parent) && parent.typeName === node) {
|
|
208
|
+
edits.push({
|
|
209
|
+
start: node.getStart(sourceFile),
|
|
210
|
+
end: node.getEnd(),
|
|
211
|
+
text: type,
|
|
212
|
+
});
|
|
213
|
+
additions.push(`type ${importOf(LoggerRenames.TYPE, type)}`);
|
|
214
|
+
renamed += 1;
|
|
215
|
+
}
|
|
216
|
+
else if (ts.isExportSpecifier(parent) && parent.propertyName && parent.name === node) {
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
leave(node, 'Logger is removed; this use has no one-line replacement (a subclass, instanceof, a static member): use an ILogger');
|
|
221
|
+
}
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
ts.forEachChild(node, visit);
|
|
225
|
+
};
|
|
226
|
+
visit(sourceFile);
|
|
227
|
+
return { renamed, isFullyMoved };
|
|
228
|
+
}
|
|
229
|
+
/** The top-level names the file already owns, other than the IGNIS ones it imports and the ARDOR ones being moved. */
|
|
230
|
+
static takenNames(opts) {
|
|
231
|
+
const { ts, sourceFile, moved } = opts;
|
|
232
|
+
const taken = new Set();
|
|
233
|
+
for (const statement of sourceFile.statements) {
|
|
234
|
+
if (ts.isImportDeclaration(statement)) {
|
|
235
|
+
const clause = statement.importClause;
|
|
236
|
+
const named = clause?.namedBindings;
|
|
237
|
+
if (!clause ||
|
|
238
|
+
(ts.isStringLiteral(statement.moduleSpecifier) &&
|
|
239
|
+
statement.moduleSpecifier.text === LoggerRenames.CORE_MODULE)) {
|
|
240
|
+
continue;
|
|
241
|
+
}
|
|
242
|
+
if (clause.name) {
|
|
243
|
+
taken.add(clause.name.text);
|
|
244
|
+
}
|
|
245
|
+
if (named && ts.isNamespaceImport(named)) {
|
|
246
|
+
taken.add(named.name.text);
|
|
247
|
+
}
|
|
248
|
+
else if (named) {
|
|
249
|
+
for (const element of named.elements) {
|
|
250
|
+
if (!moved.has(element)) {
|
|
251
|
+
taken.add(element.name.text);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
else if (ts.isVariableStatement(statement)) {
|
|
257
|
+
for (const declaration of statement.declarationList.declarations) {
|
|
258
|
+
if (ts.isIdentifier(declaration.name)) {
|
|
259
|
+
taken.add(declaration.name.text);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
else if ((ts.isClassDeclaration(statement) ||
|
|
264
|
+
ts.isFunctionDeclaration(statement) ||
|
|
265
|
+
ts.isInterfaceDeclaration(statement) ||
|
|
266
|
+
ts.isTypeAliasDeclaration(statement) ||
|
|
267
|
+
ts.isEnumDeclaration(statement)) &&
|
|
268
|
+
statement.name) {
|
|
269
|
+
taken.add(statement.name.text);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return taken;
|
|
273
|
+
}
|
|
274
|
+
/** `name` when the file does not own it, else `Ignis<name>`. */
|
|
275
|
+
static freeName(opts) {
|
|
276
|
+
return opts.taken.has(opts.name) ? `Ignis${opts.name}` : opts.name;
|
|
277
|
+
}
|
|
278
|
+
/** The ARDOR import lines without the moved names, and `@venizia/ignis-helpers/core` with them. */
|
|
279
|
+
static importEdits(opts) {
|
|
280
|
+
const { ts, sourceFile, removed, additions } = opts;
|
|
281
|
+
const edits = [];
|
|
282
|
+
const nameOf = (addition) => addition
|
|
283
|
+
.replace(/^type\s+/, '')
|
|
284
|
+
.split(/\s+as\s+/)
|
|
285
|
+
.pop() ?? addition;
|
|
286
|
+
// Which core import to add to, if the file has one with braces.
|
|
287
|
+
const core = sourceFile.statements.find((statement) => ts.isImportDeclaration(statement) &&
|
|
288
|
+
ts.isStringLiteral(statement.moduleSpecifier) &&
|
|
289
|
+
statement.moduleSpecifier.text === LoggerRenames.CORE_MODULE &&
|
|
290
|
+
!statement.importClause?.isTypeOnly &&
|
|
291
|
+
statement.importClause?.namedBindings !== undefined &&
|
|
292
|
+
ts.isNamedImports(statement.importClause.namedBindings));
|
|
293
|
+
const present = new Set();
|
|
294
|
+
if (core?.importClause?.namedBindings && ts.isNamedImports(core.importClause.namedBindings)) {
|
|
295
|
+
for (const element of core.importClause.namedBindings.elements) {
|
|
296
|
+
present.add(element.name.text);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
const fresh = additions.filter((addition) => !present.has(nameOf(addition)));
|
|
300
|
+
// A name already imported as a value covers the same name needed as a type.
|
|
301
|
+
const names = fresh.filter((addition) => !(addition.startsWith('type ') && fresh.includes(nameOf(addition))));
|
|
302
|
+
let insertion = '';
|
|
303
|
+
if (names.length > 0 &&
|
|
304
|
+
core?.importClause?.namedBindings &&
|
|
305
|
+
ts.isNamedImports(core.importClause.namedBindings)) {
|
|
306
|
+
const named = core.importClause.namedBindings;
|
|
307
|
+
const existing = named.elements.map((element) => element.getText(sourceFile));
|
|
308
|
+
edits.push({
|
|
309
|
+
start: named.getStart(sourceFile),
|
|
310
|
+
end: named.getEnd(),
|
|
311
|
+
text: `{ ${[...existing, ...names].join(', ')} }`,
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
else if (names.length > 0) {
|
|
315
|
+
insertion = `import { ${names.join(', ')} } from '${LoggerRenames.CORE_MODULE}';\n`;
|
|
316
|
+
}
|
|
317
|
+
let inserted = insertion === '';
|
|
318
|
+
for (const statement of sourceFile.statements) {
|
|
319
|
+
if (!ts.isImportDeclaration(statement)) {
|
|
320
|
+
continue;
|
|
321
|
+
}
|
|
322
|
+
const clause = statement.importClause;
|
|
323
|
+
const named = clause?.namedBindings;
|
|
324
|
+
if (!clause || !named || !ts.isNamedImports(named)) {
|
|
325
|
+
continue;
|
|
326
|
+
}
|
|
327
|
+
const dropped = named.elements.filter((element) => removed.has(element));
|
|
328
|
+
if (dropped.length === 0) {
|
|
329
|
+
continue;
|
|
330
|
+
}
|
|
331
|
+
const kept = named.elements
|
|
332
|
+
.filter((element) => !removed.has(element))
|
|
333
|
+
.map((element) => element.getText(sourceFile));
|
|
334
|
+
const lead = inserted ? '' : insertion;
|
|
335
|
+
inserted = true;
|
|
336
|
+
if (kept.length > 0) {
|
|
337
|
+
if (lead) {
|
|
338
|
+
edits.push({
|
|
339
|
+
start: statement.getStart(sourceFile),
|
|
340
|
+
end: statement.getStart(sourceFile),
|
|
341
|
+
text: lead,
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
edits.push({
|
|
345
|
+
start: named.getStart(sourceFile),
|
|
346
|
+
end: named.getEnd(),
|
|
347
|
+
text: named.getText(sourceFile).includes('\n')
|
|
348
|
+
? `{\n${kept.map((name) => ` ${name},`).join('\n')}\n}`
|
|
349
|
+
: `{ ${kept.join(', ')} }`,
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
else if (clause.name) {
|
|
353
|
+
edits.push({ start: clause.name.getEnd(), end: named.getEnd(), text: '' });
|
|
354
|
+
if (lead) {
|
|
355
|
+
edits.push({
|
|
356
|
+
start: statement.getStart(sourceFile),
|
|
357
|
+
end: statement.getStart(sourceFile),
|
|
358
|
+
text: lead,
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
else {
|
|
363
|
+
let end = statement.getEnd();
|
|
364
|
+
if (sourceFile.text[end] === '\n') {
|
|
365
|
+
end += 1;
|
|
366
|
+
}
|
|
367
|
+
edits.push({ start: statement.getStart(sourceFile), end, text: lead });
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
return edits;
|
|
371
|
+
}
|
|
372
|
+
static apply(opts) {
|
|
373
|
+
// Equal starts: the longer edit first, so an insertion lands before what it precedes.
|
|
374
|
+
const ordered = [...opts.edits].sort((a, b) => b.start - a.start || b.end - a.end);
|
|
375
|
+
let result = opts.text;
|
|
376
|
+
for (const edit of ordered) {
|
|
377
|
+
result = result.slice(0, edit.start) + edit.text + result.slice(edit.end);
|
|
378
|
+
}
|
|
379
|
+
return result;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/codemod/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type IFinding, type TTypeScript } from './transform.js';
|
|
2
|
+
export interface IMigrationResult {
|
|
3
|
+
text: string;
|
|
4
|
+
/** Uses rewritten, across both passes. */
|
|
5
|
+
renamed: number;
|
|
6
|
+
/** What was left, and the notes about what was changed on purpose. */
|
|
7
|
+
findings: IFinding[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Every pass of `ardor codemod namespace` over one file: the renames to class members and plain
|
|
11
|
+
* types, then the move off the kernel logger. The second pass reads the first one's output, but a
|
|
12
|
+
* finding must point at the line of the file as it is on disk, so the findings of each pass come
|
|
13
|
+
* from the original text and only the text comes from the chain.
|
|
14
|
+
*/
|
|
15
|
+
export declare class Migration {
|
|
16
|
+
static run(opts: {
|
|
17
|
+
ts: TTypeScript;
|
|
18
|
+
fileName: string;
|
|
19
|
+
text: string;
|
|
20
|
+
hooks: boolean;
|
|
21
|
+
}): IMigrationResult;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=migrate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/codemod/migrate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAsB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAElF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;QACf,EAAE,EAAE,WAAW,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,GAAG,gBAAgB;CAYrB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LoggerTransform } from './logger.js';
|
|
2
|
+
import { NamespaceTransform } from './transform.js';
|
|
3
|
+
/**
|
|
4
|
+
* Every pass of `ardor codemod namespace` over one file: the renames to class members and plain
|
|
5
|
+
* types, then the move off the kernel logger. The second pass reads the first one's output, but a
|
|
6
|
+
* finding must point at the line of the file as it is on disk, so the findings of each pass come
|
|
7
|
+
* from the original text and only the text comes from the chain.
|
|
8
|
+
*/
|
|
9
|
+
export class Migration {
|
|
10
|
+
static run(opts) {
|
|
11
|
+
const { ts, fileName, text, hooks } = opts;
|
|
12
|
+
const names = NamespaceTransform.run({ ts, fileName, text, hooks });
|
|
13
|
+
const loggerOnOriginal = LoggerTransform.run({ ts, fileName, text });
|
|
14
|
+
const logger = LoggerTransform.run({ ts, fileName, text: names.text });
|
|
15
|
+
return {
|
|
16
|
+
text: logger.text,
|
|
17
|
+
renamed: names.renamed + logger.renamed,
|
|
18
|
+
findings: [...names.findings, ...loggerOnOriginal.findings],
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/codemod/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAiB,kBAAkB,EAAoB,MAAM,aAAa,CAAC;AAUlF;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IACpB,MAAM,CAAC,GAAG,CAAC,IAKV;QACC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC3C,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvE,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO;YACvC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC;SAC5D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/** A member of a class: `ValueUtility.isDefined` is `{ owner: 'ValueUtility', member: 'isDefined' }`. */
|
|
2
|
+
export interface IMemberTarget {
|
|
3
|
+
owner: string;
|
|
4
|
+
member: string;
|
|
5
|
+
}
|
|
6
|
+
/** The packages whose exports the codemod rewrites. Anything else with the same name is left alone. */
|
|
7
|
+
export declare class NamespaceModules {
|
|
8
|
+
static readonly UMBRELLA = "@venizia/ardor";
|
|
9
|
+
static readonly SCHEME_SET: Set<string>;
|
|
10
|
+
static isValid(value: string): boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The bare functions that became static members of a class (removed after 0.4.6). The class
|
|
14
|
+
* is exported by the package that exported the function, so an import is rewritten in place.
|
|
15
|
+
*/
|
|
16
|
+
export declare class FunctionRenames {
|
|
17
|
+
static readonly TARGETS: Readonly<Record<string, IMemberTarget>>;
|
|
18
|
+
static find(opts: {
|
|
19
|
+
name: string;
|
|
20
|
+
}): IMemberTarget | undefined;
|
|
21
|
+
}
|
|
22
|
+
/** Every hook the `Ardor` namespace of `@venizia/ardor` holds. */
|
|
23
|
+
export declare class HookRenames {
|
|
24
|
+
static readonly OWNER = "Ardor";
|
|
25
|
+
static readonly NAMES: Set<string>;
|
|
26
|
+
static find(opts: {
|
|
27
|
+
name: string;
|
|
28
|
+
}): IMemberTarget | undefined;
|
|
29
|
+
}
|
|
30
|
+
/** Types that became a plain type (removed after 0.4.6). The replacement is the exact old definition. */
|
|
31
|
+
export declare class TypeRenames {
|
|
32
|
+
static readonly TARGETS: Readonly<Record<string, string>>;
|
|
33
|
+
static find(opts: {
|
|
34
|
+
name: string;
|
|
35
|
+
}): string | undefined;
|
|
36
|
+
}
|
|
37
|
+
/** Exports and members removed with no code the codemod can write in their place. */
|
|
38
|
+
export declare class RemovedNames {
|
|
39
|
+
static readonly EXPORTS: Readonly<Record<string, string>>;
|
|
40
|
+
/** Class name to removed static member to the reason. */
|
|
41
|
+
static readonly MEMBERS: Readonly<Record<string, Readonly<Record<string, string>>>>;
|
|
42
|
+
static findExport(opts: {
|
|
43
|
+
name: string;
|
|
44
|
+
}): string | undefined;
|
|
45
|
+
static findMember(opts: {
|
|
46
|
+
owner: string;
|
|
47
|
+
member: string;
|
|
48
|
+
}): string | undefined;
|
|
49
|
+
}
|
|
50
|
+
/** The kernel logger stack that IGNIS's browser-safe `core` entry replaces. */
|
|
51
|
+
export declare class LoggerRenames {
|
|
52
|
+
static readonly CORE_MODULE = "@venizia/ignis-helpers/core";
|
|
53
|
+
/** Same name, same shape, other package: only the import moves. */
|
|
54
|
+
static readonly MOVED: Set<string>;
|
|
55
|
+
/** The class the kernel's `Logger` is replaced by in `Logger.getInstance(...)` and `new Logger(...)`: `LoggerFactory.getLogger([scope])`. */
|
|
56
|
+
static readonly FACTORY = "LoggerFactory";
|
|
57
|
+
/** The type a `Logger` annotation becomes. */
|
|
58
|
+
static readonly TYPE = "ILogger";
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=renames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renames.d.ts","sourceRoot":"","sources":["../../src/codemod/renames.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uGAAuG;AACvG,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,QAAQ,CAAC,QAAQ,oBAAoB;IAE5C,MAAM,CAAC,QAAQ,CAAC,UAAU,cAKvB;IAEH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAc9D;IAEF,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,GAAG,SAAS;CAG/D;AAED,kEAAkE;AAClE,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAEhC,MAAM,CAAC,QAAQ,CAAC,KAAK,cAwBlB;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,GAAG,SAAS;CAG/D;AAED,yGAAyG;AACzG,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAIvD;IAEF,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,GAAG,SAAS;CAGxD;AAED,qFAAqF;AACrF,qBAAa,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAIvD;IAEF,yDAAyD;IACzD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAMjF;IAEF,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,GAAG,SAAS;IAI7D,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,GAAG,SAAS;CAK/E;AAED,+EAA+E;AAC/E,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,WAAW,iCAAiC;IAE5D,mEAAmE;IACnE,MAAM,CAAC,QAAQ,CAAC,KAAK,cAAgE;IAErF,6IAA6I;IAC7I,MAAM,CAAC,QAAQ,CAAC,OAAO,mBAAmB;IAE1C,8CAA8C;IAC9C,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAa;CAClC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/** The packages whose exports the codemod rewrites. Anything else with the same name is left alone. */
|
|
2
|
+
export class NamespaceModules {
|
|
3
|
+
static { this.UMBRELLA = '@venizia/ardor'; }
|
|
4
|
+
static { this.SCHEME_SET = new Set([
|
|
5
|
+
NamespaceModules.UMBRELLA,
|
|
6
|
+
'@venizia/ardor-kernel',
|
|
7
|
+
'@venizia/ardor-react',
|
|
8
|
+
'@venizia/ardor-admin',
|
|
9
|
+
]); }
|
|
10
|
+
static isValid(value) {
|
|
11
|
+
return this.SCHEME_SET.has(value);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The bare functions that became static members of a class (removed after 0.4.6). The class
|
|
16
|
+
* is exported by the package that exported the function, so an import is rewritten in place.
|
|
17
|
+
*/
|
|
18
|
+
export class FunctionRenames {
|
|
19
|
+
static { this.TARGETS = {
|
|
20
|
+
isDefined: { owner: 'ValueUtility', member: 'isDefined' },
|
|
21
|
+
isString: { owner: 'ValueUtility', member: 'isString' },
|
|
22
|
+
isNumber: { owner: 'ValueUtility', member: 'isNumber' },
|
|
23
|
+
isObject: { owner: 'ValueUtility', member: 'isObject' },
|
|
24
|
+
isValidDate: { owner: 'ValueUtility', member: 'isValidDate' },
|
|
25
|
+
isBrowser: { owner: 'BrowserUtility', member: 'isBrowser' },
|
|
26
|
+
toDataUrl: { owner: 'FileUtility', member: 'toDataUrl' },
|
|
27
|
+
getRuntimeConfig: { owner: 'RuntimeConfig', member: 'get' },
|
|
28
|
+
createAppDispatch: { owner: 'DispatchHooks', member: 'create' },
|
|
29
|
+
createAppSelectors: { owner: 'SelectorHooks', member: 'create' },
|
|
30
|
+
resolveApplicationProviders: { owner: 'ApplicationProviders', member: 'resolve' },
|
|
31
|
+
hasPendingFeatureMessages: { owner: 'Features', member: 'hasPendingMessages' },
|
|
32
|
+
loadFeatureMessages: { owner: 'Features', member: 'loadMessages' },
|
|
33
|
+
}; }
|
|
34
|
+
static find(opts) {
|
|
35
|
+
return Object.hasOwn(this.TARGETS, opts.name) ? this.TARGETS[opts.name] : undefined;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/** Every hook the `Ardor` namespace of `@venizia/ardor` holds. */
|
|
39
|
+
export class HookRenames {
|
|
40
|
+
static { this.OWNER = 'Ardor'; }
|
|
41
|
+
static { this.NAMES = new Set([
|
|
42
|
+
'useApplicationContext',
|
|
43
|
+
'useApplicationLogger',
|
|
44
|
+
'useAutosave',
|
|
45
|
+
'useBeforeUnload',
|
|
46
|
+
'useComponent',
|
|
47
|
+
'useConfiguration',
|
|
48
|
+
'useConfirm',
|
|
49
|
+
'useCopyToClipboard',
|
|
50
|
+
'useDebounce',
|
|
51
|
+
'useDocumentTitle',
|
|
52
|
+
'useFeatures',
|
|
53
|
+
'useHtmlLang',
|
|
54
|
+
'useInjectable',
|
|
55
|
+
'useInjectableContainer',
|
|
56
|
+
'useNotifyError',
|
|
57
|
+
'useProvider',
|
|
58
|
+
'useRefreshToken',
|
|
59
|
+
'useRepository',
|
|
60
|
+
'useRequestHeaderLocale',
|
|
61
|
+
'useService',
|
|
62
|
+
'useSizer',
|
|
63
|
+
'useTranslate',
|
|
64
|
+
'useWindowDimensions',
|
|
65
|
+
]); }
|
|
66
|
+
static find(opts) {
|
|
67
|
+
return this.NAMES.has(opts.name) ? { owner: this.OWNER, member: opts.name } : undefined;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/** Types that became a plain type (removed after 0.4.6). The replacement is the exact old definition. */
|
|
71
|
+
export class TypeRenames {
|
|
72
|
+
static { this.TARGETS = {
|
|
73
|
+
NumberIdType: 'number',
|
|
74
|
+
StringIdType: 'string',
|
|
75
|
+
NullableType: 'undefined | null | void',
|
|
76
|
+
}; }
|
|
77
|
+
static find(opts) {
|
|
78
|
+
return Object.hasOwn(this.TARGETS, opts.name) ? this.TARGETS[opts.name] : undefined;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/** Exports and members removed with no code the codemod can write in their place. */
|
|
82
|
+
export class RemovedNames {
|
|
83
|
+
static { this.EXPORTS = {
|
|
84
|
+
isEditableTarget: 'nothing in ARDOR called it; check the event target in your own code',
|
|
85
|
+
TDataCount: 'nothing in ARDOR used it; declare the shape you need',
|
|
86
|
+
ISyncFC: 'write the function type, (props: TProps) => ReactNode',
|
|
87
|
+
}; }
|
|
88
|
+
/** Class name to removed static member to the reason. */
|
|
89
|
+
static { this.MEMBERS = {
|
|
90
|
+
App: { DEFAULT_LOCALE: 'nothing in ARDOR read it, and the i18n provider defaults to "en"' },
|
|
91
|
+
HeaderConstants: {
|
|
92
|
+
REQUEST_DEVICE_INFO: 'nothing in ARDOR sent or read this header',
|
|
93
|
+
RESPONSE_FORMAT: 'nothing in ARDOR sent or read this header',
|
|
94
|
+
},
|
|
95
|
+
}; }
|
|
96
|
+
static findExport(opts) {
|
|
97
|
+
return Object.hasOwn(this.EXPORTS, opts.name) ? this.EXPORTS[opts.name] : undefined;
|
|
98
|
+
}
|
|
99
|
+
static findMember(opts) {
|
|
100
|
+
const members = Object.hasOwn(this.MEMBERS, opts.owner) ? this.MEMBERS[opts.owner] : undefined;
|
|
101
|
+
return members && Object.hasOwn(members, opts.member) ? members[opts.member] : undefined;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/** The kernel logger stack that IGNIS's browser-safe `core` entry replaces. */
|
|
105
|
+
export class LoggerRenames {
|
|
106
|
+
static { this.CORE_MODULE = '@venizia/ignis-helpers/core'; }
|
|
107
|
+
/** Same name, same shape, other package: only the import moves. */
|
|
108
|
+
static { this.MOVED = new Set(['BaseHelper', 'LogLevels', 'ILogger', 'TLogLevel']); }
|
|
109
|
+
/** The class the kernel's `Logger` is replaced by in `Logger.getInstance(...)` and `new Logger(...)`: `LoggerFactory.getLogger([scope])`. */
|
|
110
|
+
static { this.FACTORY = 'LoggerFactory'; }
|
|
111
|
+
/** The type a `Logger` annotation becomes. */
|
|
112
|
+
static { this.TYPE = 'ILogger'; }
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=renames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renames.js","sourceRoot":"","sources":["../../src/codemod/renames.ts"],"names":[],"mappings":"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"}
|