@gtsx/core 0.0.1 → 0.0.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/dist/init.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  const CONFIG_FILE = "gtsx.config.ts";
4
- const INSTRUCTIONS_FILE = ".cursor/rules/gtsx.md";
4
+ const INSTRUCTIONS_FILE = "AGENTS.md";
5
5
  export function initGTSX(options) {
6
6
  const changes = [
7
7
  `${existsSync(join(options.cwd, CONFIG_FILE)) ? "Would keep" : "Would create"} ${CONFIG_FILE}`,
@@ -63,7 +63,7 @@ export default defineGTSXConfig({
63
63
  allUrl: "http://localhost:{port}/gtsx?entry={entry}{gcase}",
64
64
  },
65
65
  studio: {
66
- manifestCacheTtlMs: 1000,
66
+ manifestCacheTtlMs: 60_000,
67
67
  },
68
68
  })
69
69
  `;
@@ -78,6 +78,7 @@ function instructionsTemplate() {
78
78
  - Configure \`preview.url\` to point at this project's GTSX preview route.
79
79
  - Configure \`preview.allUrl\` to render all cases for one entry as a contact sheet.
80
80
  - Configure \`project.root\`, \`project.namespace\`, and \`routes\` as the single source of truth for Studio routes.
81
+ - Put design exploration frames in \`project.root/gtsx/design\`; this path is a convention, not a separate config field.
81
82
  - Do not put secrets, credentials, tokens, or customer data in GTSX cases.
82
83
  `;
83
84
  }
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAahC,MAAM,WAAW,GAAG,gBAAgB,CAAA;AACpC,MAAM,iBAAiB,GAAG,uBAAuB,CAAA;AAEjD,MAAM,UAAU,QAAQ,CAAC,OAAoB;IAC3C,MAAM,OAAO,GAAG;QACd,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,IAAI,WAAW,EAAE;QAC9F,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,IAAI,iBAAiB,EAAE;QAC1G,mEAAmE;KACpE,CAAA;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO;YACL,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,wCAAwC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACrG,MAAM,EAAE,EAAE;SACX,CAAA;IACH,CAAC;IAED,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC,CAAA;IAChE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAA;IAC5E,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAEhC,OAAO;QACL,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,yCAAyC;QACjD,MAAM,EAAE,EAAE;KACX,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAe;IACvD,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAM;IAChC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAClC,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAC7C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAM;IAEpC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAE/D,CAAA;IACD,WAAW,CAAC,OAAO,GAAG;QACpB,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;QAC9B,YAAY,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,YAAY;QACjE,YAAY,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,YAAY;QACjE,cAAc,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,cAAc;KACxE,CAAA;IAED,aAAa,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;;;;;;;;;;;;;;;;;;;;;;CAsBR,CAAA;AACD,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO;;;;;;;;;;CAUR,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAahC,MAAM,WAAW,GAAG,gBAAgB,CAAA;AACpC,MAAM,iBAAiB,GAAG,WAAW,CAAA;AAErC,MAAM,UAAU,QAAQ,CAAC,OAAoB;IAC3C,MAAM,OAAO,GAAG;QACd,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,IAAI,WAAW,EAAE;QAC9F,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,IAAI,iBAAiB,EAAE;QAC1G,mEAAmE;KACpE,CAAA;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO;YACL,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,wCAAwC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACrG,MAAM,EAAE,EAAE;SACX,CAAA;IACH,CAAC;IAED,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC,CAAA;IAChE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAA;IAC5E,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAEhC,OAAO;QACL,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,yCAAyC;QACjD,MAAM,EAAE,EAAE;KACX,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAe;IACvD,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAM;IAChC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAClC,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAC7C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAM;IAEpC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAE/D,CAAA;IACD,WAAW,CAAC,OAAO,GAAG;QACpB,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;QAC9B,YAAY,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,YAAY;QACjE,YAAY,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,YAAY;QACjE,cAAc,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,cAAc;KACxE,CAAA;IAED,aAAa,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;;;;;;;;;;;;;;;;;;;;;;CAsBR,CAAA;AACD,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO;;;;;;;;;;;CAWR,CAAA;AACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-index.d.ts","sourceRoot":"","sources":["../src/project-index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAG1F,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAChC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClC,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,EAAE,cAAc,EAAE,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,yBAAyB,EAAE,CAAA;IACvC,WAAW,EAAE,cAAc,EAAE,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,CAAC,CAAA;IACV,KAAK,EAAE,oBAAoB,EAAE,CAAA;IAC7B,WAAW,EAAE,cAAc,EAAE,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA6BD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,gBAAgB,CAoB7F;AAED,wBAAgB,mCAAmC,CAAC,YAAY,GAAE,4BAAiC,IAMzF,SAAS,4BAA4B,KAAG,gBAAgB,CAYjE"}
1
+ {"version":3,"file":"project-index.d.ts","sourceRoot":"","sources":["../src/project-index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyC,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAGnH,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAChC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClC,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,EAAE,cAAc,EAAE,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,yBAAyB,EAAE,CAAA;IACvC,WAAW,EAAE,cAAc,EAAE,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,CAAC,CAAA;IACV,KAAK,EAAE,oBAAoB,EAAE,CAAA;IAC7B,WAAW,EAAE,cAAc,EAAE,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAuCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,gBAAgB,CAuB7F;AAED,wBAAgB,mCAAmC,CAAC,YAAY,GAAE,4BAAiC,IAIzF,SAAS,4BAA4B,KAAG,gBAAgB,CAYjE"}
@@ -2,18 +2,20 @@ import { createHash } from "node:crypto";
2
2
  import { readdirSync, readFileSync } from "node:fs";
3
3
  import { dirname, join, relative, resolve, sep } from "node:path";
4
4
  import ts from "typescript";
5
- import { analyzeEntry } from "./analyzer.js";
5
+ import { analyzeEntry, createGTSXAnalysisCache } from "./analyzer.js";
6
6
  import { discoverGTSXProgramFiles, findNearestTSConfig } from "./project-scope.js";
7
- const IGNORED_DISCOVERY_DIRS = new Set(["node_modules", "dist", ".vite", ".next", ".git"]);
7
+ const IGNORED_DISCOVERY_DIRS = new Set(["node_modules", "dist", ".vite", ".next", ".git", ".gtsx"]);
8
8
  const DEFAULT_PROJECT_INDEX_CACHE_TTL_MS = 1000;
9
+ const globalProjectIndexCacheSymbol = Symbol.for("gtsx.project-index.cache");
9
10
  export function buildGTSXProjectIndex(options) {
10
11
  const projectRoot = options.projectRoot ?? ".";
11
12
  const selectedTSConfigPath = options.tsconfigPath ?? findNearestTSConfig(options.cwd);
12
13
  const moduleResolution = createProjectModuleResolution(options.cwd, selectedTSConfigPath);
13
14
  const fileContexts = discoverGTSXFiles(options.cwd, projectRoot, selectedTSConfigPath).map((filePath) => buildProjectIndexFileContext(options.cwd, filePath));
14
15
  const fileContextsByFilePath = new Map(fileContexts.map((context) => [context.filePath, context]));
16
+ const analysisCache = createGTSXAnalysisCache(new Map(fileContexts.map((context) => [resolve(options.cwd, context.filePath), context.sourceFile])));
15
17
  const exportedComponentsByFilePath = new Map(fileContexts.map((context) => [context.filePath, context.exportedComponents]));
16
- const files = fileContexts.map((context) => buildProjectIndexFile(options.cwd, context, exportedComponentsByFilePath, fileContextsByFilePath, moduleResolution));
18
+ const files = fileContexts.map((context) => buildProjectIndexFile(options.cwd, context, exportedComponentsByFilePath, fileContextsByFilePath, moduleResolution, analysisCache));
17
19
  return {
18
20
  version: 1,
19
21
  files,
@@ -22,21 +24,24 @@ export function buildGTSXProjectIndex(options) {
22
24
  }
23
25
  export function createCachedGTSXProjectIndexBuilder(cacheOptions = {}) {
24
26
  const ttlMs = cacheOptions.ttlMs ?? DEFAULT_PROJECT_INDEX_CACHE_TTL_MS;
25
- let cachedKey;
26
- let cachedAt = 0;
27
- let cachedIndex;
27
+ const cache = globalProjectIndexCache();
28
28
  return (options) => {
29
29
  const key = projectIndexCacheKey(options);
30
30
  const now = Date.now();
31
- if (cachedIndex && cachedKey === key && now - cachedAt <= ttlMs) {
32
- return cachedIndex;
31
+ const cached = cache.get(key);
32
+ if (cached && now - cached.cachedAt <= ttlMs) {
33
+ return cached.index;
33
34
  }
34
- cachedKey = key;
35
- cachedAt = now;
36
- cachedIndex = buildGTSXProjectIndex(options);
37
- return cachedIndex;
35
+ const index = buildGTSXProjectIndex(options);
36
+ cache.set(key, { cachedAt: now, index });
37
+ return index;
38
38
  };
39
39
  }
40
+ function globalProjectIndexCache() {
41
+ const globalCache = globalThis;
42
+ globalCache[globalProjectIndexCacheSymbol] ??= new Map();
43
+ return globalCache[globalProjectIndexCacheSymbol];
44
+ }
40
45
  function buildProjectIndexFileContext(cwd, filePath) {
41
46
  const sourceText = readFileSync(resolve(cwd, filePath), "utf8");
42
47
  const sourceFile = ts.createSourceFile(filePath, sourceText, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
@@ -54,8 +59,8 @@ function projectIndexCacheKey(options) {
54
59
  tsconfigPath: options.tsconfigPath ? resolve(options.cwd, options.tsconfigPath) : undefined,
55
60
  });
56
61
  }
57
- function buildProjectIndexFile(cwd, context, exportedComponentsByFilePath, fileContextsByFilePath, moduleResolution) {
58
- const components = context.exportedComponents.map((component) => buildProjectIndexComponent(cwd, context.filePath, context.sourceHash, component, dependencyCoordinatesForComponent(context, component, exportedComponentsByFilePath, fileContextsByFilePath, moduleResolution)));
62
+ function buildProjectIndexFile(cwd, context, exportedComponentsByFilePath, fileContextsByFilePath, moduleResolution, analysisCache) {
63
+ const components = context.exportedComponents.map((component) => buildProjectIndexComponent(cwd, context.filePath, context.sourceHash, component, dependencyCoordinatesForComponent(context, component, exportedComponentsByFilePath, fileContextsByFilePath, moduleResolution), analysisCache));
59
64
  const fileDiagnostics = context.exportedComponents.length === 0
60
65
  ? [
61
66
  {
@@ -73,9 +78,9 @@ function buildProjectIndexFile(cwd, context, exportedComponentsByFilePath, fileC
73
78
  diagnostics: [...fileDiagnostics, ...components.flatMap((component) => component.diagnostics)],
74
79
  };
75
80
  }
76
- function buildProjectIndexComponent(cwd, filePath, sourceHash, component, dependencies) {
81
+ function buildProjectIndexComponent(cwd, filePath, sourceHash, component, dependencies, analysisCache) {
77
82
  const coordinate = `${filePath}#${component.exportName}`;
78
- const analysis = analyzeEntry({ cwd, entry: coordinate });
83
+ const analysis = analyzeEntry({ cache: analysisCache, cwd, entry: coordinate });
79
84
  return {
80
85
  coordinate,
81
86
  filePath,
@@ -127,6 +132,7 @@ function createProjectModuleResolution(cwd, tsconfigPath) {
127
132
  }
128
133
  function readExportedComponents(sourceFile) {
129
134
  const components = [];
135
+ const caseTargets = readCaseTargetNames(sourceFile);
130
136
  for (const statement of sourceFile.statements) {
131
137
  if ((ts.isFunctionDeclaration(statement) || ts.isClassDeclaration(statement)) &&
132
138
  statement.name &&
@@ -140,18 +146,71 @@ function readExportedComponents(sourceFile) {
140
146
  components.push({ exportName: statement.name.text, componentName: statement.name.text, localName: statement.name.text });
141
147
  continue;
142
148
  }
149
+ if (ts.isVariableStatement(statement) && hasModifier(statement, ts.SyntaxKind.ExportKeyword)) {
150
+ for (const declaration of statement.declarationList.declarations) {
151
+ if (!ts.isIdentifier(declaration.name))
152
+ continue;
153
+ if (!caseTargets.has(declaration.name.text))
154
+ continue;
155
+ if (!isFunctionLikeInitializer(declaration.initializer))
156
+ continue;
157
+ components.push({
158
+ exportName: declaration.name.text,
159
+ componentName: declaration.name.text,
160
+ localName: declaration.name.text,
161
+ });
162
+ }
163
+ continue;
164
+ }
143
165
  if (ts.isExportAssignment(statement) && ts.isIdentifier(statement.expression)) {
144
166
  components.push({ exportName: "default", componentName: statement.expression.text, localName: statement.expression.text });
167
+ continue;
168
+ }
169
+ if (ts.isExportDeclaration(statement) && !statement.moduleSpecifier && statement.exportClause && ts.isNamedExports(statement.exportClause)) {
170
+ for (const element of statement.exportClause.elements) {
171
+ const localName = element.propertyName?.text ?? element.name.text;
172
+ if (!caseTargets.has(localName))
173
+ continue;
174
+ if (components.some((component) => component.localName === localName))
175
+ continue;
176
+ const declaration = findComponentDeclaration(sourceFile, localName);
177
+ if (!declaration)
178
+ continue;
179
+ components.push({
180
+ exportName: element.name.text,
181
+ componentName: localName,
182
+ localName,
183
+ });
184
+ }
145
185
  }
146
186
  }
147
187
  return components;
148
188
  }
189
+ function readCaseTargetNames(sourceFile) {
190
+ const names = new Set();
191
+ for (const statement of sourceFile.statements) {
192
+ if (!ts.isExpressionStatement(statement))
193
+ continue;
194
+ const expression = statement.expression;
195
+ if (!ts.isBinaryExpression(expression))
196
+ continue;
197
+ if (expression.operatorToken.kind !== ts.SyntaxKind.EqualsToken)
198
+ continue;
199
+ if (!ts.isPropertyAccessExpression(expression.left) || expression.left.name.text !== "cases")
200
+ continue;
201
+ if (ts.isIdentifier(expression.left.expression)) {
202
+ names.add(expression.left.expression.text);
203
+ }
204
+ }
205
+ return names;
206
+ }
149
207
  function dependencyCoordinatesForComponent(context, component, exportedComponentsByFilePath, fileContextsByFilePath, moduleResolution) {
150
208
  const declaration = findComponentDeclaration(context.sourceFile, component.localName);
151
209
  if (!declaration)
152
210
  return [];
153
211
  const localBindings = localComponentBindings(context.filePath, context.exportedComponents);
154
212
  const importBindings = componentImportBindingsForFile(context.filePath, context.sourceFile, exportedComponentsByFilePath, fileContextsByFilePath, moduleResolution);
213
+ const localAliases = localComponentAliasBindingsForDeclaration(declaration);
155
214
  const ownCoordinate = `${context.filePath}#${component.exportName}`;
156
215
  const dependencies = [];
157
216
  const seen = new Set();
@@ -163,7 +222,7 @@ function dependencyCoordinatesForComponent(context, component, exportedComponent
163
222
  };
164
223
  const visit = (node) => {
165
224
  if (ts.isJsxOpeningElement(node) || ts.isJsxSelfClosingElement(node)) {
166
- addDependency(componentCoordinateForJsxTag(node.tagName, importBindings, localBindings));
225
+ addDependency(componentCoordinateForJsxTag(node.tagName, importBindings, localBindings, localAliases));
167
226
  }
168
227
  ts.forEachChild(node, visit);
169
228
  };
@@ -185,9 +244,48 @@ function findComponentDeclaration(sourceFile, localName) {
185
244
  }
186
245
  return undefined;
187
246
  }
247
+ function isFunctionLikeInitializer(initializer) {
248
+ if (!initializer)
249
+ return false;
250
+ const expression = unwrapExpression(initializer);
251
+ return ts.isArrowFunction(expression) || ts.isFunctionExpression(expression);
252
+ }
253
+ function unwrapExpression(expression) {
254
+ if (ts.isSatisfiesExpression(expression) || ts.isAsExpression(expression) || ts.isParenthesizedExpression(expression)) {
255
+ return unwrapExpression(expression.expression);
256
+ }
257
+ return expression;
258
+ }
188
259
  function localComponentBindings(filePath, exportedComponents) {
189
260
  return new Map(exportedComponents.map((component) => [component.localName, `${filePath}#${component.exportName}`]));
190
261
  }
262
+ function localComponentAliasBindingsForDeclaration(declaration) {
263
+ const aliases = new Map();
264
+ const body = functionLikeBlockBody(declaration);
265
+ if (!body)
266
+ return aliases;
267
+ for (const statement of body.statements) {
268
+ if (!ts.isVariableStatement(statement))
269
+ continue;
270
+ for (const variableDeclaration of statement.declarationList.declarations) {
271
+ if (!ts.isIdentifier(variableDeclaration.name) || !variableDeclaration.initializer)
272
+ continue;
273
+ const initializer = unwrapExpression(variableDeclaration.initializer);
274
+ if (ts.isIdentifier(initializer)) {
275
+ aliases.set(variableDeclaration.name.text, initializer.text);
276
+ }
277
+ }
278
+ }
279
+ return aliases;
280
+ }
281
+ function functionLikeBlockBody(node) {
282
+ if ((ts.isFunctionDeclaration(node) || ts.isFunctionExpression(node) || ts.isArrowFunction(node)) &&
283
+ node.body &&
284
+ ts.isBlock(node.body)) {
285
+ return node.body;
286
+ }
287
+ return undefined;
288
+ }
191
289
  function componentImportBindingsForFile(filePath, sourceFile, exportedComponentsByFilePath, fileContextsByFilePath, moduleResolution) {
192
290
  const bindings = {
193
291
  names: new Map(),
@@ -274,15 +372,29 @@ function importedGTSXFilePathCandidates(basePath) {
274
372
  function normalizeProjectPath(filePath) {
275
373
  return filePath.split(sep).join("/");
276
374
  }
277
- function componentCoordinateForJsxTag(tagName, importBindings, localBindings) {
375
+ function componentCoordinateForJsxTag(tagName, importBindings, localBindings, localAliases) {
278
376
  if (ts.isIdentifier(tagName)) {
279
- return importBindings.names.get(tagName.text) ?? localBindings.get(tagName.text);
377
+ return componentCoordinateForIdentifier(tagName.text, importBindings, localBindings, localAliases);
280
378
  }
281
379
  if (ts.isPropertyAccessExpression(tagName) && ts.isIdentifier(tagName.expression)) {
282
380
  return importBindings.namespaces.get(tagName.expression.text)?.get(tagName.name.text);
283
381
  }
284
382
  return undefined;
285
383
  }
384
+ function componentCoordinateForIdentifier(name, importBindings, localBindings, localAliases) {
385
+ let currentName = name;
386
+ const visited = new Set();
387
+ while (!visited.has(currentName)) {
388
+ visited.add(currentName);
389
+ const aliasTarget = localAliases.get(currentName);
390
+ if (aliasTarget) {
391
+ currentName = aliasTarget;
392
+ continue;
393
+ }
394
+ return importBindings.names.get(currentName) ?? localBindings.get(currentName);
395
+ }
396
+ return undefined;
397
+ }
286
398
  function hasModifier(node, kind) {
287
399
  return Boolean(ts.canHaveModifiers(node) && ts.getModifiers(node)?.some((modifier) => modifier.kind === kind));
288
400
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-index.js","sourceRoot":"","sources":["../src/project-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-index.js","sourceRoot":"","sources":["../src/project-index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-scope.d.ts","sourceRoot":"","sources":["../src/project-scope.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,+BAA+B,GAAG;IAC5C,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,MAAM,EAAE,CAqB3F;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmBnE"}
1
+ {"version":3,"file":"project-scope.d.ts","sourceRoot":"","sources":["../src/project-scope.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,+BAA+B,GAAG;IAC5C,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,MAAM,EAAE,CAkB3F;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmBnE"}
@@ -8,14 +8,11 @@ export function discoverGTSXProgramFiles(options) {
8
8
  if (configFile.error)
9
9
  return [];
10
10
  const parsed = ts.parseJsonConfigFileContent(configFile.config, ts.sys, dirname(configPath));
11
- const program = ts.createProgram({
12
- rootNames: parsed.fileNames,
13
- options: parsed.options,
14
- });
15
11
  const files = new Set();
16
- for (const sourceFile of program.getSourceFiles()) {
17
- const filePath = resolve(sourceFile.fileName);
18
- if (filePath.endsWith(".g.tsx") && isPathInside(root, filePath)) {
12
+ const gtsxInternalRoot = resolve(root, ".gtsx");
13
+ for (const fileName of parsed.fileNames) {
14
+ const filePath = resolve(fileName);
15
+ if (filePath.endsWith(".g.tsx") && isPathInside(root, filePath) && !isPathInside(gtsxInternalRoot, filePath)) {
19
16
  files.add(relative(options.cwd, filePath).split(sep).join("/"));
20
17
  }
21
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-scope.js","sourceRoot":"","sources":["../src/project-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-scope.js","sourceRoot":"","sources":["../src/project-scope.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export declare const GTSX_REACT_COMPONENT_FILE_EXTENSION = ".g.tsx";
2
2
  export type GTSXReactTransformInput = {
3
3
  code: string;
4
4
  filePath: string;
5
+ previewImportQuery?: string;
5
6
  root: string;
6
7
  };
7
8
  export type GTSXReactTransformResult = {
@@ -12,4 +13,8 @@ export declare function transformGTSXReactModule(input: GTSXReactTransformInput)
12
13
  export declare function isGTSXReactComponentFile(filePath: string): boolean;
13
14
  export declare function normalizeGTSXReactModuleId(id: string): string;
14
15
  export declare function transformGTSXComponentBoundaries(input: GTSXReactTransformInput): string;
16
+ export declare function transpileGTSXReactModuleCode(input: {
17
+ code: string;
18
+ filePath: string;
19
+ }): string;
15
20
  //# sourceMappingURL=react-transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-transform.d.ts","sourceRoot":"","sources":["../src/react-transform.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,mCAAmC,WAAW,CAAA;AAE3D,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,GAAG,wBAAwB,GAAG,IAAI,CAWxG;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAyEvF"}
1
+ {"version":3,"file":"react-transform.d.ts","sourceRoot":"","sources":["../src/react-transform.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,mCAAmC,WAAW,CAAA;AAE3D,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,GAAG,wBAAwB,GAAG,IAAI,CAWxG;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CA2FvF;AAmMD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAS9F"}