ts-ag 1.1.2 → 1.1.4

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/index.d.mts CHANGED
@@ -632,7 +632,7 @@ declare const error_s3_get: {
632
632
  type type_error_s3_internal = typeof error_s3_internal;
633
633
  type type_error_s3_get = typeof error_s3_get;
634
634
  //#endregion
635
- //#region node_modules/.pnpm/@smithy+types@4.13.0/node_modules/@smithy/types/dist-types/response.d.ts
635
+ //#region node_modules/.pnpm/@smithy+types@4.13.1/node_modules/@smithy/types/dist-types/response.d.ts
636
636
  /**
637
637
  * @public
638
638
  */
@@ -674,7 +674,7 @@ interface MetadataBearer {
674
674
  $metadata: ResponseMetadata;
675
675
  }
676
676
  //#endregion
677
- //#region node_modules/.pnpm/@smithy+types@4.13.0/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts
677
+ //#region node_modules/.pnpm/@smithy+types@4.13.1/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts
678
678
  declare global {
679
679
  /**
680
680
  * interface merging stub.
@@ -682,7 +682,7 @@ declare global {
682
682
  interface RequestInit {}
683
683
  }
684
684
  //#endregion
685
- //#region node_modules/.pnpm/@smithy+types@4.13.0/node_modules/@smithy/types/dist-types/signature.d.ts
685
+ //#region node_modules/.pnpm/@smithy+types@4.13.1/node_modules/@smithy/types/dist-types/signature.d.ts
686
686
  /**
687
687
  * @public
688
688
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":["ResponseMetadata","httpStatusCode","requestId","extendedRequestId","cfId","attempts","totalRetryDelay","MetadataBearer","$metadata","Agent","hAgent","AgentOptions","hAgentOptions","hsAgent","hsAgentOptions","HttpRequest","IHttpRequest","Logger","RequestHandlerParams","NodeHttpHandlerOptions","FetchHttpHandlerOptions","connectionTimeout","requestTimeout","throwOnRequestTimeout","socketTimeout","socketAcquisitionWarningTimeout","httpAgent","httpsAgent","logger","RequestInit","keepAlive","credentials","cache","requestInit","httpRequest","_0","global","sideEffect","Message","HttpRequest","DateInput","Date","SigningArguments","signingDate","signingService","signingRegion","RequestSigningArguments","Set","unsignableHeaders","signableHeaders","RequestPresigningArguments","expiresIn","unhoistableHeaders","hoistableHeaders","EventSigningArguments","priorSignature","RequestPresigner","Promise","presign","requestToSign","options","RequestSigner","sign","StringSigner","stringToSign","FormattedEvent","Uint8Array","headers","payload","EventSigner","event","SignableMessage","message","SignedMessage","signature","MessageSigner","signMessage","args","Data","Point","line","column","offset","Position","start","end","Literal","Node","value","type","data","position","Parent","children","Data","UnistData","Literal","UnistLiteral","Node","UnistNode","Parent","UnistParent","Properties","Array","PropertyName","ElementContent","ElementContentMap","Comment","Element","Text","comment","element","text","RootContent","RootContentMap","Doctype","doctype","Content","Literals","Nodes","Extract","Root","Parents","data","value","children","CommentData","type","DoctypeData","ElementData","tagName","properties","content","RootData","TextData"],"sources":["../src/lambda/handlerUtils.ts","../src/lambda/client-types.ts","../src/lambda/client.ts","../src/lambda/errors.ts","../src/lambda/response.ts","../src/lambda/server/authentication.ts","../src/cognito/client.ts","../src/cognito/errors.ts","../src/cognito/user.ts","../src/cognito/password.ts","../src/s3/client.ts","../src/s3/errors.ts","../node_modules/.pnpm/@smithy+types@4.13.0/node_modules/@smithy/types/dist-types/response.d.ts","../node_modules/.pnpm/@smithy+types@4.13.0/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts","../node_modules/.pnpm/@smithy+types@4.13.0/node_modules/@smithy/types/dist-types/signature.d.ts","../src/s3/signedUrl.ts","../src/s3/object.ts","../src/dynamo/errors.ts","../src/ses/errors.ts","../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../node_modules/.pnpm/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts","../src/rehype/flat-toc.ts","../src/utils/valibot.ts","../src/types/deep.ts","../src/utils/object.ts","../src/utils/fs.ts","../src/utils/cli.ts","../src/types/safe.ts"],"x_google_ignoreList":[12,13,14,19,20],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":["ResponseMetadata","httpStatusCode","requestId","extendedRequestId","cfId","attempts","totalRetryDelay","MetadataBearer","$metadata","Agent","hAgent","AgentOptions","hAgentOptions","hsAgent","hsAgentOptions","HttpRequest","IHttpRequest","Logger","RequestHandlerParams","NodeHttpHandlerOptions","FetchHttpHandlerOptions","connectionTimeout","requestTimeout","throwOnRequestTimeout","socketTimeout","socketAcquisitionWarningTimeout","httpAgent","httpsAgent","logger","RequestInit","keepAlive","credentials","cache","requestInit","httpRequest","_0","global","sideEffect","Message","HttpRequest","DateInput","Date","SigningArguments","signingDate","signingService","signingRegion","RequestSigningArguments","Set","unsignableHeaders","signableHeaders","RequestPresigningArguments","expiresIn","unhoistableHeaders","hoistableHeaders","EventSigningArguments","priorSignature","RequestPresigner","Promise","presign","requestToSign","options","RequestSigner","sign","StringSigner","stringToSign","FormattedEvent","Uint8Array","headers","payload","EventSigner","event","SignableMessage","message","SignedMessage","signature","MessageSigner","signMessage","args","Data","Point","line","column","offset","Position","start","end","Literal","Node","value","type","data","position","Parent","children","Data","UnistData","Literal","UnistLiteral","Node","UnistNode","Parent","UnistParent","Properties","Array","PropertyName","ElementContent","ElementContentMap","Comment","Element","Text","comment","element","text","RootContent","RootContentMap","Doctype","doctype","Content","Literals","Nodes","Extract","Root","Parents","data","value","children","CommentData","type","DoctypeData","ElementData","tagName","properties","content","RootData","TextData"],"sources":["../src/lambda/handlerUtils.ts","../src/lambda/client-types.ts","../src/lambda/client.ts","../src/lambda/errors.ts","../src/lambda/response.ts","../src/lambda/server/authentication.ts","../src/cognito/client.ts","../src/cognito/errors.ts","../src/cognito/user.ts","../src/cognito/password.ts","../src/s3/client.ts","../src/s3/errors.ts","../node_modules/.pnpm/@smithy+types@4.13.1/node_modules/@smithy/types/dist-types/response.d.ts","../node_modules/.pnpm/@smithy+types@4.13.1/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts","../node_modules/.pnpm/@smithy+types@4.13.1/node_modules/@smithy/types/dist-types/signature.d.ts","../src/s3/signedUrl.ts","../src/s3/object.ts","../src/dynamo/errors.ts","../src/ses/errors.ts","../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../node_modules/.pnpm/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts","../src/rehype/flat-toc.ts","../src/utils/valibot.ts","../src/types/deep.ts","../src/utils/object.ts","../src/utils/fs.ts","../src/utils/cli.ts","../src/types/safe.ts"],"x_google_ignoreList":[12,13,14,19,20],"mappings":"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"}
@@ -5,7 +5,7 @@ import { parseArgs } from "util";
5
5
  import console from "console";
6
6
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
7
7
  import { watch } from "chokidar";
8
- import { getTsconfig } from "get-tsconfig";
8
+ import { parseTsconfig } from "get-tsconfig";
9
9
  import { format } from "oxfmt";
10
10
  //#region src/scripts/ts-build-config.ts
11
11
  const DEFAULT_TEST_EXCLUDES = [
@@ -22,41 +22,29 @@ const formatPath = (filePath) => colorText("dim", relative(process.cwd(), filePa
22
22
  const logInfo = (message) => console.log(`${LABEL} ${message}`);
23
23
  const logWarn = (message) => console.warn(`${LABEL} ${colorText("yellow", message)}`);
24
24
  const logError = (message) => console.error(`${LABEL} ${colorText("red", message)}`);
25
- function asArray(v) {
26
- if (!v) return [];
27
- return Array.isArray(v) ? v : [v];
28
- }
29
- function isObject(v) {
30
- return !!v && typeof v === "object" && !Array.isArray(v);
31
- }
32
- function uniq(items) {
25
+ function unique(items) {
33
26
  return Array.from(new Set(items));
34
27
  }
35
- function normalizeRefPath(baseTsconfigPath, refPath) {
36
- return resolve(dirname(baseTsconfigPath), refPath);
37
- }
38
- function resolveReferencedTsconfigPath(refAbsPath) {
39
- if (refAbsPath.endsWith(".json")) return existsSync(refAbsPath) ? refAbsPath : null;
40
- const candidate = join(refAbsPath, "tsconfig.json");
41
- if (existsSync(candidate)) return candidate;
42
- return null;
43
- }
44
- function readTsconfig(tsconfigPath) {
45
- const res = getTsconfig(tsconfigPath);
46
- if (!res) throw new Error(`get-tsconfig could not load: ${tsconfigPath}`);
47
- return res.config;
28
+ /**
29
+ * If the path refers to a file then it returns it otherwise joins tsconfig.json
30
+ */
31
+ function resolveTsConfigPath(refAbsPath) {
32
+ if (refAbsPath.endsWith(".json")) return refAbsPath;
33
+ else return join(refAbsPath, "tsconfig.json");
48
34
  }
35
+ /**
36
+ * Excludes extra paths from the include list that contain test patterns
37
+ */
49
38
  function computeExtraExcludes(config) {
50
39
  const extra = [...DEFAULT_TEST_EXCLUDES];
51
- const includes = asArray(config.include);
52
- for (const inc of includes) {
40
+ for (const inc of config.include ?? []) {
53
41
  const norm = inc.replace(/\\/g, "/").replace(/\/+$/, "");
54
42
  if (norm === "./tests" || norm === "tests" || norm.startsWith("./tests/") || norm.startsWith("tests/")) {
55
43
  extra.push("./tests/**");
56
44
  break;
57
45
  }
58
46
  }
59
- return uniq(extra);
47
+ return unique(extra);
60
48
  }
61
49
  function withTrailingNewline(value) {
62
50
  return value.endsWith("\n") ? value : `${value}\n`;
@@ -85,11 +73,10 @@ async function writeBuildTsconfig(tsconfigPath, config, dryRun) {
85
73
  const buildConfig = {
86
74
  extends: "./tsconfig.json",
87
75
  compilerOptions: {},
88
- exclude: uniq([...asArray(config.exclude), ...computeExtraExcludes(config)])
76
+ exclude: unique([...config.exclude ?? [], ...computeExtraExcludes(config)])
89
77
  };
90
- const refs = asArray(config.references);
91
- if (refs.length > 0) buildConfig.references = refs;
92
- if ((isObject(config.compilerOptions) ? config.compilerOptions : {}).noEmit === true) buildConfig.compilerOptions.noEmit = false;
78
+ if (config.references && config.references.length > 0) buildConfig.references = config.references;
79
+ if (config.compilerOptions?.noEmit === true) buildConfig.compilerOptions.noEmit = false;
93
80
  if (!dryRun) {
94
81
  mkdirSync(dir, { recursive: true });
95
82
  writeFileSync(outPath, `${GENERATED_FILE_HEADER}\n${await formatBuildTsconfigJson(buildConfig)}`, "utf8");
@@ -103,64 +90,43 @@ function isGeneratedByThisScript(filePath) {
103
90
  return false;
104
91
  }
105
92
  }
106
- function getProjectRefs(tsconfigPath, config) {
107
- const refs = asArray(config.references);
108
- const result = [];
109
- for (const r of refs) {
110
- if (!r) continue;
111
- const refPath = typeof r === "string" ? r : r.path;
112
- if (!refPath || typeof refPath !== "string") continue;
113
- const resolved = resolveReferencedTsconfigPath(normalizeRefPath(tsconfigPath, refPath));
114
- if (resolved) result.push(resolved);
115
- }
116
- return uniq(result);
117
- }
93
+ /**
94
+ * @returns true if the tsconfig path should have a build config generated for it
95
+ */
118
96
  function shouldUseBuildConfig(tsconfigPath, force) {
119
- const outPath = join(dirname(tsconfigPath), "tsconfig.build.json");
120
- if (!existsSync(outPath)) return true;
97
+ const buildPath = join(dirname(tsconfigPath), "tsconfig.build.json");
98
+ if (!existsSync(buildPath)) return true;
121
99
  if (force) return true;
122
- return isGeneratedByThisScript(outPath);
123
- }
124
- function asPosixPath(filePath) {
125
- return filePath.replace(/\\/g, "/");
100
+ return isGeneratedByThisScript(buildPath);
126
101
  }
127
102
  function ensureDotRelative(filePath) {
128
103
  if (filePath.startsWith(".")) return filePath;
129
104
  return `./${filePath}`;
130
105
  }
131
- function replaceRefsWithBuildConfigs(tsconfigPath, config, buildConfigSet) {
132
- const refs = asArray(config.references);
133
- if (refs.length === 0) return config;
134
- const baseDir = dirname(tsconfigPath);
135
- const mapped = refs.map((refEntry) => {
136
- if (!refEntry) return refEntry;
137
- const refPath = typeof refEntry === "string" ? refEntry : refEntry.path;
138
- if (!refPath || typeof refPath !== "string") return refEntry;
139
- const normalizedRefPath = ensureDotRelative(asPosixPath(refPath));
140
- const resolvedRefTsconfig = resolveReferencedTsconfigPath(normalizeRefPath(tsconfigPath, refPath));
141
- if (!resolvedRefTsconfig) {
142
- if (typeof refEntry === "string") return normalizedRefPath;
143
- return {
144
- ...refEntry,
145
- path: normalizedRefPath
146
- };
147
- }
148
- if (!buildConfigSet.has(resolvedRefTsconfig)) {
149
- if (typeof refEntry === "string") return normalizedRefPath;
150
- return {
151
- ...refEntry,
152
- path: normalizedRefPath
153
- };
154
- }
155
- const relativeBuildRef = ensureDotRelative(asPosixPath(relative(baseDir, join(dirname(resolvedRefTsconfig), "tsconfig.build.json"))));
156
- if (typeof refEntry === "string") return relativeBuildRef;
106
+ /**
107
+ * Returns the modified tsconfig where the references point to the build configs
108
+ * (that we are going to build)
109
+ */
110
+ function replaceRefsWithBuildConfigs(res, buildConfigSet, remove) {
111
+ const refs = res.config.references;
112
+ if (!refs || refs.length === 0) return res.config;
113
+ const baseDir = dirname(res.path);
114
+ const mapped = refs.map((ref) => {
115
+ const refPath = ensureDotRelative(ref.path);
116
+ const resolvedRefPath = resolveTsConfigPath(resolve(dirname(res.path), refPath));
117
+ if (remove.includes(resolvedRefPath)) return;
118
+ if (!buildConfigSet.has(resolvedRefPath)) return {
119
+ ...ref,
120
+ path: refPath
121
+ };
122
+ const relativeBuildRef = ensureDotRelative(relative(baseDir, join(dirname(resolvedRefPath), "tsconfig.build.json")));
157
123
  return {
158
- ...refEntry,
124
+ ...ref,
159
125
  path: relativeBuildRef
160
126
  };
161
- });
127
+ }).filter((v) => v !== void 0);
162
128
  return {
163
- ...config,
129
+ ...res.config,
164
130
  references: mapped
165
131
  };
166
132
  }
@@ -174,27 +140,34 @@ async function generateBuildConfigs(entry, options) {
174
140
  const tsconfigPath = queue.shift();
175
141
  if (visited.has(tsconfigPath)) continue;
176
142
  visited.add(tsconfigPath);
177
- let cfg;
143
+ let res;
178
144
  try {
179
- cfg = readTsconfig(tsconfigPath);
145
+ const config = parseTsconfig(tsconfigPath);
146
+ if (config) res = {
147
+ path: tsconfigPath,
148
+ config
149
+ };
150
+ else throw new Error("Null returned from getTsConfig");
180
151
  } catch (e) {
181
152
  logWarn(`Skipping unreadable config: ${formatPath(tsconfigPath)}`);
182
153
  if (verbose) console.warn(e);
183
154
  continue;
184
155
  }
185
- loadedConfigs.set(tsconfigPath, cfg);
186
- const refs = getProjectRefs(tsconfigPath, cfg);
156
+ loadedConfigs.set(res.path, res);
157
+ const refs = unique((res.config.references ?? []).map((ref) => {
158
+ return resolveTsConfigPath(resolve(dirname(res.path), ref.path));
159
+ }));
187
160
  for (const r of refs) queue.push(r);
188
161
  }
189
- const discoveredConfigs = Array.from(visited).filter((path) => loadedConfigs.has(path));
162
+ const discoveredConfigs = Array.from(loadedConfigs.keys()).filter((path) => !isGeneratedByThisScript(path));
190
163
  const buildConfigSet = new Set(discoveredConfigs.filter((path) => shouldUseBuildConfig(path, force)));
191
164
  for (const tsconfigPath of discoveredConfigs) {
192
- const cfg = loadedConfigs.get(tsconfigPath);
193
- const outPath = join(dirname(tsconfigPath), "tsconfig.build.json");
165
+ const res = loadedConfigs.get(tsconfigPath);
166
+ const buildPath = join(dirname(tsconfigPath), "tsconfig.build.json");
194
167
  if (!buildConfigSet.has(tsconfigPath)) {
195
- if (verbose) logInfo(`Skip ${formatPath(outPath)} (manual file, use ${colorText("bold", "--force")})`);
168
+ if (verbose) logInfo(`Skip ${formatPath(buildPath)} (manual file, use ${colorText("bold", "--force")})`);
196
169
  } else {
197
- const written = await writeBuildTsconfig(tsconfigPath, replaceRefsWithBuildConfigs(tsconfigPath, cfg, buildConfigSet), dryRun);
170
+ const written = await writeBuildTsconfig(tsconfigPath, replaceRefsWithBuildConfigs(res, buildConfigSet, options.remove), dryRun);
198
171
  created.push({
199
172
  src: tsconfigPath,
200
173
  out: written
@@ -258,7 +231,8 @@ async function main() {
258
231
  verbose: {
259
232
  type: "boolean",
260
233
  short: "v"
261
- }
234
+ },
235
+ remove: { type: "string" }
262
236
  }
263
237
  });
264
238
  const entry = values.config ? resolve(values.config) : null;
@@ -276,7 +250,8 @@ async function main() {
276
250
  const regenerator = createRegenerator(entry, {
277
251
  dryRun,
278
252
  force,
279
- verbose: values.verbose === true
253
+ verbose: values.verbose === true,
254
+ remove: values.remove?.split(" ") ?? []
280
255
  });
281
256
  await regenerator.run("initial run");
282
257
  if (!watchMode) return;
@@ -1 +1 @@
1
- {"version":3,"file":"ts-build-config.mjs","names":["formatWithOxfmt"],"sources":["../../src/scripts/ts-build-config.ts"],"sourcesContent":["#!/usr/bin/env bun\n\nimport console from 'console';\nimport { mkdirSync, writeFileSync, existsSync, readFileSync } from 'fs';\nimport { dirname, join, resolve, relative } from 'path';\nimport { parseArgs } from 'util';\n\nimport type { FSWatcher } from 'chokidar';\nimport { watch } from 'chokidar';\nimport { getTsconfig } from 'get-tsconfig';\nimport { format as formatWithOxfmt } from 'oxfmt';\n\nimport { colorText } from '../utils/cli.js';\n\n// TODO on startup check cwd for oxfmt config and use that instead of my default\n\ntype TsConfigJson = Record<string, any>;\n\nconst DEFAULT_TEST_EXCLUDES = [\n '**/*.test.ts',\n '**/*.test.tsx',\n '**/*.spec.ts',\n '**/*.spec.tsx',\n '**/__tests__/**',\n '**/tests/**'\n];\nconst GENERATED_FILE_HEADER = '// generated by ts-build-config';\n\nconst LABEL = colorText('cyan', '[ts-build-config]');\nconst formatPath = (filePath: string): string => colorText('dim', relative(process.cwd(), filePath));\nconst logInfo = (message: string): void => console.log(`${LABEL} ${message}`);\nconst logWarn = (message: string): void => console.warn(`${LABEL} ${colorText('yellow', message)}`);\nconst logError = (message: string): void => console.error(`${LABEL} ${colorText('red', message)}`);\n\nfunction asArray<T>(v: unknown): T[] {\n if (!v) return [];\n return Array.isArray(v) ? (v as T[]) : [v as T];\n}\n\nfunction isObject(v: unknown): v is Record<string, any> {\n return !!v && typeof v === 'object' && !Array.isArray(v);\n}\n\nfunction uniq(items: string[]): string[] {\n return Array.from(new Set(items));\n}\n\nfunction normalizeRefPath(baseTsconfigPath: string, refPath: string): string {\n // TS project references are relative to the tsconfig location\n const baseDir = dirname(baseTsconfigPath);\n // refPath may point to a folder (containing tsconfig.json) or a file\n const abs = resolve(baseDir, refPath);\n return abs;\n}\n\nfunction resolveReferencedTsconfigPath(refAbsPath: string): string | null {\n // If they referenced a file directly, use it\n if (refAbsPath.endsWith('.json')) {\n return existsSync(refAbsPath) ? refAbsPath : null;\n }\n\n // Otherwise assume it's a directory containing tsconfig.json\n const candidate = join(refAbsPath, 'tsconfig.json');\n if (existsSync(candidate)) return candidate;\n\n // Some repos use tsconfig.base.json or similar; we won't guess.\n return null;\n}\n\nfunction readTsconfig(tsconfigPath: string): TsConfigJson {\n const res = getTsconfig(tsconfigPath);\n if (!res) {\n throw new Error(`get-tsconfig could not load: ${tsconfigPath}`);\n }\n // get-tsconfig returns a parsed config object (includes extends resolved).\n // We want to write a build tsconfig that extends the original file path,\n // so we mostly only need top-level fields we change (exclude/compilerOptions).\n return res.config as TsConfigJson;\n}\n\nfunction computeExtraExcludes(config: TsConfigJson): string[] {\n const extra: string[] = [...DEFAULT_TEST_EXCLUDES];\n\n // If the tsconfig includes ./tests (or tests) explicitly, ensure it is excluded in build config.\n const includes = asArray<string>(config.include);\n for (const inc of includes) {\n const norm = inc.replace(/\\\\/g, '/').replace(/\\/+$/, '');\n if (norm === './tests' || norm === 'tests' || norm.startsWith('./tests/') || norm.startsWith('tests/')) {\n extra.push('./tests/**');\n break;\n }\n }\n\n return uniq(extra);\n}\n\nfunction withTrailingNewline(value: string): string {\n return value.endsWith('\\n') ? value : `${value}\\n`;\n}\n\nasync function formatBuildTsconfigJson(config: TsConfigJson): Promise<string> {\n const fallback = JSON.stringify(config, null, 2);\n\n try {\n const result = await formatWithOxfmt('tsconfig.build.json', fallback, {\n useTabs: false,\n singleQuote: true,\n trailingComma: 'none',\n printWidth: 120,\n objectWrap: 'collapse',\n semi: true,\n proseWrap: 'always',\n sortPackageJson: { sortScripts: true },\n sortImports: {}\n });\n if (!result.errors.length && typeof result.code === 'string' && result.code.length > 0) {\n return withTrailingNewline(result.code);\n }\n } catch {\n // Fallback to plain JSON below.\n }\n\n return withTrailingNewline(fallback);\n}\n\nasync function writeBuildTsconfig(tsconfigPath: string, config: TsConfigJson, dryRun: boolean): Promise<string> {\n const dir = dirname(tsconfigPath);\n const outPath = join(dir, 'tsconfig.build.json');\n\n const existingExclude = asArray<string>(config.exclude);\n const mergedExclude = uniq([...existingExclude, ...computeExtraExcludes(config)]);\n\n const buildConfig: TsConfigJson = { extends: './tsconfig.json', compilerOptions: {}, exclude: mergedExclude };\n const refs = asArray<unknown>(config.references);\n if (refs.length > 0) {\n buildConfig.references = refs;\n }\n\n // If original compilerOptions exists, keep build-specific overrides minimal.\n // But ensure emit is enabled if base tsconfig has noEmit: true (common for editor configs).\n const baseCO = isObject(config.compilerOptions) ? config.compilerOptions : {};\n if (baseCO.noEmit === true) {\n buildConfig.compilerOptions.noEmit = false;\n }\n\n // Keep outDir/rootDir if already set in base; do not guess.\n // If you want to force them, do it in the base tsconfig.json or pass flags later.\n\n if (!dryRun) {\n mkdirSync(dir, { recursive: true });\n const formattedJson = await formatBuildTsconfigJson(buildConfig);\n writeFileSync(outPath, `${GENERATED_FILE_HEADER}\\n${formattedJson}`, 'utf8');\n }\n\n return outPath;\n}\n\nfunction isGeneratedByThisScript(filePath: string): boolean {\n try {\n const contents = readFileSync(filePath, 'utf8');\n const firstLine = contents.split(/\\r?\\n/, 1)[0]?.trim() ?? '';\n return firstLine === GENERATED_FILE_HEADER;\n } catch {\n return false;\n }\n}\n\nfunction getProjectRefs(tsconfigPath: string, config: TsConfigJson): string[] {\n const refs = asArray<any>(config.references);\n const result: string[] = [];\n\n for (const r of refs) {\n if (!r) continue;\n const refPath = typeof r === 'string' ? r : r.path;\n if (!refPath || typeof refPath !== 'string') continue;\n\n const abs = normalizeRefPath(tsconfigPath, refPath);\n const resolved = resolveReferencedTsconfigPath(abs);\n if (resolved) result.push(resolved);\n }\n\n return uniq(result);\n}\n\nfunction shouldUseBuildConfig(tsconfigPath: string, force: boolean): boolean {\n const outPath = join(dirname(tsconfigPath), 'tsconfig.build.json');\n if (!existsSync(outPath)) return true;\n if (force) return true;\n return isGeneratedByThisScript(outPath);\n}\n\nfunction asPosixPath(filePath: string): string {\n return filePath.replace(/\\\\/g, '/');\n}\n\nfunction ensureDotRelative(filePath: string): string {\n if (filePath.startsWith('.')) return filePath;\n return `./${filePath}`;\n}\n\nfunction replaceRefsWithBuildConfigs(\n tsconfigPath: string,\n config: TsConfigJson,\n buildConfigSet: Set<string>\n): TsConfigJson {\n const refs = asArray<any>(config.references);\n if (refs.length === 0) return config;\n\n const baseDir = dirname(tsconfigPath);\n const mapped = refs.map((refEntry) => {\n if (!refEntry) return refEntry;\n\n const refPath = typeof refEntry === 'string' ? refEntry : refEntry.path;\n if (!refPath || typeof refPath !== 'string') return refEntry;\n\n const normalizedRefPath = ensureDotRelative(asPosixPath(refPath));\n const abs = normalizeRefPath(tsconfigPath, refPath);\n const resolvedRefTsconfig = resolveReferencedTsconfigPath(abs);\n if (!resolvedRefTsconfig) {\n if (typeof refEntry === 'string') return normalizedRefPath;\n return { ...refEntry, path: normalizedRefPath };\n }\n if (!buildConfigSet.has(resolvedRefTsconfig)) {\n if (typeof refEntry === 'string') return normalizedRefPath;\n return { ...refEntry, path: normalizedRefPath };\n }\n\n const buildRefPath = join(dirname(resolvedRefTsconfig), 'tsconfig.build.json');\n const relativeBuildRef = ensureDotRelative(asPosixPath(relative(baseDir, buildRefPath)));\n\n if (typeof refEntry === 'string') {\n return relativeBuildRef;\n }\n\n return { ...refEntry, path: relativeBuildRef };\n });\n\n return { ...config, references: mapped };\n}\n\ntype GenerateOptions = { dryRun: boolean; force: boolean; verbose: boolean };\n\nasync function generateBuildConfigs(\n entry: string,\n options: GenerateOptions\n): Promise<{ created: { src: string; out: string }[]; visitedConfigs: string[] }> {\n const { dryRun, force, verbose } = options;\n\n const loadedConfigs = new Map<string, TsConfigJson>();\n const visited = new Set<string>();\n const queue: string[] = [entry];\n const created: { src: string; out: string }[] = [];\n\n // First pass: discover the full referenced tsconfig graph and load configs.\n while (queue.length) {\n const tsconfigPath = queue.shift()!;\n if (visited.has(tsconfigPath)) continue;\n visited.add(tsconfigPath);\n\n let cfg: TsConfigJson;\n try {\n cfg = readTsconfig(tsconfigPath);\n } catch (e) {\n logWarn(`Skipping unreadable config: ${formatPath(tsconfigPath)}`);\n if (verbose) console.warn(e);\n continue;\n }\n loadedConfigs.set(tsconfigPath, cfg);\n\n const refs = getProjectRefs(tsconfigPath, cfg);\n for (const r of refs) queue.push(r);\n }\n\n const discoveredConfigs = Array.from(visited).filter((path) => loadedConfigs.has(path));\n const buildConfigSet = new Set(discoveredConfigs.filter((path) => shouldUseBuildConfig(path, force)));\n\n // Second pass: write build configs with rewritten references.\n for (const tsconfigPath of discoveredConfigs) {\n const cfg = loadedConfigs.get(tsconfigPath)!;\n const outPath = join(dirname(tsconfigPath), 'tsconfig.build.json');\n if (!buildConfigSet.has(tsconfigPath)) {\n if (verbose) {\n logInfo(`Skip ${formatPath(outPath)} (manual file, use ${colorText('bold', '--force')})`);\n }\n } else {\n const rewrittenCfg = replaceRefsWithBuildConfigs(tsconfigPath, cfg, buildConfigSet);\n const written = await writeBuildTsconfig(tsconfigPath, rewrittenCfg, dryRun);\n created.push({ src: tsconfigPath, out: written });\n if (verbose || dryRun) {\n const verb = dryRun ? colorText('yellow', '[dry-run] write') : colorText('green', 'write');\n logInfo(`${verb} ${formatPath(written)} <- ${formatPath(tsconfigPath)}`);\n }\n }\n }\n\n if (!verbose && !dryRun) {\n logInfo(`${colorText('green', 'updated')} ${created.length} tsconfig.build.json file(s)`);\n }\n\n return { created, visitedConfigs: Array.from(visited) };\n}\n\nfunction createRegenerator(\n entry: string,\n options: GenerateOptions\n): { run: (reason?: string) => Promise<void>; syncWatchedConfigs: (watcher: FSWatcher) => void } {\n let isRunning = false;\n let rerunRequested = false;\n let watchedConfigs = new Set<string>();\n\n const syncWatchedConfigs = (watcher: FSWatcher): void => {\n if (watchedConfigs.size === 0) return;\n watcher.add(Array.from(watchedConfigs));\n };\n\n const run = async (reason?: string): Promise<void> => {\n if (isRunning) {\n rerunRequested = true;\n return;\n }\n isRunning = true;\n\n try {\n do {\n rerunRequested = false;\n if (reason) {\n logInfo(`${colorText('cyan', 'regenerate')} (${reason})`);\n reason = undefined;\n }\n const result = await generateBuildConfigs(entry, options);\n watchedConfigs = new Set(result.visitedConfigs);\n } while (rerunRequested);\n } finally {\n isRunning = false;\n }\n };\n\n return { run, syncWatchedConfigs };\n}\n\nasync function main(): Promise<void> {\n const { values } = parseArgs({\n args: process.argv.slice(2),\n options: {\n config: { type: 'string', short: 'c' },\n dryRun: { type: 'boolean' },\n force: { type: 'boolean' }, // overwrite files not generated by this script\n watch: { type: 'boolean', short: 'w' },\n verbose: { type: 'boolean', short: 'v' }\n }\n });\n\n const entry = values.config ? resolve(values.config) : null;\n if (!entry) {\n logError('Missing required flag: --config <path/to/tsconfig.json>');\n process.exit(1);\n }\n if (!existsSync(entry)) {\n logError(`Config file not found: ${formatPath(entry)}`);\n process.exit(1);\n }\n\n const dryRun = values.dryRun === true;\n const force = values.force === true;\n const watchMode = values.watch === true;\n const verbose = values.verbose === true;\n const options: GenerateOptions = { dryRun, force, verbose };\n\n const regenerator = createRegenerator(entry, options);\n await regenerator.run('initial run');\n\n if (!watchMode) {\n return;\n }\n\n logInfo(`watching ${colorText('cyan', 'tsconfig')} changes...`);\n const watcher = watch([], {\n persistent: true,\n ignoreInitial: true,\n awaitWriteFinish: { stabilityThreshold: 300, pollInterval: 100 }\n });\n regenerator.syncWatchedConfigs(watcher);\n\n watcher.on('change', async (filePath) => {\n logInfo(`${colorText('cyan', 'change')} ${formatPath(filePath)}`);\n await regenerator.run(`changed ${relative(process.cwd(), filePath)}`);\n regenerator.syncWatchedConfigs(watcher);\n });\n\n watcher.on('add', async (filePath) => {\n logInfo(`${colorText('cyan', 'add')} ${formatPath(filePath)}`);\n await regenerator.run(`added ${relative(process.cwd(), filePath)}`);\n regenerator.syncWatchedConfigs(watcher);\n });\n\n watcher.on('unlink', async (filePath) => {\n logInfo(`${colorText('yellow', 'remove')} ${formatPath(filePath)}`);\n await regenerator.run(`removed ${relative(process.cwd(), filePath)}`);\n regenerator.syncWatchedConfigs(watcher);\n });\n}\n\nmain().catch((err) => {\n logError('Unhandled error');\n console.error(err);\n process.exit(1);\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"ts-build-config.mjs","names":["formatWithOxfmt"],"sources":["../../src/scripts/ts-build-config.ts"],"sourcesContent":["#!/usr/bin/env bun\n\nimport console from 'console';\nimport { mkdirSync, writeFileSync, existsSync, readFileSync } from 'fs';\nimport { dirname, join, resolve, relative } from 'path';\nimport { parseArgs } from 'util';\n\nimport type { FSWatcher } from 'chokidar';\nimport { watch } from 'chokidar';\nimport { type TsConfigResult, type TsConfigJson, parseTsconfig } from 'get-tsconfig';\nimport { format as formatWithOxfmt } from 'oxfmt';\n\nimport { colorText } from '../utils/cli.js';\n\n// TODO on startup check cwd for oxfmt config and use that instead of my default\n\nconst DEFAULT_TEST_EXCLUDES = [\n '**/*.test.ts',\n '**/*.test.tsx',\n '**/*.spec.ts',\n '**/*.spec.tsx',\n '**/__tests__/**',\n '**/tests/**'\n];\nconst GENERATED_FILE_HEADER = '// generated by ts-build-config';\n\nconst LABEL = colorText('cyan', '[ts-build-config]');\nconst formatPath = (filePath: string): string => colorText('dim', relative(process.cwd(), filePath));\nconst logInfo = (message: string): void => console.log(`${LABEL} ${message}`);\nconst logWarn = (message: string): void => console.warn(`${LABEL} ${colorText('yellow', message)}`);\nconst logError = (message: string): void => console.error(`${LABEL} ${colorText('red', message)}`);\n\nfunction unique(items: string[]): string[] {\n return Array.from(new Set(items));\n}\n\n/**\n * If the path refers to a file then it returns it otherwise joins tsconfig.json\n */\nfunction resolveTsConfigPath(refAbsPath: string): string {\n if (refAbsPath.endsWith('.json')) return refAbsPath;\n else return join(refAbsPath, 'tsconfig.json');\n}\n\n/**\n * Excludes extra paths from the include list that contain test patterns\n */\nfunction computeExtraExcludes(config: TsConfigJson): string[] {\n const extra: string[] = [...DEFAULT_TEST_EXCLUDES];\n\n // If the tsconfig includes ./tests (or tests) explicitly, ensure it is excluded in build config.\n for (const inc of config.include ?? []) {\n const norm = inc.replace(/\\\\/g, '/').replace(/\\/+$/, '');\n if (norm === './tests' || norm === 'tests' || norm.startsWith('./tests/') || norm.startsWith('tests/')) {\n extra.push('./tests/**');\n break;\n }\n }\n\n return unique(extra);\n}\n\nfunction withTrailingNewline(value: string): string {\n return value.endsWith('\\n') ? value : `${value}\\n`;\n}\n\nasync function formatBuildTsconfigJson(config: TsConfigJson): Promise<string> {\n const fallback = JSON.stringify(config, null, 2);\n\n try {\n const result = await formatWithOxfmt('tsconfig.build.json', fallback, {\n useTabs: false,\n singleQuote: true,\n trailingComma: 'none',\n printWidth: 120,\n objectWrap: 'collapse',\n semi: true,\n proseWrap: 'always',\n sortPackageJson: { sortScripts: true },\n sortImports: {}\n });\n if (!result.errors.length && typeof result.code === 'string' && result.code.length > 0) {\n return withTrailingNewline(result.code);\n }\n } catch {\n // Fallback to plain JSON below.\n }\n\n return withTrailingNewline(fallback);\n}\n\nasync function writeBuildTsconfig(tsconfigPath: string, config: TsConfigJson, dryRun: boolean): Promise<string> {\n const dir = dirname(tsconfigPath);\n const outPath = join(dir, 'tsconfig.build.json');\n\n const mergedExclude = unique([...(config.exclude ?? []), ...computeExtraExcludes(config)]);\n\n const buildConfig: TsConfigJson = { extends: './tsconfig.json', compilerOptions: {}, exclude: mergedExclude };\n\n if (config.references && config.references.length > 0) buildConfig.references = config.references;\n\n // If original compilerOptions exists, keep build-specific overrides minimal.\n // But ensure emit is enabled if base tsconfig has noEmit: true (common for editor configs).\n if (config.compilerOptions?.noEmit === true) buildConfig.compilerOptions!.noEmit = false;\n\n // Keep outDir/rootDir if already set in base; do not guess.\n // If you want to force them, do it in the base tsconfig.json or pass flags later.\n\n if (!dryRun) {\n mkdirSync(dir, { recursive: true });\n const formattedJson = await formatBuildTsconfigJson(buildConfig);\n writeFileSync(outPath, `${GENERATED_FILE_HEADER}\\n${formattedJson}`, 'utf8');\n }\n\n return outPath;\n}\n\nfunction isGeneratedByThisScript(filePath: string): boolean {\n try {\n const contents = readFileSync(filePath, 'utf8');\n const firstLine = contents.split(/\\r?\\n/, 1)[0]?.trim() ?? '';\n\n return firstLine === GENERATED_FILE_HEADER;\n } catch {\n return false;\n }\n}\n\n/**\n * @returns true if the tsconfig path should have a build config generated for it\n */\nfunction shouldUseBuildConfig(tsconfigPath: string, force: boolean): boolean {\n const buildPath = join(dirname(tsconfigPath), 'tsconfig.build.json');\n if (!existsSync(buildPath)) return true;\n if (force) return true;\n return isGeneratedByThisScript(buildPath);\n}\n\nfunction ensureDotRelative(filePath: string): string {\n if (filePath.startsWith('.')) return filePath;\n return `./${filePath}`;\n}\n\n/**\n * Returns the modified tsconfig where the references point to the build configs\n * (that we are going to build)\n */\nfunction replaceRefsWithBuildConfigs(res: TsConfigResult, buildConfigSet: Set<string>, remove: string[]): TsConfigJson {\n const refs = res.config.references;\n if (!refs || refs.length === 0) return res.config;\n\n // console.log('refs', res.path, refs);\n const baseDir = dirname(res.path);\n const mapped: TsConfigJson.References[] = refs\n .map((ref) => {\n const refPath = ensureDotRelative(ref.path);\n const absPath = resolve(dirname(res.path), refPath);\n const resolvedRefPath = resolveTsConfigPath(absPath);\n\n if (remove.includes(resolvedRefPath)) {\n return undefined;\n }\n\n if (!buildConfigSet.has(resolvedRefPath)) {\n // We're not going to build this one so use it plain\n return { ...ref, path: refPath };\n }\n\n const buildRefPath = join(dirname(resolvedRefPath), 'tsconfig.build.json');\n const relativeBuildRef = ensureDotRelative(relative(baseDir, buildRefPath));\n return { ...ref, path: relativeBuildRef };\n })\n .filter((v) => v !== undefined);\n\n return { ...res.config, references: mapped };\n}\n\ntype GenerateOptions = { dryRun: boolean; force: boolean; verbose: boolean; remove: string[] };\n\nasync function generateBuildConfigs(\n entry: string,\n options: GenerateOptions\n): Promise<{ created: { src: string; out: string }[]; visitedConfigs: string[] }> {\n const { dryRun, force, verbose } = options;\n\n const loadedConfigs = new Map<string, TsConfigResult>();\n const visited = new Set<string>();\n const queue: string[] = [entry];\n const created: { src: string; out: string }[] = [];\n\n // First pass: discover the full referenced tsconfig graph and load configs.\n while (queue.length) {\n const tsconfigPath = queue.shift()!;\n if (visited.has(tsconfigPath)) continue;\n visited.add(tsconfigPath);\n\n let res: TsConfigResult;\n\n try {\n const config = parseTsconfig(tsconfigPath);\n if (config) res = { path: tsconfigPath, config };\n else throw new Error('Null returned from getTsConfig');\n } catch (e) {\n logWarn(`Skipping unreadable config: ${formatPath(tsconfigPath)}`);\n if (verbose) console.warn(e);\n continue;\n }\n\n loadedConfigs.set(res.path, res);\n\n const refs = unique(\n (res.config.references ?? []).map((ref) => {\n const abs = resolve(dirname(res.path), ref.path);\n return resolveTsConfigPath(abs);\n })\n );\n for (const r of refs) queue.push(r);\n }\n\n const discoveredConfigs = Array.from(loadedConfigs.keys()).filter((path) => !isGeneratedByThisScript(path));\n const buildConfigSet = new Set(discoveredConfigs.filter((path) => shouldUseBuildConfig(path, force)));\n\n // Second pass: write build configs with rewritten references.\n for (const tsconfigPath of discoveredConfigs) {\n const res = loadedConfigs.get(tsconfigPath)!;\n const buildPath = join(dirname(tsconfigPath), 'tsconfig.build.json');\n\n if (!buildConfigSet.has(tsconfigPath)) {\n if (verbose) {\n logInfo(`Skip ${formatPath(buildPath)} (manual file, use ${colorText('bold', '--force')})`);\n }\n } else {\n const rewrittenCfg = replaceRefsWithBuildConfigs(res, buildConfigSet, options.remove);\n const written = await writeBuildTsconfig(tsconfigPath, rewrittenCfg, dryRun);\n created.push({ src: tsconfigPath, out: written });\n if (verbose || dryRun) {\n const verb = dryRun ? colorText('yellow', '[dry-run] write') : colorText('green', 'write');\n logInfo(`${verb} ${formatPath(written)} <- ${formatPath(tsconfigPath)}`);\n }\n }\n }\n\n if (!verbose && !dryRun) {\n logInfo(`${colorText('green', 'updated')} ${created.length} tsconfig.build.json file(s)`);\n }\n\n return { created, visitedConfigs: Array.from(visited) };\n}\n\nfunction createRegenerator(\n entry: string,\n options: GenerateOptions\n): { run: (reason?: string) => Promise<void>; syncWatchedConfigs: (watcher: FSWatcher) => void } {\n let isRunning = false;\n let rerunRequested = false;\n let watchedConfigs = new Set<string>();\n\n const syncWatchedConfigs = (watcher: FSWatcher): void => {\n if (watchedConfigs.size === 0) return;\n watcher.add(Array.from(watchedConfigs));\n };\n\n const run = async (reason?: string): Promise<void> => {\n if (isRunning) {\n rerunRequested = true;\n return;\n }\n isRunning = true;\n\n try {\n do {\n rerunRequested = false;\n if (reason) {\n logInfo(`${colorText('cyan', 'regenerate')} (${reason})`);\n reason = undefined;\n }\n const result = await generateBuildConfigs(entry, options);\n watchedConfigs = new Set(result.visitedConfigs);\n } while (rerunRequested);\n } finally {\n isRunning = false;\n }\n };\n\n return { run, syncWatchedConfigs };\n}\n\nasync function main(): Promise<void> {\n const { values } = parseArgs({\n args: process.argv.slice(2),\n options: {\n config: { type: 'string', short: 'c' },\n dryRun: { type: 'boolean' },\n force: { type: 'boolean' }, // overwrite files not generated by this script\n watch: { type: 'boolean', short: 'w' },\n verbose: { type: 'boolean', short: 'v' },\n remove: { type: 'string' } // abs paths to tsconfig refs to remove\n }\n });\n\n const entry = values.config ? resolve(values.config) : null;\n if (!entry) {\n logError('Missing required flag: --config <path/to/tsconfig.json>');\n process.exit(1);\n }\n if (!existsSync(entry)) {\n logError(`Config file not found: ${formatPath(entry)}`);\n process.exit(1);\n }\n\n const dryRun = values.dryRun === true;\n const force = values.force === true;\n const watchMode = values.watch === true;\n const verbose = values.verbose === true;\n const options: GenerateOptions = { dryRun, force, verbose, remove: values.remove?.split(' ') ?? [] };\n\n const regenerator = createRegenerator(entry, options);\n await regenerator.run('initial run');\n\n if (!watchMode) return;\n\n logInfo(`watching ${colorText('cyan', 'tsconfig')} changes...`);\n const watcher = watch([], {\n persistent: true,\n ignoreInitial: true,\n awaitWriteFinish: { stabilityThreshold: 300, pollInterval: 100 }\n });\n regenerator.syncWatchedConfigs(watcher);\n\n watcher.on('change', async (filePath) => {\n logInfo(`${colorText('cyan', 'change')} ${formatPath(filePath)}`);\n await regenerator.run(`changed ${relative(process.cwd(), filePath)}`);\n regenerator.syncWatchedConfigs(watcher);\n });\n\n watcher.on('add', async (filePath) => {\n logInfo(`${colorText('cyan', 'add')} ${formatPath(filePath)}`);\n await regenerator.run(`added ${relative(process.cwd(), filePath)}`);\n regenerator.syncWatchedConfigs(watcher);\n });\n\n watcher.on('unlink', async (filePath) => {\n logInfo(`${colorText('yellow', 'remove')} ${formatPath(filePath)}`);\n await regenerator.run(`removed ${relative(process.cwd(), filePath)}`);\n regenerator.syncWatchedConfigs(watcher);\n });\n}\n\nmain().catch((err) => {\n logError('Unhandled error');\n console.error(err);\n process.exit(1);\n});\n"],"mappings":";;;;;;;;;;AAgBA,MAAM,wBAAwB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACD;AACD,MAAM,wBAAwB;AAE9B,MAAM,QAAQ,UAAU,QAAQ,oBAAoB;AACpD,MAAM,cAAc,aAA6B,UAAU,OAAO,SAAS,QAAQ,KAAK,EAAE,SAAS,CAAC;AACpG,MAAM,WAAW,YAA0B,QAAQ,IAAI,GAAG,MAAM,GAAG,UAAU;AAC7E,MAAM,WAAW,YAA0B,QAAQ,KAAK,GAAG,MAAM,GAAG,UAAU,UAAU,QAAQ,GAAG;AACnG,MAAM,YAAY,YAA0B,QAAQ,MAAM,GAAG,MAAM,GAAG,UAAU,OAAO,QAAQ,GAAG;AAElG,SAAS,OAAO,OAA2B;AACzC,QAAO,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC;;;;;AAMnC,SAAS,oBAAoB,YAA4B;AACvD,KAAI,WAAW,SAAS,QAAQ,CAAE,QAAO;KACpC,QAAO,KAAK,YAAY,gBAAgB;;;;;AAM/C,SAAS,qBAAqB,QAAgC;CAC5D,MAAM,QAAkB,CAAC,GAAG,sBAAsB;AAGlD,MAAK,MAAM,OAAO,OAAO,WAAW,EAAE,EAAE;EACtC,MAAM,OAAO,IAAI,QAAQ,OAAO,IAAI,CAAC,QAAQ,QAAQ,GAAG;AACxD,MAAI,SAAS,aAAa,SAAS,WAAW,KAAK,WAAW,WAAW,IAAI,KAAK,WAAW,SAAS,EAAE;AACtG,SAAM,KAAK,aAAa;AACxB;;;AAIJ,QAAO,OAAO,MAAM;;AAGtB,SAAS,oBAAoB,OAAuB;AAClD,QAAO,MAAM,SAAS,KAAK,GAAG,QAAQ,GAAG,MAAM;;AAGjD,eAAe,wBAAwB,QAAuC;CAC5E,MAAM,WAAW,KAAK,UAAU,QAAQ,MAAM,EAAE;AAEhD,KAAI;EACF,MAAM,SAAS,MAAMA,OAAgB,uBAAuB,UAAU;GACpE,SAAS;GACT,aAAa;GACb,eAAe;GACf,YAAY;GACZ,YAAY;GACZ,MAAM;GACN,WAAW;GACX,iBAAiB,EAAE,aAAa,MAAM;GACtC,aAAa,EAAE;GAChB,CAAC;AACF,MAAI,CAAC,OAAO,OAAO,UAAU,OAAO,OAAO,SAAS,YAAY,OAAO,KAAK,SAAS,EACnF,QAAO,oBAAoB,OAAO,KAAK;SAEnC;AAIR,QAAO,oBAAoB,SAAS;;AAGtC,eAAe,mBAAmB,cAAsB,QAAsB,QAAkC;CAC9G,MAAM,MAAM,QAAQ,aAAa;CACjC,MAAM,UAAU,KAAK,KAAK,sBAAsB;CAIhD,MAAM,cAA4B;EAAE,SAAS;EAAmB,iBAAiB,EAAE;EAAE,SAF/D,OAAO,CAAC,GAAI,OAAO,WAAW,EAAE,EAAG,GAAG,qBAAqB,OAAO,CAAC,CAAC;EAEmB;AAE7G,KAAI,OAAO,cAAc,OAAO,WAAW,SAAS,EAAG,aAAY,aAAa,OAAO;AAIvF,KAAI,OAAO,iBAAiB,WAAW,KAAM,aAAY,gBAAiB,SAAS;AAKnF,KAAI,CAAC,QAAQ;AACX,YAAU,KAAK,EAAE,WAAW,MAAM,CAAC;AAEnC,gBAAc,SAAS,GAAG,sBAAsB,IAD1B,MAAM,wBAAwB,YAAY,IACK,OAAO;;AAG9E,QAAO;;AAGT,SAAS,wBAAwB,UAA2B;AAC1D,KAAI;AAIF,UAHiB,aAAa,UAAU,OAAO,CACpB,MAAM,SAAS,EAAE,CAAC,IAAI,MAAM,IAAI,QAEtC;SACf;AACN,SAAO;;;;;;AAOX,SAAS,qBAAqB,cAAsB,OAAyB;CAC3E,MAAM,YAAY,KAAK,QAAQ,aAAa,EAAE,sBAAsB;AACpE,KAAI,CAAC,WAAW,UAAU,CAAE,QAAO;AACnC,KAAI,MAAO,QAAO;AAClB,QAAO,wBAAwB,UAAU;;AAG3C,SAAS,kBAAkB,UAA0B;AACnD,KAAI,SAAS,WAAW,IAAI,CAAE,QAAO;AACrC,QAAO,KAAK;;;;;;AAOd,SAAS,4BAA4B,KAAqB,gBAA6B,QAAgC;CACrH,MAAM,OAAO,IAAI,OAAO;AACxB,KAAI,CAAC,QAAQ,KAAK,WAAW,EAAG,QAAO,IAAI;CAG3C,MAAM,UAAU,QAAQ,IAAI,KAAK;CACjC,MAAM,SAAoC,KACvC,KAAK,QAAQ;EACZ,MAAM,UAAU,kBAAkB,IAAI,KAAK;EAE3C,MAAM,kBAAkB,oBADR,QAAQ,QAAQ,IAAI,KAAK,EAAE,QAAQ,CACC;AAEpD,MAAI,OAAO,SAAS,gBAAgB,CAClC;AAGF,MAAI,CAAC,eAAe,IAAI,gBAAgB,CAEtC,QAAO;GAAE,GAAG;GAAK,MAAM;GAAS;EAIlC,MAAM,mBAAmB,kBAAkB,SAAS,SAD/B,KAAK,QAAQ,gBAAgB,EAAE,sBAAsB,CACA,CAAC;AAC3E,SAAO;GAAE,GAAG;GAAK,MAAM;GAAkB;GACzC,CACD,QAAQ,MAAM,MAAM,KAAA,EAAU;AAEjC,QAAO;EAAE,GAAG,IAAI;EAAQ,YAAY;EAAQ;;AAK9C,eAAe,qBACb,OACA,SACgF;CAChF,MAAM,EAAE,QAAQ,OAAO,YAAY;CAEnC,MAAM,gCAAgB,IAAI,KAA6B;CACvD,MAAM,0BAAU,IAAI,KAAa;CACjC,MAAM,QAAkB,CAAC,MAAM;CAC/B,MAAM,UAA0C,EAAE;AAGlD,QAAO,MAAM,QAAQ;EACnB,MAAM,eAAe,MAAM,OAAO;AAClC,MAAI,QAAQ,IAAI,aAAa,CAAE;AAC/B,UAAQ,IAAI,aAAa;EAEzB,IAAI;AAEJ,MAAI;GACF,MAAM,SAAS,cAAc,aAAa;AAC1C,OAAI,OAAQ,OAAM;IAAE,MAAM;IAAc;IAAQ;OAC3C,OAAM,IAAI,MAAM,iCAAiC;WAC/C,GAAG;AACV,WAAQ,+BAA+B,WAAW,aAAa,GAAG;AAClE,OAAI,QAAS,SAAQ,KAAK,EAAE;AAC5B;;AAGF,gBAAc,IAAI,IAAI,MAAM,IAAI;EAEhC,MAAM,OAAO,QACV,IAAI,OAAO,cAAc,EAAE,EAAE,KAAK,QAAQ;AAEzC,UAAO,oBADK,QAAQ,QAAQ,IAAI,KAAK,EAAE,IAAI,KAAK,CACjB;IAC/B,CACH;AACD,OAAK,MAAM,KAAK,KAAM,OAAM,KAAK,EAAE;;CAGrC,MAAM,oBAAoB,MAAM,KAAK,cAAc,MAAM,CAAC,CAAC,QAAQ,SAAS,CAAC,wBAAwB,KAAK,CAAC;CAC3G,MAAM,iBAAiB,IAAI,IAAI,kBAAkB,QAAQ,SAAS,qBAAqB,MAAM,MAAM,CAAC,CAAC;AAGrG,MAAK,MAAM,gBAAgB,mBAAmB;EAC5C,MAAM,MAAM,cAAc,IAAI,aAAa;EAC3C,MAAM,YAAY,KAAK,QAAQ,aAAa,EAAE,sBAAsB;AAEpE,MAAI,CAAC,eAAe,IAAI,aAAa;OAC/B,QACF,SAAQ,QAAQ,WAAW,UAAU,CAAC,qBAAqB,UAAU,QAAQ,UAAU,CAAC,GAAG;SAExF;GAEL,MAAM,UAAU,MAAM,mBAAmB,cADpB,4BAA4B,KAAK,gBAAgB,QAAQ,OAAO,EAChB,OAAO;AAC5E,WAAQ,KAAK;IAAE,KAAK;IAAc,KAAK;IAAS,CAAC;AACjD,OAAI,WAAW,OAEb,SAAQ,GADK,SAAS,UAAU,UAAU,kBAAkB,GAAG,UAAU,SAAS,QAAQ,CAC1E,GAAG,WAAW,QAAQ,CAAC,MAAM,WAAW,aAAa,GAAG;;;AAK9E,KAAI,CAAC,WAAW,CAAC,OACf,SAAQ,GAAG,UAAU,SAAS,UAAU,CAAC,GAAG,QAAQ,OAAO,8BAA8B;AAG3F,QAAO;EAAE;EAAS,gBAAgB,MAAM,KAAK,QAAQ;EAAE;;AAGzD,SAAS,kBACP,OACA,SAC+F;CAC/F,IAAI,YAAY;CAChB,IAAI,iBAAiB;CACrB,IAAI,iCAAiB,IAAI,KAAa;CAEtC,MAAM,sBAAsB,YAA6B;AACvD,MAAI,eAAe,SAAS,EAAG;AAC/B,UAAQ,IAAI,MAAM,KAAK,eAAe,CAAC;;CAGzC,MAAM,MAAM,OAAO,WAAmC;AACpD,MAAI,WAAW;AACb,oBAAiB;AACjB;;AAEF,cAAY;AAEZ,MAAI;AACF,MAAG;AACD,qBAAiB;AACjB,QAAI,QAAQ;AACV,aAAQ,GAAG,UAAU,QAAQ,aAAa,CAAC,IAAI,OAAO,GAAG;AACzD,cAAS,KAAA;;IAEX,MAAM,SAAS,MAAM,qBAAqB,OAAO,QAAQ;AACzD,qBAAiB,IAAI,IAAI,OAAO,eAAe;YACxC;YACD;AACR,eAAY;;;AAIhB,QAAO;EAAE;EAAK;EAAoB;;AAGpC,eAAe,OAAsB;CACnC,MAAM,EAAE,WAAW,UAAU;EAC3B,MAAM,QAAQ,KAAK,MAAM,EAAE;EAC3B,SAAS;GACP,QAAQ;IAAE,MAAM;IAAU,OAAO;IAAK;GACtC,QAAQ,EAAE,MAAM,WAAW;GAC3B,OAAO,EAAE,MAAM,WAAW;GAC1B,OAAO;IAAE,MAAM;IAAW,OAAO;IAAK;GACtC,SAAS;IAAE,MAAM;IAAW,OAAO;IAAK;GACxC,QAAQ,EAAE,MAAM,UAAU;GAC3B;EACF,CAAC;CAEF,MAAM,QAAQ,OAAO,SAAS,QAAQ,OAAO,OAAO,GAAG;AACvD,KAAI,CAAC,OAAO;AACV,WAAS,0DAA0D;AACnE,UAAQ,KAAK,EAAE;;AAEjB,KAAI,CAAC,WAAW,MAAM,EAAE;AACtB,WAAS,0BAA0B,WAAW,MAAM,GAAG;AACvD,UAAQ,KAAK,EAAE;;CAGjB,MAAM,SAAS,OAAO,WAAW;CACjC,MAAM,QAAQ,OAAO,UAAU;CAC/B,MAAM,YAAY,OAAO,UAAU;CAInC,MAAM,cAAc,kBAAkB,OAFL;EAAE;EAAQ;EAAO,SADlC,OAAO,YAAY;EACwB,QAAQ,OAAO,QAAQ,MAAM,IAAI,IAAI,EAAE;EAAE,CAE/C;AACrD,OAAM,YAAY,IAAI,cAAc;AAEpC,KAAI,CAAC,UAAW;AAEhB,SAAQ,YAAY,UAAU,QAAQ,WAAW,CAAC,aAAa;CAC/D,MAAM,UAAU,MAAM,EAAE,EAAE;EACxB,YAAY;EACZ,eAAe;EACf,kBAAkB;GAAE,oBAAoB;GAAK,cAAc;GAAK;EACjE,CAAC;AACF,aAAY,mBAAmB,QAAQ;AAEvC,SAAQ,GAAG,UAAU,OAAO,aAAa;AACvC,UAAQ,GAAG,UAAU,QAAQ,SAAS,CAAC,GAAG,WAAW,SAAS,GAAG;AACjE,QAAM,YAAY,IAAI,WAAW,SAAS,QAAQ,KAAK,EAAE,SAAS,GAAG;AACrE,cAAY,mBAAmB,QAAQ;GACvC;AAEF,SAAQ,GAAG,OAAO,OAAO,aAAa;AACpC,UAAQ,GAAG,UAAU,QAAQ,MAAM,CAAC,GAAG,WAAW,SAAS,GAAG;AAC9D,QAAM,YAAY,IAAI,SAAS,SAAS,QAAQ,KAAK,EAAE,SAAS,GAAG;AACnE,cAAY,mBAAmB,QAAQ;GACvC;AAEF,SAAQ,GAAG,UAAU,OAAO,aAAa;AACvC,UAAQ,GAAG,UAAU,UAAU,SAAS,CAAC,GAAG,WAAW,SAAS,GAAG;AACnE,QAAM,YAAY,IAAI,WAAW,SAAS,QAAQ,KAAK,EAAE,SAAS,GAAG;AACrE,cAAY,mBAAmB,QAAQ;GACvC;;AAGJ,MAAM,CAAC,OAAO,QAAQ;AACpB,UAAS,kBAAkB;AAC3B,SAAQ,MAAM,IAAI;AAClB,SAAQ,KAAK,EAAE;EACf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-ag",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Useful TS stuff",
5
5
  "bugs": "https://github.com/ageorgeh/ts-ag/issues",
6
6
  "author": "Alexander Hornung",
@@ -41,9 +41,9 @@
41
41
  "watch": "tsdown --watch"
42
42
  },
43
43
  "dependencies": {
44
- "@aws-sdk/client-cognito-identity-provider": "3.1003.0",
45
- "@aws-sdk/client-s3": "3.1003.0",
46
- "@aws-sdk/s3-request-presigner": "3.1003.0",
44
+ "@aws-sdk/client-cognito-identity-provider": "3.1010.0",
45
+ "@aws-sdk/client-s3": "3.1010.0",
46
+ "@aws-sdk/s3-request-presigner": "3.1010.0",
47
47
  "@ungap/structured-clone": "1.3.0",
48
48
  "chalk": "5.6.2",
49
49
  "chokidar": "5.0.0",
@@ -55,7 +55,7 @@
55
55
  "glob": "^13.0.6",
56
56
  "jose": "6.2.1",
57
57
  "neverthrow": "8.2.0",
58
- "oxfmt": "^0.36.0",
58
+ "oxfmt": "^0.41.0",
59
59
  "radash": "^12.1.1",
60
60
  "rehype-parse": "9.0.1",
61
61
  "tsc-alias": "1.8.16",
@@ -70,15 +70,15 @@
70
70
  "@types/hast": "3.0.4",
71
71
  "@types/node": "^24.12.0",
72
72
  "@types/ungap__structured-clone": "1.2.0",
73
- "@typescript/native-preview": "7.0.0-dev.20260314.1",
73
+ "@typescript/native-preview": "7.0.0-dev.20260316.1",
74
74
  "concurrently": "^9.2.1",
75
75
  "globals": "^17.4.0",
76
76
  "husky": "^9.1.7",
77
77
  "jiti": "2.6.1",
78
78
  "lint-staged": "^16.4.0",
79
- "oxlint": "^1.51.0",
79
+ "oxlint": "^1.56.0",
80
80
  "semantic-release": "^25.0.3",
81
- "tsdown": "^0.21.2",
81
+ "tsdown": "^0.21.4",
82
82
  "typescript": "^5.9.3",
83
83
  "typescript-svelte-plugin": "0.3.50",
84
84
  "vite-tsconfig-paths": "^6.1.1",