@mnemonica/tactica 0.4.8 → 0.4.9
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 +3 -2
- package/lib/analyzer.d.ts +15 -0
- package/lib/analyzer.js +38 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/plugins.d.ts +20 -9
- package/lib/plugins.js +1 -1
- package/package.json +4 -4
package/lib/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export { LocalScopeWalker } from './scopes';
|
|
|
15
15
|
export type { ScopeTypeResolver } from './scopes';
|
|
16
16
|
export { CreationGraphBuilder } from './creation-graph';
|
|
17
17
|
export { mergeTacticaPlugins } from './plugins';
|
|
18
|
-
export type { TacticaPlugin, InstrumentationVocabulary } from './plugins';
|
|
18
|
+
export type { TacticaPlugin, InstrumentationVocabulary, DecoratorArgFactory } from './plugins';
|
|
19
19
|
export type { TacticaConfig, TypeNode, TypeGraph, PropertyInfo, AnalyzeResult, AnalyzeError, GeneratedTypes, DefinitionInfo, DefinitionField, DefinitionArg, UsageInfo, DefinitionsJson, UsagesJson, InstrumentationKind, InstrumentationScope, InstrumentationPoint, InstrumentationJson, ControlJson, ModuleBindingKind, ModuleImportKind, ModuleBinding, ModuleInfo, CrossModuleUsage, ModuleGraph, ModulesJson, ScopeKind, ScopeInfo, ScopeVariable, ScopeAnalysis, ScopesJson, CreationGraphNode, CreationGraphEdge, CreationAnchor, CreationGraph, CollectionManifestEntry, CollectionsJson, } from './types';
|
|
20
20
|
export { main, run, watch, parseArgs } from './cli';
|
|
21
21
|
export declare const VERSION: string;
|
package/lib/index.js
CHANGED
|
@@ -68,4 +68,4 @@ Object.defineProperty(exports, "watch", { enumerable: true, get: function () { r
|
|
|
68
68
|
Object.defineProperty(exports, "parseArgs", { enumerable: true, get: function () { return cli_1.parseArgs; } });
|
|
69
69
|
// Version from package.json
|
|
70
70
|
exports.VERSION = pkg.version;
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFYixxREFBdUM7QUFFdkM7Ozs7OztHQU1HO0FBRUgsdUNBQStDO0FBQXRDLDZHQUFBLGlCQUFpQixPQUFBO0FBQzFCLDZEQUEyRDtBQUFsRCx5SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixpQ0FBd0M7QUFBL0Isc0dBQUEsYUFBYSxPQUFBO0FBQ3RCLHlDQUE2QztBQUFwQywyR0FBQSxjQUFjLE9BQUE7QUFDdkIsbUNBQXVDO0FBQTlCLHFHQUFBLFdBQVcsT0FBQTtBQUNwQiwrQ0FBb0Q7QUFBM0Msa0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IsbUNBQTRDO0FBQW5DLDBHQUFBLGdCQUFnQixPQUFBO0FBRXpCLG1EQUF3RDtBQUEvQyxzSEFBQSxvQkFBb0IsT0FBQTtBQUM3QixxQ0FBZ0Q7QUFBdkMsOEdBQUEsbUJBQW1CLE9BQUE7QUE2QzVCLGtCQUFrQjtBQUNsQiw2QkFFZTtBQURkLDJGQUFBLElBQUksT0FBQTtBQUFFLDBGQUFBLEdBQUcsT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUFFLGdHQUFBLFNBQVMsT0FBQTtBQUc1Qiw0QkFBNEI7QUFDZixRQUFBLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgKiBhcyBwa2cgZnJvbSAnLi4vcGFja2FnZS5qc29uJztcblxuLyoqXG4gKiBUYWN0aWNhIC0gVHlwZSBkZWZpbml0aW9uIGdlbmVyYXRvciBmb3IgTW5lbW9uaWNhXG4gKlxuICogR2VuZXJhdGVzIHR5cGUgZGVmaW5pdGlvbnMgZm9yIE1uZW1vbmljYSdzIGR5bmFtaWMgbmVzdGVkIGNvbnN0cnVjdG9ycyxcbiAqIGVuYWJsaW5nIFR5cGVTY3JpcHQgdG8gdW5kZXJzdGFuZCBydW50aW1lIHR5cGUgaGllcmFyY2hpZXMgY3JlYXRlZCB0aHJvdWdoXG4gKiBkZWZpbmUoKSBhbmQgZGVjb3JhdGUoKSBjYWxscy5cbiAqL1xuXG5leHBvcnQgeyBNbmVtb25pY2FBbmFseXplciB9IGZyb20gJy4vYW5hbHl6ZXInO1xuZXhwb3J0IHsgVG9wb2xvZ2ljYUFuYWx5emVyIH0gZnJvbSAnLi90b3BvbG9naWNhLWFuYWx5emVyJztcbmV4cG9ydCB7IFR5cGVHcmFwaEltcGwgfSBmcm9tICcuL2dyYXBoJztcbmV4cG9ydCB7IFR5cGVzR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3InO1xuZXhwb3J0IHsgVHlwZXNXcml0ZXIgfSBmcm9tICcuL3dyaXRlcic7XG5leHBvcnQgeyBNb2R1bGVHcmFwaEJ1aWxkZXIgfSBmcm9tICcuL21vZHVsZS1ncmFwaCc7XG5leHBvcnQgeyBMb2NhbFNjb3BlV2Fsa2VyIH0gZnJvbSAnLi9zY29wZXMnO1xuZXhwb3J0IHR5cGUgeyBTY29wZVR5cGVSZXNvbHZlciB9IGZyb20gJy4vc2NvcGVzJztcbmV4cG9ydCB7IENyZWF0aW9uR3JhcGhCdWlsZGVyIH0gZnJvbSAnLi9jcmVhdGlvbi1ncmFwaCc7XG5leHBvcnQgeyBtZXJnZVRhY3RpY2FQbHVnaW5zIH0gZnJvbSAnLi9wbHVnaW5zJztcbmV4cG9ydCB0eXBlIHtcblx0VGFjdGljYVBsdWdpbiwgSW5zdHJ1bWVudGF0aW9uVm9jYWJ1bGFyeSwgRGVjb3JhdG9yQXJnRmFjdG9yeVxufSBmcm9tICcuL3BsdWdpbnMnO1xuXG5cbmV4cG9ydCB0eXBlIHtcblx0VGFjdGljYUNvbmZpZyxcblx0VHlwZU5vZGUsXG5cdFR5cGVHcmFwaCxcblx0UHJvcGVydHlJbmZvLFxuXHRBbmFseXplUmVzdWx0LFxuXHRBbmFseXplRXJyb3IsXG5cdEdlbmVyYXRlZFR5cGVzLFxuXHREZWZpbml0aW9uSW5mbyxcblx0RGVmaW5pdGlvbkZpZWxkLFxuXHREZWZpbml0aW9uQXJnLFxuXHRVc2FnZUluZm8sXG5cdERlZmluaXRpb25zSnNvbixcblx0VXNhZ2VzSnNvbixcblx0SW5zdHJ1bWVudGF0aW9uS2luZCxcblx0SW5zdHJ1bWVudGF0aW9uU2NvcGUsXG5cdEluc3RydW1lbnRhdGlvblBvaW50LFxuXHRJbnN0cnVtZW50YXRpb25Kc29uLFxuXHRDb250cm9sSnNvbixcblx0TW9kdWxlQmluZGluZ0tpbmQsXG5cdE1vZHVsZUltcG9ydEtpbmQsXG5cdE1vZHVsZUJpbmRpbmcsXG5cdE1vZHVsZUluZm8sXG5cdENyb3NzTW9kdWxlVXNhZ2UsXG5cdE1vZHVsZUdyYXBoLFxuXHRNb2R1bGVzSnNvbixcblx0U2NvcGVLaW5kLFxuXHRTY29wZUluZm8sXG5cdFNjb3BlVmFyaWFibGUsXG5cdFNjb3BlQW5hbHlzaXMsXG5cdFNjb3Blc0pzb24sXG5cdENyZWF0aW9uR3JhcGhOb2RlLFxuXHRDcmVhdGlvbkdyYXBoRWRnZSxcblx0Q3JlYXRpb25BbmNob3IsXG5cdENyZWF0aW9uR3JhcGgsXG5cdENvbGxlY3Rpb25NYW5pZmVzdEVudHJ5LFxuXHRDb2xsZWN0aW9uc0pzb24sXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBDTEkgZW50cnkgcG9pbnRcbmV4cG9ydCB7XG5cdG1haW4sIHJ1biwgd2F0Y2gsIHBhcnNlQXJncyBcbn0gZnJvbSAnLi9jbGknO1xuXG4vLyBWZXJzaW9uIGZyb20gcGFja2FnZS5qc29uXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IHBrZy52ZXJzaW9uO1xuIl19
|
package/lib/plugins.d.ts
CHANGED
|
@@ -9,6 +9,22 @@ import { InstrumentationKind } from './types';
|
|
|
9
9
|
* All keys are matched by identifier TEXT only (no import resolution, no
|
|
10
10
|
* type checker), so a plugin entry fires on any same-named identifier.
|
|
11
11
|
*/
|
|
12
|
+
/**
|
|
13
|
+
* One decorator-arg factory entry: the instrumentation kind, the target
|
|
14
|
+
* argument position (default 0), and whether the factory constructs the
|
|
15
|
+
* target type on the caller's behalf (`instantiation`).
|
|
16
|
+
*/
|
|
17
|
+
export interface DecoratorArgFactory {
|
|
18
|
+
kind: InstrumentationKind;
|
|
19
|
+
targetArg?: number;
|
|
20
|
+
/**
|
|
21
|
+
* The factory constructs the type passed at `targetArg` (e.g. a pipe
|
|
22
|
+
* that runs `new Target(body)` per request): each matched call whose
|
|
23
|
+
* target resolves to a defined type is recorded in usages.json and
|
|
24
|
+
* flow.json as an `instantiation` of that type at the call site.
|
|
25
|
+
*/
|
|
26
|
+
instantiation?: boolean;
|
|
27
|
+
}
|
|
12
28
|
export interface TacticaPlugin {
|
|
13
29
|
/** Plugin name, used in verbose logging */
|
|
14
30
|
name?: string;
|
|
@@ -22,12 +38,10 @@ export interface TacticaPlugin {
|
|
|
22
38
|
* Decorator-arg factory method -> kind + target argument position
|
|
23
39
|
* (`@UsePipes(mvp.forType(Dto))`): a CallExpression arg whose callee is
|
|
24
40
|
* `<anything>.<name>(...)` matches when `name` is listed; the point's
|
|
25
|
-
* class is the identifier in `targetArg` (default 0).
|
|
41
|
+
* class is the identifier in `targetArg` (default 0). With
|
|
42
|
+
* `instantiation: true` the call is also a construction of that type.
|
|
26
43
|
*/
|
|
27
|
-
decoratorArgFactories?: Record<string,
|
|
28
|
-
kind: InstrumentationKind;
|
|
29
|
-
targetArg?: number;
|
|
30
|
-
}>;
|
|
44
|
+
decoratorArgFactories?: Record<string, DecoratorArgFactory>;
|
|
31
45
|
/**
|
|
32
46
|
* Enable middleware wiring detection: `consumer.apply(Mw).forRoutes(...)`
|
|
33
47
|
* inside a `configure()` method. Shape-based (no vocabulary keys), so it
|
|
@@ -43,10 +57,7 @@ export interface InstrumentationVocabulary {
|
|
|
43
57
|
interfaces: Record<string, InstrumentationKind>;
|
|
44
58
|
useDecorators: Record<string, InstrumentationKind>;
|
|
45
59
|
appTokens: Record<string, InstrumentationKind>;
|
|
46
|
-
decoratorArgFactories: Record<string,
|
|
47
|
-
kind: InstrumentationKind;
|
|
48
|
-
targetArg?: number;
|
|
49
|
-
}>;
|
|
60
|
+
decoratorArgFactories: Record<string, DecoratorArgFactory>;
|
|
50
61
|
middlewareWiring: boolean;
|
|
51
62
|
}
|
|
52
63
|
/**
|
package/lib/plugins.js
CHANGED
|
@@ -26,4 +26,4 @@ function mergeTacticaPlugins(plugins) {
|
|
|
26
26
|
}
|
|
27
27
|
return merged;
|
|
28
28
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7QUEwRWIsa0RBa0JDO0FBeEJEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUUsT0FBd0I7SUFDNUQsTUFBTSxNQUFNLEdBQThCO1FBQ3pDLFVBQVUsRUFBYyxFQUFFO1FBQzFCLGFBQWEsRUFBVyxFQUFFO1FBQzFCLFNBQVMsRUFBZSxFQUFFO1FBQzFCLHFCQUFxQixFQUFHLEVBQUU7UUFDMUIsZ0JBQWdCLEVBQVEsS0FBSztLQUM3QixDQUFDO0lBQ0YsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDbkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzFFLElBQUksTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDN0IsTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO0lBQ0YsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgSW5zdHJ1bWVudGF0aW9uS2luZCB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRhY3RpY2EgcGx1Z2luOiBzdXBwbGllcyB0aGUgZnJhbWV3b3JrIHZvY2FidWxhcnkgdGhlIGFuYWx5emVyIG1hdGNoZXNcbiAqIHN5bnRhY3RpY2FsbHkuIFRhY3RpY2EgY29yZSBpcyBmcmFtZXdvcmstYmxpbmQg4oCUIHdpdGggbm8gcGx1Z2lucyBsb2FkZWRcbiAqIGl0IGRldGVjdHMgbm8gaW5zdHJ1bWVudGF0aW9uIHBvaW50cyBhdCBhbGwuIEZyYW1ld29yayBhZGFwdGVycyAoZS5nLiBhXG4gKiBzZXJ2ZXItZnJhbWV3b3JrIGludGVncmF0aW9uIHBhY2thZ2UpIHNoaXAgYSBwbHVnaW47IHByb2plY3RzIGVuYWJsZSBpdFxuICogdGhyb3VnaCBhIGAudGFjdGljYS5qc2AgLyBgdGFjdGljYS5jb25maWcuanNgIGNvbmZpZyBmaWxlLlxuICpcbiAqIEFsbCBrZXlzIGFyZSBtYXRjaGVkIGJ5IGlkZW50aWZpZXIgVEVYVCBvbmx5IChubyBpbXBvcnQgcmVzb2x1dGlvbiwgbm9cbiAqIHR5cGUgY2hlY2tlciksIHNvIGEgcGx1Z2luIGVudHJ5IGZpcmVzIG9uIGFueSBzYW1lLW5hbWVkIGlkZW50aWZpZXIuXG4gKi9cbi8qKlxuICogT25lIGRlY29yYXRvci1hcmcgZmFjdG9yeSBlbnRyeTogdGhlIGluc3RydW1lbnRhdGlvbiBraW5kLCB0aGUgdGFyZ2V0XG4gKiBhcmd1bWVudCBwb3NpdGlvbiAoZGVmYXVsdCAwKSwgYW5kIHdoZXRoZXIgdGhlIGZhY3RvcnkgY29uc3RydWN0cyB0aGVcbiAqIHRhcmdldCB0eXBlIG9uIHRoZSBjYWxsZXIncyBiZWhhbGYgKGBpbnN0YW50aWF0aW9uYCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb3JhdG9yQXJnRmFjdG9yeSB7XG5cdGtpbmQ6IEluc3RydW1lbnRhdGlvbktpbmQ7XG5cdHRhcmdldEFyZz86IG51bWJlcjtcblx0LyoqXG5cdCAqIFRoZSBmYWN0b3J5IGNvbnN0cnVjdHMgdGhlIHR5cGUgcGFzc2VkIGF0IGB0YXJnZXRBcmdgIChlLmcuIGEgcGlwZVxuXHQgKiB0aGF0IHJ1bnMgYG5ldyBUYXJnZXQoYm9keSlgIHBlciByZXF1ZXN0KTogZWFjaCBtYXRjaGVkIGNhbGwgd2hvc2Vcblx0ICogdGFyZ2V0IHJlc29sdmVzIHRvIGEgZGVmaW5lZCB0eXBlIGlzIHJlY29yZGVkIGluIHVzYWdlcy5qc29uIGFuZFxuXHQgKiBmbG93Lmpzb24gYXMgYW4gYGluc3RhbnRpYXRpb25gIG9mIHRoYXQgdHlwZSBhdCB0aGUgY2FsbCBzaXRlLlxuXHQgKi9cblx0aW5zdGFudGlhdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFjdGljYVBsdWdpbiB7XG5cdC8qKiBQbHVnaW4gbmFtZSwgdXNlZCBpbiB2ZXJib3NlIGxvZ2dpbmcgKi9cblx0bmFtZT86IHN0cmluZztcblx0LyoqIEhlcml0YWdlIGludGVyZmFjZSBpZGVudGlmaWVyIC0+IGtpbmQgKGBpbXBsZW1lbnRzIFhgKSAqL1xuXHRpbnN0cnVtZW50YXRpb25JbnRlcmZhY2VzPzogUmVjb3JkPHN0cmluZywgSW5zdHJ1bWVudGF0aW9uS2luZD47XG5cdC8qKiBEZWNvcmF0b3IgaWRlbnRpZmllciAtPiBraW5kIChgQFgoSW1wbClgIG9uIGNsYXNzZXMvbWV0aG9kcykgKi9cblx0dXNlRGVjb3JhdG9ycz86IFJlY29yZDxzdHJpbmcsIEluc3RydW1lbnRhdGlvbktpbmQ+O1xuXHQvKiogUHJvdmlkZXIgdG9rZW4gaWRlbnRpZmllciAtPiBraW5kIChgeyBwcm92aWRlOiBUT0tFTiwgdXNlQ2xhc3M6IFggfWApICovXG5cdGFwcFRva2Vucz86IFJlY29yZDxzdHJpbmcsIEluc3RydW1lbnRhdGlvbktpbmQ+O1xuXHQvKipcblx0ICogRGVjb3JhdG9yLWFyZyBmYWN0b3J5IG1ldGhvZCAtPiBraW5kICsgdGFyZ2V0IGFyZ3VtZW50IHBvc2l0aW9uXG5cdCAqIChgQFVzZVBpcGVzKG12cC5mb3JUeXBlKER0bykpYCk6IGEgQ2FsbEV4cHJlc3Npb24gYXJnIHdob3NlIGNhbGxlZSBpc1xuXHQgKiBgPGFueXRoaW5nPi48bmFtZT4oLi4uKWAgbWF0Y2hlcyB3aGVuIGBuYW1lYCBpcyBsaXN0ZWQ7IHRoZSBwb2ludCdzXG5cdCAqIGNsYXNzIGlzIHRoZSBpZGVudGlmaWVyIGluIGB0YXJnZXRBcmdgIChkZWZhdWx0IDApLiBXaXRoXG5cdCAqIGBpbnN0YW50aWF0aW9uOiB0cnVlYCB0aGUgY2FsbCBpcyBhbHNvIGEgY29uc3RydWN0aW9uIG9mIHRoYXQgdHlwZS5cblx0ICovXG5cdGRlY29yYXRvckFyZ0ZhY3Rvcmllcz86IFJlY29yZDxzdHJpbmcsIERlY29yYXRvckFyZ0ZhY3Rvcnk+O1xuXHQvKipcblx0ICogRW5hYmxlIG1pZGRsZXdhcmUgd2lyaW5nIGRldGVjdGlvbjogYGNvbnN1bWVyLmFwcGx5KE13KS5mb3JSb3V0ZXMoLi4uKWBcblx0ICogaW5zaWRlIGEgYGNvbmZpZ3VyZSgpYCBtZXRob2QuIFNoYXBlLWJhc2VkIChubyB2b2NhYnVsYXJ5IGtleXMpLCBzbyBpdFxuXHQgKiBpcyBvcHQtaW4gcGVyIHBsdWdpbi5cblx0ICovXG5cdG1pZGRsZXdhcmVXaXJpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSBhbmFseXplcidzIG1lcmdlZCB2aWV3IG9mIGFsbCBsb2FkZWQgcGx1Z2luczogb25lIGxvb2t1cCB0YWJsZSBwZXJcbiAqIGRldGVjdGlvbiBjaGFubmVsLCBwbHVzIHRoZSBtaWRkbGV3YXJlLXdpcmluZyBzd2l0Y2guXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdHJ1bWVudGF0aW9uVm9jYWJ1bGFyeSB7XG5cdGludGVyZmFjZXM6IFJlY29yZDxzdHJpbmcsIEluc3RydW1lbnRhdGlvbktpbmQ+O1xuXHR1c2VEZWNvcmF0b3JzOiBSZWNvcmQ8c3RyaW5nLCBJbnN0cnVtZW50YXRpb25LaW5kPjtcblx0YXBwVG9rZW5zOiBSZWNvcmQ8c3RyaW5nLCBJbnN0cnVtZW50YXRpb25LaW5kPjtcblx0ZGVjb3JhdG9yQXJnRmFjdG9yaWVzOiBSZWNvcmQ8c3RyaW5nLCBEZWNvcmF0b3JBcmdGYWN0b3J5Pjtcblx0bWlkZGxld2FyZVdpcmluZzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBNZXJnZSBwbHVnaW5zIGludG8gb25lIHZvY2FidWxhcnkuIExhdGVyIHBsdWdpbnMgb3ZlcnJpZGUgZWFybGllciBvbmVzIG9uXG4gKiB0aGUgc2FtZSBpZGVudGlmaWVyIGtleTsgbWlkZGxld2FyZVdpcmluZyBpcyBhbiBPUiAoYW55IHBsdWdpbiBlbmFibGVzIGl0KS5cbiAqIEFuIGVtcHR5IHBsdWdpbiBsaXN0IHlpZWxkcyBhbiBlbXB0eSB2b2NhYnVsYXJ5IOKAlCB0aGUgYW5hbHl6ZXIgdGhlblxuICogY29sbGVjdHMgemVybyBpbnN0cnVtZW50YXRpb24gcG9pbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VUYWN0aWNhUGx1Z2lucyAocGx1Z2luczogVGFjdGljYVBsdWdpbltdKTogSW5zdHJ1bWVudGF0aW9uVm9jYWJ1bGFyeSB7XG5cdGNvbnN0IG1lcmdlZDogSW5zdHJ1bWVudGF0aW9uVm9jYWJ1bGFyeSA9IHtcblx0XHRpbnRlcmZhY2VzICAgICAgICAgICAgOiB7fSxcblx0XHR1c2VEZWNvcmF0b3JzICAgICAgICAgOiB7fSxcblx0XHRhcHBUb2tlbnMgICAgICAgICAgICAgOiB7fSxcblx0XHRkZWNvcmF0b3JBcmdGYWN0b3JpZXMgOiB7fSxcblx0XHRtaWRkbGV3YXJlV2lyaW5nICAgICAgOiBmYWxzZSxcblx0fTtcblx0Zm9yIChjb25zdCBwbHVnaW4gb2YgcGx1Z2lucykge1xuXHRcdE9iamVjdC5hc3NpZ24obWVyZ2VkLmludGVyZmFjZXMsIHBsdWdpbi5pbnN0cnVtZW50YXRpb25JbnRlcmZhY2VzKTtcblx0XHRPYmplY3QuYXNzaWduKG1lcmdlZC51c2VEZWNvcmF0b3JzLCBwbHVnaW4udXNlRGVjb3JhdG9ycyk7XG5cdFx0T2JqZWN0LmFzc2lnbihtZXJnZWQuYXBwVG9rZW5zLCBwbHVnaW4uYXBwVG9rZW5zKTtcblx0XHRPYmplY3QuYXNzaWduKG1lcmdlZC5kZWNvcmF0b3JBcmdGYWN0b3JpZXMsIHBsdWdpbi5kZWNvcmF0b3JBcmdGYWN0b3JpZXMpO1xuXHRcdGlmIChwbHVnaW4ubWlkZGxld2FyZVdpcmluZykge1xuXHRcdFx0bWVyZ2VkLm1pZGRsZXdhcmVXaXJpbmcgPSB0cnVlO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gbWVyZ2VkO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnemonica/tactica",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.9",
|
|
4
4
|
"description": "Type definition generator for Mnemonica: statically analyzes define() calls and emits .tactica types, registry, and metadata",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"@types/chai": "^4.3.20",
|
|
55
55
|
"@types/mocha": "^10.0.10",
|
|
56
56
|
"@types/node": "^20.19.43",
|
|
57
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
58
|
-
"@typescript-eslint/parser": "^8.
|
|
57
|
+
"@typescript-eslint/eslint-plugin": "^8.72.0",
|
|
58
|
+
"@typescript-eslint/parser": "^8.72.0",
|
|
59
59
|
"ajv": "^8.20.0",
|
|
60
60
|
"chai": "^4.5.0",
|
|
61
61
|
"eslint": "^9.39.5",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"mocha": "^8.4.0",
|
|
68
68
|
"nyc": "^18.0.0",
|
|
69
69
|
"ts-node": "^10.9.2",
|
|
70
|
-
"typeomatica": "^0.3.
|
|
70
|
+
"typeomatica": "^0.3.64",
|
|
71
71
|
"typescript": "^6.0.3"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|