@travetto/transformer 7.0.0-rc.1 → 7.0.0-rc.3

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/src/visitor.ts CHANGED
@@ -5,7 +5,7 @@ import { ManifestModuleFolderType, ManifestModuleUtil } from '@travetto/manifest
5
5
  import { DecoratorMeta, TransformerType, NodeTransformer, TransformerSet, State, TransformPhase } from './types/visitor.ts';
6
6
  import { CoreUtil } from './util/core.ts';
7
7
 
8
- const COMPILER_SRC = new Set<ManifestModuleFolderType>(['support', 'src', '$index']);
8
+ const COMPILER_SOURCE = new Set<ManifestModuleFolderType>(['support', 'src', '$index']);
9
9
 
10
10
  /**
11
11
  * AST Visitor Factory, combines all active transformers into a single pass transformer for the ts compiler
@@ -45,10 +45,10 @@ export class VisitorFactory<S extends State = State> {
45
45
  }
46
46
 
47
47
  #transformers = new Map<TransformerType, TransformerSet<S>>();
48
- #getState: (context: ts.TransformationContext, src: ts.SourceFile) => S;
48
+ #getState: (context: ts.TransformationContext, source: ts.SourceFile) => S;
49
49
 
50
50
  constructor(
51
- getState: (context: ts.TransformationContext, src: ts.SourceFile) => S,
51
+ getState: (context: ts.TransformationContext, source: ts.SourceFile) => S,
52
52
  transformers: NodeTransformer<S, TransformerType, ts.Node>[]
53
53
  ) {
54
54
  this.#getState = getState;
@@ -97,7 +97,7 @@ export class VisitorFactory<S extends State = State> {
97
97
  // Skip transforming all the compiler related content
98
98
  if (
99
99
  /@travetto[/](compiler|manifest|transformer)/.test(state.importName) &&
100
- COMPILER_SRC.has(ManifestModuleUtil.getFolderKey(state.importName.replace(/@travetto[/][^/]+[/]/, '')))
100
+ COMPILER_SOURCE.has(ManifestModuleUtil.getFolderKey(state.importName.replace(/@travetto[/][^/]+[/]/, '')))
101
101
  ) {
102
102
  return state.finalize(file);
103
103
  }
@@ -111,7 +111,7 @@ export class VisitorFactory<S extends State = State> {
111
111
  for (const [idx, all] of [...state.added].toSorted(([idxA], [idxB]) => idxB - idxA)) {
112
112
  statements = [
113
113
  ...statements.slice(0, Math.max(idx, 0)),
114
- ...all.map(v => this.visit(state, context, v)),
114
+ ...all.map(value => this.visit(state, context, value)),
115
115
  ...statements.slice(Math.max(idx, 0))
116
116
  ];
117
117
  state.added.delete(idx);
@@ -122,13 +122,13 @@ export class VisitorFactory<S extends State = State> {
122
122
  node = CoreUtil.updateSource(context.factory, node, statements);
123
123
  }
124
124
  return state.finalize(node);
125
- } catch (err) {
126
- if (!(err instanceof Error)) {
127
- throw err;
125
+ } catch (error) {
126
+ if (!(error instanceof Error)) {
127
+ throw error;
128
128
  }
129
- console!.error('Failed transforming', { error: `${err.message}\n${err.stack}`, file: file.fileName });
130
- const out = new Error(`Failed transforming: ${file.fileName}: ${err.message}`);
131
- out.stack = err.stack;
129
+ console!.error('Failed transforming', { error: `${error.message}\n${error.stack}`, file: file.fileName });
130
+ const out = new Error(`Failed transforming: ${file.fileName}: ${error.message}`);
131
+ out.stack = error.stack;
132
132
  throw out;
133
133
  }
134
134
  };
@@ -158,9 +158,9 @@ export class VisitorFactory<S extends State = State> {
158
158
 
159
159
  // Checks for matches of decorators to registered items
160
160
  const targets = new Map<string, DecoratorMeta>();
161
- for (const dec of state.getDecoratorList(node)) {
162
- for (const sub of dec.targets ?? []) {
163
- targets.set(sub, dec);
161
+ for (const decorator of state.getDecoratorList(node)) {
162
+ for (const sub of decorator.targets ?? []) {
163
+ targets.set(sub, decorator);
164
164
  }
165
165
  }
166
166
 
@@ -168,7 +168,7 @@ export class VisitorFactory<S extends State = State> {
168
168
  return;
169
169
  }
170
170
 
171
- for (const [key, dec] of targets.entries()) {
171
+ for (const [key, decorator] of targets.entries()) {
172
172
  const values = set[phase]!.get(key);
173
173
  if (!values || !values.length) {
174
174
  continue;
@@ -176,7 +176,7 @@ export class VisitorFactory<S extends State = State> {
176
176
 
177
177
  // For all matching handlers, execute
178
178
  for (const item of values) {
179
- node = item[phase]!<T>(state, node, dec) ?? node;
179
+ node = item[phase]!<T>(state, node, decorator) ?? node;
180
180
  }
181
181
  }
182
182
  return node;
@@ -190,13 +190,13 @@ export class VisitorFactory<S extends State = State> {
190
190
  const target = this.#transformers.get(targetType);
191
191
 
192
192
  if (!target) {
193
- return ts.visitEachChild(node, c => this.visit(state, context, c), context);
193
+ return ts.visitEachChild(node, child => this.visit(state, context, child), context);
194
194
  } else {
195
195
  // Before
196
196
  node = this.executePhaseAlways(state, target, 'before', node) ?? node;
197
197
  node = this.executePhase(state, target, 'before', node) ?? node;
198
198
 
199
- node = ts.visitEachChild(node, c => this.visit(state, context, c), context);
199
+ node = ts.visitEachChild(node, child => this.visit(state, context, child), context);
200
200
  // After
201
201
  node = this.executePhaseAlways(state, target, 'after', node) ?? node;
202
202
  node = this.executePhase(state, target, 'after', node) ?? node;