@xylabs/ts-scripts-yarn3 6.0.2 → 6.0.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.
Files changed (43) hide show
  1. package/dist/actions/fix.mjs +28 -59
  2. package/dist/actions/fix.mjs.map +1 -1
  3. package/dist/actions/index.mjs +96 -121
  4. package/dist/actions/index.mjs.map +1 -1
  5. package/dist/actions/lint.mjs +25 -65
  6. package/dist/actions/lint.mjs.map +1 -1
  7. package/dist/actions/package/index.mjs +3 -2
  8. package/dist/actions/package/index.mjs.map +1 -1
  9. package/dist/actions/package/lint.mjs +3 -2
  10. package/dist/actions/package/lint.mjs.map +1 -1
  11. package/dist/actions/relint.mjs +61 -45
  12. package/dist/actions/relint.mjs.map +1 -1
  13. package/dist/bin/package/fix.mjs +3 -2
  14. package/dist/bin/package/fix.mjs.map +1 -1
  15. package/dist/bin/package/lint.mjs +3 -2
  16. package/dist/bin/package/lint.mjs.map +1 -1
  17. package/dist/bin/package/relint.mjs +106 -0
  18. package/dist/bin/package/relint.mjs.map +1 -0
  19. package/dist/bin/xy.mjs +100 -94
  20. package/dist/bin/xy.mjs.map +1 -1
  21. package/dist/index.d.ts +29 -23
  22. package/dist/index.mjs +112 -135
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/xy/index.mjs +100 -94
  25. package/dist/xy/index.mjs.map +1 -1
  26. package/dist/xy/xy.mjs +100 -94
  27. package/dist/xy/xy.mjs.map +1 -1
  28. package/dist/xy/xyLintCommands.mjs +97 -111
  29. package/dist/xy/xyLintCommands.mjs.map +1 -1
  30. package/package.json +5 -4
  31. package/src/actions/fix.ts +3 -2
  32. package/src/actions/index.ts +0 -2
  33. package/src/actions/lint.ts +19 -42
  34. package/src/actions/package/lint.ts +2 -2
  35. package/src/actions/relint.ts +73 -18
  36. package/src/bin/package/relint.ts +16 -0
  37. package/src/xy/xyLintCommands.ts +6 -8
  38. package/dist/actions/lint-clean.mjs +0 -222
  39. package/dist/actions/lint-clean.mjs.map +0 -1
  40. package/dist/actions/lint-profile.mjs +0 -118
  41. package/dist/actions/lint-profile.mjs.map +0 -1
  42. package/src/actions/lint-clean.ts +0 -24
  43. package/src/actions/lint-profile.ts +0 -5
@@ -3,7 +3,6 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3
3
 
4
4
  // src/actions/lint.ts
5
5
  import chalk4 from "chalk";
6
- import { ESLint } from "eslint";
7
6
 
8
7
  // src/lib/checkResult.ts
9
8
  import chalk from "chalk";
@@ -64,28 +63,8 @@ var safeExit = /* @__PURE__ */ __name((func, exitOnFail = true) => {
64
63
  }
65
64
  }, "safeExit");
66
65
 
67
- // src/lib/yarn/workspace/yarnWorkspaces.ts
68
- import { spawnSync } from "node:child_process";
69
- var yarnWorkspaces = /* @__PURE__ */ __name(() => {
70
- const result = spawnSync("yarn", [
71
- "workspaces",
72
- "list",
73
- "--json",
74
- "--recursive"
75
- ], {
76
- encoding: "utf8",
77
- shell: true
78
- });
79
- if (result.error) {
80
- throw result.error;
81
- }
82
- return result.stdout.toString().split("\n").slice(0, -1).map((item) => {
83
- return JSON.parse(item);
84
- });
85
- }, "yarnWorkspaces");
86
-
87
66
  // src/lib/runSteps.ts
88
- import { spawnSync as spawnSync2 } from "node:child_process";
67
+ import { spawnSync } from "node:child_process";
89
68
  import { existsSync } from "node:fs";
90
69
  import chalk3 from "chalk";
91
70
  var runSteps = /* @__PURE__ */ __name((name, steps, exitOnFail = true, messages) => {
@@ -101,7 +80,7 @@ var runSteps = /* @__PURE__ */ __name((name, steps, exitOnFail = true, messages)
101
80
  if (command === "node" && !existsSync(argList[0])) {
102
81
  throw new Error(`File not found [${argList[0]}]`);
103
82
  }
104
- const status = spawnSync2(command, Array.isArray(args) ? args : args.split(" "), {
83
+ const status = spawnSync(command, Array.isArray(args) ? args : args.split(" "), {
105
84
  ...config,
106
85
  encoding: "utf8",
107
86
  env: {
@@ -119,49 +98,31 @@ var runSteps = /* @__PURE__ */ __name((name, steps, exitOnFail = true, messages)
119
98
  }, "runSteps");
120
99
 
121
100
  // src/actions/lint.ts
122
- var dumpMessages = /* @__PURE__ */ __name((lintResults) => {
123
- const colors = [
124
- "white",
125
- "yellow",
126
- "red"
127
- ];
128
- const severity = [
129
- "none",
130
- "warning",
131
- "error"
101
+ var lintPackage = /* @__PURE__ */ __name(({ pkg, fix, verbose }) => {
102
+ console.log(chalk4.gray(`${fix ? "Fix" : "Lint"} [All-Packages]`));
103
+ const start = Date.now();
104
+ const verboseOptions = verbose ? [
105
+ "--verbose"
106
+ ] : [
107
+ "--no-verbose"
132
108
  ];
133
- for (const lintResult of lintResults) {
134
- if (lintResult.messages.length > 0) {
135
- console.log(chalk4.gray(`${lintResult.filePath}`));
136
- for (const message of lintResult.messages) {
137
- console.log(chalk4.gray(` ${message.line}:${message.column}`), chalk4[colors[message.severity]](` ${severity[message.severity]}`), chalk4.white(` ${message.message}`), chalk4.gray(` ${message.ruleId}`));
138
- }
139
- }
140
- }
141
- }, "dumpMessages");
142
- var lintPackage = /* @__PURE__ */ __name(async ({ pkg, fix }) => {
143
- const workspace = yarnWorkspaces().find((workspace2) => workspace2.name === pkg);
144
- if (!workspace) {
145
- console.error(chalk4.red(`Unable to locate package [${chalk4.magenta(pkg)}]`));
146
- process.exit(1);
147
- }
148
- const engine = new ESLint({
149
- cache: true,
150
- fix
151
- });
152
- const lintResults = await engine.lintFiles(workspace.location);
153
- dumpMessages(lintResults);
154
- return lintResults.reduce((prev, lintResult) => prev + lintResult.errorCount, 0);
109
+ const result = runSteps(`${fix ? "Fix" : "Lint"} [All-Packages]`, [
110
+ [
111
+ "yarn",
112
+ [
113
+ "workspace",
114
+ pkg,
115
+ ...verboseOptions,
116
+ "run",
117
+ fix ? "package-fix" : "package-lint"
118
+ ]
119
+ ]
120
+ ]);
121
+ console.log(chalk4.gray(`${fix ? "Fixed in" : "Linted in"} [${chalk4.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk4.gray("seconds")}`));
122
+ return result;
155
123
  }, "lintPackage");
156
- var lintAll = /* @__PURE__ */ __name(async ({ fix }) => {
157
- const workspace = yarnWorkspaces();
158
- return (await Promise.all(workspace.map((ws) => lintPackage({
159
- pkg: ws.name,
160
- fix
161
- })))).reduce((prev, curr) => prev + curr, 0);
162
- }, "lintAll");
163
- var lint = /* @__PURE__ */ __name(async ({ pkg, verbose, incremental, fix } = {}) => {
164
- return pkg ? await lintPackage({
124
+ var lint = /* @__PURE__ */ __name(({ pkg, verbose, incremental, fix } = {}) => {
125
+ return pkg ? lintPackage({
165
126
  pkg,
166
127
  fix
167
128
  }) : lintAllPackages({
@@ -203,7 +164,6 @@ var lintAllPackages = /* @__PURE__ */ __name(({ fix, verbose = true, incremental
203
164
  }, "lintAllPackages");
204
165
  export {
205
166
  lint,
206
- lintAll,
207
167
  lintAllPackages,
208
168
  lintPackage
209
169
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/actions/lint.ts","../../src/lib/checkResult.ts","../../src/lib/processEx.ts","../../src/lib/withError.ts","../../src/lib/withErrnoException.ts","../../src/lib/safeExit.ts","../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../src/lib/runSteps.ts"],"sourcesContent":["import chalk from 'chalk'\nimport { ESLint } from 'eslint'\n\nimport { runSteps, yarnWorkspaces } from '../lib/index.ts'\n\nexport interface LintParams {\n fix?: boolean\n incremental?: boolean\n pkg?: string\n verbose?: boolean\n}\n\nexport interface LintPackageParams {\n pkg: string\n verbose?: boolean\n}\n\nconst dumpMessages = (lintResults: ESLint.LintResult[]) => {\n const colors: ('white' | 'red' | 'yellow')[] = ['white', 'yellow', 'red']\n const severity: string[] = ['none', 'warning', 'error']\n\n for (const lintResult of lintResults) {\n if (lintResult.messages.length > 0) {\n console.log(chalk.gray(`${lintResult.filePath}`))\n for (const message of lintResult.messages) {\n console.log(\n chalk.gray(`\\t${message.line}:${message.column}`),\n chalk[colors[message.severity]](`\\t${severity[message.severity]}`),\n chalk.white(`\\t${message.message}`),\n chalk.gray(`\\t${message.ruleId}`),\n )\n }\n }\n }\n}\n\nexport const lintPackage = async ({ pkg, fix }: LintParams) => {\n const workspace = yarnWorkspaces().find(workspace => workspace.name === pkg)\n if (!workspace) {\n console.error(chalk.red(`Unable to locate package [${chalk.magenta(pkg)}]`))\n process.exit(1)\n }\n\n const engine = new ESLint({ cache: true, fix })\n\n const lintResults = await engine.lintFiles(workspace.location)\n\n dumpMessages(lintResults)\n\n return lintResults.reduce((prev, lintResult) => prev + lintResult.errorCount, 0)\n}\n\nexport const lintAll = async ({ fix }: LintParams) => {\n const workspace = yarnWorkspaces()\n return (await Promise.all(workspace.map(ws =>\n lintPackage({ pkg: ws.name, fix })))).reduce((prev, curr) => prev + curr, 0)\n}\n\nexport const lint = async ({\n pkg, verbose, incremental, fix,\n}: LintParams = {}) => {\n return pkg\n ? await lintPackage({ pkg, fix })\n : lintAllPackages({\n verbose, incremental, fix,\n })\n}\n\nexport const lintAllPackages = ({\n fix, verbose = true, incremental,\n}: LintParams = {}) => {\n console.log(chalk.gray(`${fix ? 'Fix' : 'Lint'} [All-Packages]`))\n const start = Date.now()\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n const incrementalOptions = incremental ? ['--since', '-Ap'] : ['--parallel', '-Ap']\n\n const result = runSteps(`${fix ? 'Fix' : 'Lint'} [All-Packages]`, [\n ['yarn', ['workspaces',\n 'foreach',\n ...verboseOptions,\n ...incrementalOptions,\n 'run',\n fix ? 'package-fix' : 'package-lint',\n ]],\n ])\n console.log(chalk.gray(`${fix ? 'Fixed in' : 'Linted in'} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`))\n return result\n}\n","import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import chalk from 'chalk'\n\nimport { withErrnoException } from './withErrnoException.ts'\nimport { withError } from './withError.ts'\n\nexport const processEx = (ex: unknown) => {\n const error = typeof ex === 'string' ? new Error(ex) : ex\n const exitCode\n = withErrnoException(error, (error) => {\n if (error.code === 'ENOENT') {\n console.error(chalk.red(`'${error.path}' not found.`))\n } else {\n console.error(chalk.red(`Errno: ${error.code}`))\n }\n return error.errno ?? -1\n })\n ?? withError(error, (error) => {\n console.error(chalk.red(`${error.name}: ${error.message}`))\n return -1\n })\n ?? (() => {\n console.error(chalk.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`))\n return -1\n })()\n // This allows us to use a previously set exit code\n process.exit(process.exitCode ?? exitCode)\n}\n","export const withError = <T extends Error = Error>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ex: any,\n closure: (error: T) => number,\n predicate = (ex: T) => (!!ex.name && !!ex.message),\n) => {\n return predicate(ex as T) ? closure(ex as T) : undefined\n}\n","import { withError } from './withError.ts'\n\nexport const withErrnoException = <T extends NodeJS.ErrnoException = NodeJS.ErrnoException>(\n ex: unknown, closure: (error: T) => number,\n) => {\n return withError<T>(ex, closure, (ex: unknown) => (ex as NodeJS.ErrnoException).errno !== undefined)\n}\n","/** Catch child process a crash and returns the code */\n\nimport { processEx } from './processEx.ts'\n\nconst safeExit = (func: () => number, exitOnFail = true): number => {\n try {\n const result = func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nconst safeExitAsync = async (func: () => Promise<number>, exitOnFail = true): Promise<number> => {\n try {\n const result = await func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nexport { safeExit, safeExitAsync }\n","import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import type { SpawnSyncOptionsWithBufferEncoding } from 'node:child_process'\nimport { spawnSync } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport { safeExit } from './safeExit.ts'\n\nexport type ScriptStep =\n | [/* command */ 'yarn' | 'node' | 'ts-node-script' | 'tsc' | 'jest', /* arg */ string | string[]]\n | [/* command */ string, /* arg */ string | string[], /* config */ SpawnSyncOptionsWithBufferEncoding]\n\nexport const runSteps = (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]): number => {\n return safeExit(() => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let totalStatus = 0\n for (const [i, [command, args, config]] of steps.entries()) {\n if (messages?.[i]) {\n console.log(chalk.gray(messages?.[i]))\n }\n const argList = Array.isArray(args) ? args : args.split(' ')\n if (command === 'node' && !existsSync(argList[0])) {\n throw new Error(`File not found [${argList[0]}]`)\n }\n const status\n = spawnSync(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n encoding: 'utf8',\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).status ?? 0\n checkResult(name, status, 'error', exitOnFail)\n totalStatus += status ?? 0\n }\n return totalStatus\n }, !!exitOnFail)\n}\n"],"mappings":"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","names":["chalk","ESLint","chalk","checkResult","name","result","level","exitOnFail","exiting","chalkFunc","chalk","red","yellow","console","process","exit","chalk","withError","ex","closure","predicate","name","message","undefined","withErrnoException","ex","closure","withError","errno","undefined","processEx","ex","error","Error","exitCode","withErrnoException","code","console","chalk","red","path","errno","withError","name","message","JSON","stringify","process","exit","safeExit","func","exitOnFail","result","process","exit","ex","processEx","spawnSync","yarnWorkspaces","result","spawnSync","encoding","shell","error","stdout","toString","split","slice","map","item","JSON","parse","spawnSync","existsSync","chalk","runSteps","name","steps","exitOnFail","messages","safeExit","pkgName","process","env","npm_package_name","console","log","chalk","green","totalStatus","i","command","args","config","entries","gray","argList","Array","isArray","split","existsSync","Error","status","spawnSync","encoding","FORCE_COLOR","shell","stdio","checkResult","dumpMessages","lintResults","colors","severity","lintResult","messages","length","console","log","chalk","gray","filePath","message","line","column","white","ruleId","lintPackage","pkg","fix","workspace","yarnWorkspaces","find","name","error","red","magenta","process","exit","engine","ESLint","cache","lintFiles","location","reduce","prev","errorCount","lintAll","Promise","all","map","ws","curr","lint","verbose","incremental","lintAllPackages","start","Date","now","verboseOptions","incrementalOptions","result","runSteps","toFixed"]}
1
+ {"version":3,"sources":["../../src/actions/lint.ts","../../src/lib/checkResult.ts","../../src/lib/processEx.ts","../../src/lib/withError.ts","../../src/lib/withErrnoException.ts","../../src/lib/safeExit.ts","../../src/lib/runSteps.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { runSteps } from '../lib/index.ts'\n\nexport interface LintParams {\n fix?: boolean\n incremental?: boolean\n pkg?: string\n verbose?: boolean\n}\n\nexport interface LintPackageParams {\n pkg: string\n verbose?: boolean\n}\n\nexport const lintPackage = ({\n pkg, fix, verbose,\n}: LintParams & Required<Pick<LintParams, 'pkg'>>) => {\n console.log(chalk.gray(`${fix ? 'Fix' : 'Lint'} [All-Packages]`))\n const start = Date.now()\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n\n const result = runSteps(`${fix ? 'Fix' : 'Lint'} [All-Packages]`, [\n ['yarn', ['workspace',\n pkg,\n ...verboseOptions,\n 'run',\n fix ? 'package-fix' : 'package-lint',\n ]],\n ])\n console.log(chalk.gray(`${fix ? 'Fixed in' : 'Linted in'} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`))\n return result\n}\n\nexport const lint = ({\n pkg, verbose, incremental, fix,\n}: LintParams = {}) => {\n return pkg\n ? lintPackage({ pkg, fix })\n : lintAllPackages({\n verbose, incremental, fix,\n })\n}\n\nexport const lintAllPackages = ({\n fix, verbose = true, incremental,\n}: LintParams = {}) => {\n console.log(chalk.gray(`${fix ? 'Fix' : 'Lint'} [All-Packages]`))\n const start = Date.now()\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n const incrementalOptions = incremental ? ['--since', '-Ap'] : ['--parallel', '-Ap']\n\n const result = runSteps(`${fix ? 'Fix' : 'Lint'} [All-Packages]`, [\n ['yarn', ['workspaces',\n 'foreach',\n ...verboseOptions,\n ...incrementalOptions,\n 'run',\n fix ? 'package-fix' : 'package-lint',\n ]],\n ])\n console.log(chalk.gray(`${fix ? 'Fixed in' : 'Linted in'} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`))\n return result\n}\n","import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import chalk from 'chalk'\n\nimport { withErrnoException } from './withErrnoException.ts'\nimport { withError } from './withError.ts'\n\nexport const processEx = (ex: unknown) => {\n const error = typeof ex === 'string' ? new Error(ex) : ex\n const exitCode\n = withErrnoException(error, (error) => {\n if (error.code === 'ENOENT') {\n console.error(chalk.red(`'${error.path}' not found.`))\n } else {\n console.error(chalk.red(`Errno: ${error.code}`))\n }\n return error.errno ?? -1\n })\n ?? withError(error, (error) => {\n console.error(chalk.red(`${error.name}: ${error.message}`))\n return -1\n })\n ?? (() => {\n console.error(chalk.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`))\n return -1\n })()\n // This allows us to use a previously set exit code\n process.exit(process.exitCode ?? exitCode)\n}\n","export const withError = <T extends Error = Error>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ex: any,\n closure: (error: T) => number,\n predicate = (ex: T) => (!!ex.name && !!ex.message),\n) => {\n return predicate(ex as T) ? closure(ex as T) : undefined\n}\n","import { withError } from './withError.ts'\n\nexport const withErrnoException = <T extends NodeJS.ErrnoException = NodeJS.ErrnoException>(\n ex: unknown, closure: (error: T) => number,\n) => {\n return withError<T>(ex, closure, (ex: unknown) => (ex as NodeJS.ErrnoException).errno !== undefined)\n}\n","/** Catch child process a crash and returns the code */\n\nimport { processEx } from './processEx.ts'\n\nconst safeExit = (func: () => number, exitOnFail = true): number => {\n try {\n const result = func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nconst safeExitAsync = async (func: () => Promise<number>, exitOnFail = true): Promise<number> => {\n try {\n const result = await func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nexport { safeExit, safeExitAsync }\n","import type { SpawnSyncOptionsWithBufferEncoding } from 'node:child_process'\nimport { spawnSync } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport { safeExit } from './safeExit.ts'\n\nexport type ScriptStep =\n | [/* command */ 'yarn' | 'node' | 'ts-node-script' | 'tsc' | 'jest', /* arg */ string | string[]]\n | [/* command */ string, /* arg */ string | string[], /* config */ SpawnSyncOptionsWithBufferEncoding]\n\nexport const runSteps = (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]): number => {\n return safeExit(() => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let totalStatus = 0\n for (const [i, [command, args, config]] of steps.entries()) {\n if (messages?.[i]) {\n console.log(chalk.gray(messages?.[i]))\n }\n const argList = Array.isArray(args) ? args : args.split(' ')\n if (command === 'node' && !existsSync(argList[0])) {\n throw new Error(`File not found [${argList[0]}]`)\n }\n const status\n = spawnSync(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n encoding: 'utf8',\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).status ?? 0\n checkResult(name, status, 'error', exitOnFail)\n totalStatus += status ?? 0\n }\n return totalStatus\n }, !!exitOnFail)\n}\n"],"mappings":"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","names":["chalk","chalk","checkResult","name","result","level","exitOnFail","exiting","chalkFunc","chalk","red","yellow","console","process","exit","chalk","withError","ex","closure","predicate","name","message","undefined","withErrnoException","ex","closure","withError","errno","undefined","processEx","ex","error","Error","exitCode","withErrnoException","code","console","chalk","red","path","errno","withError","name","message","JSON","stringify","process","exit","safeExit","func","exitOnFail","result","process","exit","ex","processEx","spawnSync","existsSync","chalk","runSteps","name","steps","exitOnFail","messages","safeExit","pkgName","process","env","npm_package_name","console","log","chalk","green","totalStatus","i","command","args","config","entries","gray","argList","Array","isArray","split","existsSync","Error","status","spawnSync","encoding","FORCE_COLOR","shell","stdio","checkResult","lintPackage","pkg","fix","verbose","console","log","chalk","gray","start","Date","now","verboseOptions","result","runSteps","magenta","toFixed","lint","incremental","lintAllPackages","incrementalOptions"]}
@@ -888,7 +888,7 @@ function getFiles(dir, ignoreFolders) {
888
888
  });
889
889
  }
890
890
  __name(getFiles, "getFiles");
891
- var packageLint = /* @__PURE__ */ __name(async (fix = false, verbose = false) => {
891
+ var packageLint = /* @__PURE__ */ __name(async (fix = false, verbose = false, cache = true) => {
892
892
  const pkg = process.env.INIT_CWD;
893
893
  const configPath = await getRootESLintConfig();
894
894
  const { default: eslintConfig } = await import(configPath.href);
@@ -907,7 +907,8 @@ var packageLint = /* @__PURE__ */ __name(async (fix = false, verbose = false) =>
907
907
  ...eslintConfig
908
908
  ],
909
909
  fix,
910
- warnIgnored: false
910
+ warnIgnored: false,
911
+ cache
911
912
  });
912
913
  const files = getFiles(cwd4(), ignoreFolders);
913
914
  if (verbose) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/package/clean-outputs.ts","../../../src/lib/checkResult.ts","../../../src/lib/deleteGlob.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/deepMerge.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/compile/compileTypes.ts","../../../src/actions/package/copy-assets.ts","../../../src/actions/package/deps.ts","../../../src/actions/package/gen-docs.ts","../../../src/actions/package/lint.ts","../../../src/actions/package/recompile.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanOutputs = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n for (let folder of folders) {\n deleteGlob(folder)\n }\n\n return 0\n}\n","import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import fs from 'node:fs'\n\nimport { glob } from 'glob'\n\nexport const deleteGlob = (globPath: string) => {\n // Find all files matching the glob pattern\n const files = glob.sync(globPath)\n\n // Remove each file or directory\n for (const file of files) {\n fs.rmSync(file, { recursive: true, force: true })\n }\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return deepmerge(config, params ?? {}) as T\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanTypescript = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n for (let file of files) {\n deleteGlob(file)\n }\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport type {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport type { Message } from 'publint'\nimport sortPackageJson from 'sort-package-json'\n\nexport interface PackagePublintParams { verbose?: boolean }\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n\n const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n await fs.writeFile(`${pkgDir}/package.json`, sortedPkg)\n\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import-x/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /* try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n } */\n }\n\n // we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter(message => message.type === 'error').length\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport type { TsConfigCompilerOptions } from 'tsc-prog'\nimport { createProgramFromConfig } from 'tsc-prog'\nimport type {\n CompilerOptions,\n FormatDiagnosticsHost,\n LineAndCharacter,\n} from 'typescript'\nimport {\n DiagnosticCategory,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport type { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport deepmerge from 'deepmerge'\nimport type { TsConfig } from 'tsc-prog'\nimport type { CompilerOptions } from 'typescript'\nimport {\n findConfigFile, readConfigFile, sys,\n} from 'typescript'\n\nconst getNested = (config: TsConfig): CompilerOptions => {\n if (config.extends) {\n const require = createRequire(import.meta.url)\n const opts = require(config.extends)\n return deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {\n const config = readConfigFile(filename, sys.readFile).config\n return getNested(config)\n}\n\nexport const getCompilerOptions = (options: CompilerOptions = {}, tsconfig: string = 'tsconfig.json'): CompilerOptions => {\n const configFileName = findConfigFile('./', sys.fileExists, tsconfig)\n const configFileCompilerOptions = (configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : undefined) ?? {}\n\n return deepmerge(configFileCompilerOptions, options)\n}\n","/* eslint-disable complexity */\nimport type { Loader } from 'esbuild'\nimport type { Options } from 'tsup'\nimport { build, defineConfig } from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { deepMergeObjects } from './deepMerge.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport type { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (verbose) {\n console.log(`compileFolder [${folder}]`)\n }\n\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: types === 'tsup',\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n if (verbose) {\n console.log(`TSUP:build:start [${folder}] ${types}`)\n }\n\n await Promise.all(optionsList.map(options => build(options)))\n\n if (verbose) {\n console.log(`TSUP:build:stop [${folder}] ${types}`)\n }\n\n return 0\n}\n\nexport const tsupOptions = (options: Options[] = []): Options => {\n const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\n }\n\n const standardOptions: Options = {\n bundle: true,\n format: ['esm'],\n loader: standardLoaders,\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n }\n\n return deepMergeObjects([standardOptions, ...options])\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n if (types === 'tsc') {\n if (verbose) {\n console.log(`Calling packageCompileTscTypes [${types}`)\n }\n const errors = packageCompileTscTypes('src', { verbose })\n if (errors) {\n return errors\n }\n }\n\n return (\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'node', outDir: 'dist/node' }]),\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'browser', outDir: 'dist/browser' }]),\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (\n await Promise.all(\n Object.entries(compileForNeutral).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'neutral', outDir: 'dist/neutral' }]),\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } from './inputs.ts'\nimport type { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode: EntryMode = 'single', verbose = false) => {\n let entries: string[] = []\n switch (entryMode) {\n case 'platform': {\n entries = [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n break\n }\n case 'all': {\n entries = getAllInputs(folder).filter(entry => !entry.includes('.spec.') && !entry.includes('.story.'))\n break\n }\n default: {\n entries = [`${folder}/index.ts`]\n break\n }\n }\n if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`)\n return entries\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyObject = Record<any, any>\n\nfunction deepMerge<T extends AnyObject>(target: AnyObject, source: AnyObject): T {\n if (!source || typeof source !== 'object') return target\n\n for (const key of Object.keys(source)) {\n if (\n typeof source[key] === 'object'\n && source[key] !== null\n && !Array.isArray(source[key])\n ) {\n // Recursively merge nested objects\n if (!target[key] || typeof target[key] !== 'object') {\n target[key] = {} as T[typeof key]\n }\n deepMerge(target[key], source[key])\n } else {\n // Overwrite with non-object values\n target[key] = source[key]\n }\n }\n\n return target\n}\n\nexport function deepMergeObjects<T extends AnyObject>(objects: T[]): T {\n const result = {} as T\n for (const obj of objects) {\n deepMerge(result, obj)\n }\n return result\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport type { TsConfigCompilerOptions } from 'tsc-prog'\nimport { createProgramFromConfig } from 'tsc-prog'\nimport type { CompilerOptions } from 'typescript'\nimport { DiagnosticCategory } from 'typescript'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport type { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n config: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): number => {\n const pkg = process.env.INIT_CWD ?? cwd()\n const verbose = config?.verbose ?? false\n\n if (verbose) {\n console.log(`Compiling types with TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist/types',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\n })),\n ...compilerOptionsParam,\n emitDeclarationOnly: true,\n noEmit: false,\n } as TsConfigCompilerOptions\n\n // calling all here since the types do not get rolled up\n const files = buildEntries(folder, 'all', verbose)\n\n const result = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n files,\n }).emit()\n\n const diagResults = result.diagnostics.length\n for (const diag of result.diagnostics) {\n switch (diag.category) {\n case DiagnosticCategory.Error: {\n console.error(chalk.red(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Warning: {\n console.error(chalk.yellow(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Suggestion: {\n console.error(chalk.white(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n }\n }\n return diagResults\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport type { XyConfig, XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTypes = async (inConfig: XyConfig = {}): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling Types ${pkg}`))\n const config = await loadConfig(inConfig)\n\n return packageCompileTscTypes(undefined, config as XyTscConfig)\n}\n","import path from 'node:path/posix'\n\nimport chalk from 'chalk'\nimport cpy from 'cpy'\n\nexport interface PackageCopyAssetsParams { target?: 'esm' | 'cjs' }\n\nconst copyTargetAssets = async (target: 'esm' | 'cjs', name: string, location: string) => {\n try {\n const values = await cpy(\n ['**/*.jpg', '**/*.png', '**/*.gif', '**/*.svg', '**/*.webp', '**/*.sass', '**/*.scss', '**/*.gif', '**/*.css'],\n `../dist/${target}`,\n {\n cwd: path.join(location, 'src'),\n flat: false,\n },\n )\n if (values.length > 0) {\n console.log(chalk.green(`Copying Assets [${target.toUpperCase()}] - ${name} - ${location}`))\n }\n for (const value of values) {\n console.log(`${value.split('/').pop()} => ./dist/${target}`)\n }\n return 0\n } catch (ex) {\n const error = ex as Error\n console.log(`Copy Assets Failed: ${name}: ${error.message}`)\n return 1\n }\n}\n\nexport const packageCopyAssets = async ({ target }: PackageCopyAssetsParams) => {\n const pkg = process.env.INIT_CWD ?? './'\n const pkgName = process.env.npm_package_name ?? 'Unknown'\n switch (target) {\n case 'esm': {\n return await copyTargetAssets('esm', pkgName, pkg)\n }\n case 'cjs': {\n return await copyTargetAssets('cjs', pkgName, pkg)\n }\n default: {\n return (await copyTargetAssets('esm', pkgName, pkg)) || (await copyTargetAssets('cjs', pkgName, pkg))\n }\n }\n}\n","/* eslint-disable max-statements */\nimport { existsSync, readFileSync } from 'node:fs'\nimport { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport depcheck from 'depcheck'\nconst special = depcheck.special\n\nimport { checkResult } from '../../lib/index.ts'\n\nconst defaultIgnorePatterns = ['*.d.ts', 'dist', '.*', 'node_modules']\nconst defaultIgnoreDevDeps = [\n '@xylabs/ts-scripts-yarn3',\n '@xylabs/tsconfig',\n '@xylabs/tsconfig-dom',\n '@xylabs/tsconfig-react',\n 'typescript',\n]\nconst defaultIgnoreDevPatterns = ['*.stories.*', '*.spec.*', 'spec', 'stories', 'tsconfig.json']\n\nconst reportUnused = (name: string, unused: depcheck.Results['dependencies']) => {\n if (unused.length > 0) {\n const message = [chalk.yellow(`${unused.length} Unused ${name}`)]\n for (const value of unused) message.push(chalk.gray(` ${value}`))\n console.log(message.join('\\n'))\n }\n}\n\nconst reportMissing = (name: string, missing: depcheck.Results['missing']) => {\n if (Object.keys(missing).length > 0) {\n const message = [chalk.yellow(`${Object.entries(missing).length} Missing ${name}`)]\n for (const [key, value] of Object.entries(missing)) {\n message.push(`${key}`, chalk.gray(` ${value.at(0)}`))\n }\n console.log(chalk.yellow(message.join('\\n')))\n }\n}\n\nconst analyzeDeps = async (pkg: string, ignoreMatches: string[]) => {\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n const [srcUnused, allUnused] = await Promise.all([\n depcheck(`${pkg}/src`, {\n ignoreMatches,\n ignorePatterns: [...defaultIgnoreDevPatterns, ...defaultIgnorePatterns],\n package: packageContent,\n }),\n depcheck(`${pkg}/.`, {\n ignoreMatches: [...ignoreMatches, ...defaultIgnoreDevDeps],\n ignorePatterns: [...defaultIgnorePatterns],\n package: packageContent,\n specials: [special.eslint, special.babel, special.bin, special.prettier, special.jest, special.mocha],\n }),\n ])\n\n const unusedDeps = srcUnused.dependencies\n const unusedDevDeps = allUnused.devDependencies\n const usedDeps = srcUnused.using\n const usedDevDeps = allUnused.using\n const missing = { ...srcUnused.missing, ...allUnused.missing }\n const { invalidDirs, invalidFiles } = allUnused\n\n return {\n invalidDirs, invalidFiles, missing, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps,\n }\n}\n\nexport const packageDeps = async () => {\n const pkg = process.env.INIT_CWD ?? cwd()\n const pkgName = process.env.npm_package_name\n\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n\n const rawIgnore\n = existsSync(`${pkg}/.depcheckrc`) ? readFileSync(`${pkg}/.depcheckrc`, { encoding: 'utf8' }).replace('ignores:', '\"ignores\":') : undefined\n let ignoreMatches: string[] = []\n try {\n ignoreMatches = rawIgnore ? (JSON.parse(`{${rawIgnore}}`).ignores as string[]) : []\n } catch (ex) {\n const error = ex as Error\n console.log(`${pkgName} [${error.message}] Failed to parse .depcheckrc [${rawIgnore}]`)\n }\n\n const {\n invalidDirs, invalidFiles, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps, missing,\n } = await analyzeDeps(pkg, ignoreMatches)\n\n const declaredDeps = Object.keys(packageContent.dependencies ?? {})\n const declaredPeerDeps = Object.keys(packageContent.peerDependencies ?? {})\n const declaredDevDeps = Object.keys(packageContent.devDependencies ?? {})\n\n const missingDeps = Object.keys(usedDeps).filter(\n key => !declaredDeps.includes(key) && !declaredPeerDeps.includes(key) && !key.startsWith('@types/'),\n )\n\n const missingDevDeps = Object.keys(usedDevDeps).filter(key => !declaredDevDeps.includes(key) && !declaredDeps.includes(key))\n\n const missingDepsObject: Record<string, string[]> = {}\n for (const key of missingDeps) {\n missingDepsObject[key] = missing[key] ?? [`devDep should be dep [${key}]`]\n }\n\n const missingDevDepsObject: Record<string, string[]> = {}\n for (const key of missingDevDeps) {\n if (missing[key]) {\n missingDevDepsObject[key] = missing[key]\n }\n }\n\n const errorCounts = [\n unusedDeps.length,\n unusedDevDeps.length,\n Object.entries(invalidDirs).length,\n Object.entries(invalidFiles).length,\n Object.entries(missingDepsObject).length,\n Object.entries(missingDevDepsObject).length,\n ]\n\n const errorCount = errorCounts.reduce((prev, count) => prev + count, 0)\n\n if (errorCount > 0) {\n console.log(`Deps [${pkgName}] = (${JSON.stringify(errorCounts)})`)\n } else {\n console.log(`Deps [${pkgName}] - Ok`)\n }\n\n reportUnused('dependencies', unusedDeps)\n reportUnused('devDependencies', unusedDevDeps)\n\n if (Object.entries(invalidDirs).length > 0) {\n for (const [key, value] of Object.entries(invalidDirs)) console.warn(chalk.gray(`Invalid Dir: ${key}: ${value}`))\n }\n\n if (Object.entries(invalidFiles).length > 0) {\n for (const [key, value] of Object.entries(invalidFiles)) console.warn(chalk.gray(`Invalid File: ${key}: ${value}`))\n }\n\n reportMissing('dependencies', missingDepsObject)\n reportMissing('devDependencies', missingDevDepsObject)\n\n checkResult(`Deps [${pkgName}]`, errorCount, 'warn', false)\n\n // returning 0 here since we never want deps to be fatal\n return 0\n}\n","/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { existsSync } from 'node:fs'\nimport path from 'node:path'\n\nimport chalk from 'chalk'\nimport {\n Application, ArgumentsReader, TSConfigReader, TypeDocReader,\n} from 'typedoc'\n\nconst ExitCodes = {\n CompileError: 3,\n ExceptionThrown: 6,\n NoEntryPoints: 2,\n Ok: 0,\n OptionError: 1,\n OutputError: 5,\n ValidationError: 4,\n}\n\nexport const packageGenDocs = async () => {\n const pkg = process.env.INIT_CWD\n\n if (pkg && !existsSync(path.join(pkg, 'typedoc.json'))) {\n return\n }\n\n const app = await Application.bootstrap({\n entryPointStrategy: 'merge',\n entryPoints: [`${pkg}/src/**/*.ts`, `${pkg}/packages/*/dist/docs.json`],\n excludeExternals: true,\n json: `${pkg}/dist/docs.json`,\n logLevel: 'Error',\n tsconfig: `${pkg}/tsconfig.json`,\n })\n\n app.options.addReader(new ArgumentsReader(0))\n app.options.addReader(new TypeDocReader())\n app.options.addReader(new TSConfigReader())\n app.options.addReader(new ArgumentsReader(300))\n\n return await runTypeDoc(app)\n}\n\nconst runTypeDoc = async (app: Application) => {\n const pkgName = process.env.npm_package_name\n if (app.options.getValue('version')) {\n console.log(app.toString())\n return ExitCodes.Ok\n }\n\n if (app.options.getValue('showConfig')) {\n console.log(app.options.getRawValues())\n return ExitCodes.Ok\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OptionError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OptionError\n }\n\n if (app.options.getValue('entryPoints').length === 0) {\n app.logger.error('No entry points provided')\n return ExitCodes.NoEntryPoints\n }\n\n if (app.options.getValue('watch')) {\n await app.convertAndWatch(async (project) => {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n })\n return ExitCodes.Ok\n }\n\n const project = await app.convert()\n if (!project) {\n return ExitCodes.CompileError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.CompileError\n }\n\n app.validate(project)\n if (app.logger.hasErrors()) {\n return ExitCodes.ValidationError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.ValidationError\n }\n\n if (app.options.getValue('emit') !== 'none') {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OutputError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OutputError\n }\n }\n console.log(chalk.green(`${pkgName} - Ok`))\n return ExitCodes.Ok\n}\n","import { readdirSync } from 'node:fs'\nimport path from 'node:path'\nimport { cwd } from 'node:process'\nimport { pathToFileURL } from 'node:url'\n\nimport chalk from 'chalk'\nimport { ESLint } from 'eslint'\nimport { findUp } from 'find-up'\nimport picomatch from 'picomatch'\n\nconst dumpMessages = (lintResults: ESLint.LintResult[]) => {\n const colors: ('white' | 'red' | 'yellow')[] = ['white', 'yellow', 'red']\n const severity: string[] = ['none', 'warning', 'error']\n\n for (const lintResult of lintResults) {\n if (lintResult.messages.length > 0) {\n console.log(chalk.gray(`\\n${lintResult.filePath}`))\n for (const message of lintResult.messages) {\n console.log(\n chalk.gray(`\\t${message.line}:${message.column}`),\n chalk[colors[message.severity]](`\\t${severity[message.severity]}`),\n chalk.white(`\\t${message.message}`),\n chalk.gray(`\\t${message.ruleId}`),\n )\n }\n }\n }\n}\n\nasync function getRootESLintConfig() {\n // Locate the root eslint.config.mjs\n const configPath = await findUp('eslint.config.mjs')\n\n if (!configPath) {\n throw new Error('eslint.config.mjs not found in the monorepo')\n }\n\n return pathToFileURL(configPath)\n}\n\nfunction getFiles(dir: string, ignoreFolders: string[]): string[] {\n const currentDirectory = cwd()\n const subDirectory = dir.split(currentDirectory)[1]\n if (ignoreFolders.includes(subDirectory)) return []\n return readdirSync(dir, { withFileTypes: true })\n .flatMap((dirent) => {\n const res = path.resolve(dir, dirent.name)\n const relativePath = subDirectory ? `${subDirectory}/${dirent.name}` : dirent.name\n\n const ignoreMatchers = ignoreFolders.map(pattern => picomatch(pattern))\n\n // Exclude ignored paths\n if (ignoreMatchers.some(isMatch => isMatch(relativePath))) return []\n\n return dirent.isDirectory()\n ? getFiles(res, ignoreFolders)\n : [res]\n })\n}\n\nexport const packageLint = async (fix = false, verbose = false) => {\n const pkg = process.env.INIT_CWD\n const configPath = await getRootESLintConfig()\n const { default: eslintConfig } = await import(configPath.href)\n\n // List of folders to ignore\n const ignoreFolders = ['node_modules', 'dist', 'packages', '.git', 'build', '.yarn', '.vscode', '.github']\n\n const engine = new ESLint({\n baseConfig: [...eslintConfig], fix, warnIgnored: false,\n })\n\n const files = getFiles(cwd(), ignoreFolders)\n if (verbose) {\n console.log(chalk.green(`Linting ${pkg} [files = ${files.length}]`))\n }\n const lintResults = await engine.lintFiles(files)\n\n dumpMessages(lintResults)\n\n if (fix) {\n await ESLint.outputFixes(lintResults)\n }\n\n return lintResults.reduce((prev, lintResult) => prev + lintResult.errorCount, 0)\n}\n","import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return await packageClean() || await packageCompile()\n}\n"],"mappings":"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","names":["path","chalk","chalk","checkResult","name","result","level","exitOnFail","exiting","chalkFunc","chalk","red","yellow","console","process","exit","fs","glob","deleteGlob","globPath","files","glob","sync","file","fs","rmSync","recursive","force","chalk","cosmiconfig","deepmerge","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","packageCleanOutputs","pkg","process","env","INIT_CWD","pkgName","npm_package_name","folders","path","join","console","log","chalk","green","folder","deleteGlob","path","chalk","packageCleanTypescript","pkg","process","env","INIT_CWD","pkgName","npm_package_name","console","log","chalk","green","files","path","join","file","deleteGlob","packageClean","Promise","all","packageCleanOutputs","packageCleanTypescript","reduce","prev","value","chalk","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","formatDiagnosticsWithColorAndContext","getLineAndCharacterOfPosition","getPreEmitDiagnostics","createRequire","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","entries","getAllInputs","filter","entry","includes","console","log","length","deepMerge","target","source","key","Object","keys","Array","isArray","deepMergeObjects","objects","result","obj","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","verbose","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","noEmit","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","compileFolder","folder","entryMode","options","types","verbose","outDir","console","log","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","tsupOptions","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","deepMergeObjects","packageCompileTsup","config","warn","compile","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","errors","packageCompileTscTypes","Object","entries","inEsBuildOptions","esbuildOptions","tsup","platform","reduce","prev","value","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","chalk","packageCompileTypes","inConfig","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","packageCompileTscTypes","undefined","path","chalk","cpy","copyTargetAssets","target","name","location","values","cpy","cwd","path","join","flat","length","console","log","chalk","green","toUpperCase","value","split","pop","ex","error","message","packageCopyAssets","pkg","process","env","INIT_CWD","pkgName","npm_package_name","existsSync","readFileSync","cwd","chalk","depcheck","special","depcheck","defaultIgnorePatterns","defaultIgnoreDevDeps","defaultIgnoreDevPatterns","reportUnused","name","unused","length","message","chalk","yellow","value","push","gray","console","log","join","reportMissing","missing","Object","keys","entries","key","at","analyzeDeps","pkg","ignoreMatches","packageContent","existsSync","JSON","parse","readFileSync","encoding","undefined","srcUnused","allUnused","Promise","all","ignorePatterns","package","specials","eslint","babel","bin","prettier","jest","mocha","unusedDeps","dependencies","unusedDevDeps","devDependencies","usedDeps","using","usedDevDeps","invalidDirs","invalidFiles","packageDeps","process","env","INIT_CWD","cwd","pkgName","npm_package_name","rawIgnore","replace","ignores","ex","error","declaredDeps","declaredPeerDeps","peerDependencies","declaredDevDeps","missingDeps","filter","includes","startsWith","missingDevDeps","missingDepsObject","missingDevDepsObject","errorCounts","errorCount","reduce","prev","count","stringify","warn","checkResult","existsSync","path","chalk","Application","ArgumentsReader","TSConfigReader","TypeDocReader","ExitCodes","CompileError","ExceptionThrown","NoEntryPoints","Ok","OptionError","OutputError","ValidationError","packageGenDocs","pkg","process","env","INIT_CWD","existsSync","path","join","app","Application","bootstrap","entryPointStrategy","entryPoints","excludeExternals","json","logLevel","tsconfig","options","addReader","ArgumentsReader","TypeDocReader","TSConfigReader","runTypeDoc","pkgName","npm_package_name","getValue","console","log","toString","getRawValues","logger","hasErrors","hasWarnings","length","error","convertAndWatch","project","out","generateDocs","generateJson","convert","validate","chalk","green","readdirSync","path","cwd","pathToFileURL","chalk","ESLint","findUp","picomatch","dumpMessages","lintResults","colors","severity","lintResult","messages","length","console","log","chalk","gray","filePath","message","line","column","white","ruleId","getRootESLintConfig","configPath","findUp","Error","pathToFileURL","getFiles","dir","ignoreFolders","currentDirectory","cwd","subDirectory","split","includes","readdirSync","withFileTypes","flatMap","dirent","res","path","resolve","name","relativePath","ignoreMatchers","map","pattern","picomatch","some","isMatch","isDirectory","packageLint","fix","verbose","pkg","process","env","INIT_CWD","default","eslintConfig","href","engine","ESLint","baseConfig","warnIgnored","files","green","lintFiles","outputFixes","reduce","prev","errorCount","packageRecompile","packageClean","packageCompile"]}
1
+ {"version":3,"sources":["../../../src/actions/package/clean-outputs.ts","../../../src/lib/checkResult.ts","../../../src/lib/deleteGlob.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/deepMerge.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/compile/compileTypes.ts","../../../src/actions/package/copy-assets.ts","../../../src/actions/package/deps.ts","../../../src/actions/package/gen-docs.ts","../../../src/actions/package/lint.ts","../../../src/actions/package/recompile.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanOutputs = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n for (let folder of folders) {\n deleteGlob(folder)\n }\n\n return 0\n}\n","import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import fs from 'node:fs'\n\nimport { glob } from 'glob'\n\nexport const deleteGlob = (globPath: string) => {\n // Find all files matching the glob pattern\n const files = glob.sync(globPath)\n\n // Remove each file or directory\n for (const file of files) {\n fs.rmSync(file, { recursive: true, force: true })\n }\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return deepmerge(config, params ?? {}) as T\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanTypescript = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n for (let file of files) {\n deleteGlob(file)\n }\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport type {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport type { Message } from 'publint'\nimport sortPackageJson from 'sort-package-json'\n\nexport interface PackagePublintParams { verbose?: boolean }\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n\n const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n await fs.writeFile(`${pkgDir}/package.json`, sortedPkg)\n\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import-x/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /* try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n } */\n }\n\n // we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter(message => message.type === 'error').length\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport type { TsConfigCompilerOptions } from 'tsc-prog'\nimport { createProgramFromConfig } from 'tsc-prog'\nimport type {\n CompilerOptions,\n FormatDiagnosticsHost,\n LineAndCharacter,\n} from 'typescript'\nimport {\n DiagnosticCategory,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport type { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport deepmerge from 'deepmerge'\nimport type { TsConfig } from 'tsc-prog'\nimport type { CompilerOptions } from 'typescript'\nimport {\n findConfigFile, readConfigFile, sys,\n} from 'typescript'\n\nconst getNested = (config: TsConfig): CompilerOptions => {\n if (config.extends) {\n const require = createRequire(import.meta.url)\n const opts = require(config.extends)\n return deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {\n const config = readConfigFile(filename, sys.readFile).config\n return getNested(config)\n}\n\nexport const getCompilerOptions = (options: CompilerOptions = {}, tsconfig: string = 'tsconfig.json'): CompilerOptions => {\n const configFileName = findConfigFile('./', sys.fileExists, tsconfig)\n const configFileCompilerOptions = (configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : undefined) ?? {}\n\n return deepmerge(configFileCompilerOptions, options)\n}\n","/* eslint-disable complexity */\nimport type { Loader } from 'esbuild'\nimport type { Options } from 'tsup'\nimport { build, defineConfig } from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { deepMergeObjects } from './deepMerge.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport type { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (verbose) {\n console.log(`compileFolder [${folder}]`)\n }\n\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: types === 'tsup',\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n if (verbose) {\n console.log(`TSUP:build:start [${folder}] ${types}`)\n }\n\n await Promise.all(optionsList.map(options => build(options)))\n\n if (verbose) {\n console.log(`TSUP:build:stop [${folder}] ${types}`)\n }\n\n return 0\n}\n\nexport const tsupOptions = (options: Options[] = []): Options => {\n const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\n }\n\n const standardOptions: Options = {\n bundle: true,\n format: ['esm'],\n loader: standardLoaders,\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n }\n\n return deepMergeObjects([standardOptions, ...options])\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n if (types === 'tsc') {\n if (verbose) {\n console.log(`Calling packageCompileTscTypes [${types}`)\n }\n const errors = packageCompileTscTypes('src', { verbose })\n if (errors) {\n return errors\n }\n }\n\n return (\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'node', outDir: 'dist/node' }]),\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'browser', outDir: 'dist/browser' }]),\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (\n await Promise.all(\n Object.entries(compileForNeutral).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'neutral', outDir: 'dist/neutral' }]),\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } from './inputs.ts'\nimport type { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode: EntryMode = 'single', verbose = false) => {\n let entries: string[] = []\n switch (entryMode) {\n case 'platform': {\n entries = [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n break\n }\n case 'all': {\n entries = getAllInputs(folder).filter(entry => !entry.includes('.spec.') && !entry.includes('.story.'))\n break\n }\n default: {\n entries = [`${folder}/index.ts`]\n break\n }\n }\n if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`)\n return entries\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyObject = Record<any, any>\n\nfunction deepMerge<T extends AnyObject>(target: AnyObject, source: AnyObject): T {\n if (!source || typeof source !== 'object') return target\n\n for (const key of Object.keys(source)) {\n if (\n typeof source[key] === 'object'\n && source[key] !== null\n && !Array.isArray(source[key])\n ) {\n // Recursively merge nested objects\n if (!target[key] || typeof target[key] !== 'object') {\n target[key] = {} as T[typeof key]\n }\n deepMerge(target[key], source[key])\n } else {\n // Overwrite with non-object values\n target[key] = source[key]\n }\n }\n\n return target\n}\n\nexport function deepMergeObjects<T extends AnyObject>(objects: T[]): T {\n const result = {} as T\n for (const obj of objects) {\n deepMerge(result, obj)\n }\n return result\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport type { TsConfigCompilerOptions } from 'tsc-prog'\nimport { createProgramFromConfig } from 'tsc-prog'\nimport type { CompilerOptions } from 'typescript'\nimport { DiagnosticCategory } from 'typescript'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport type { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n config: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): number => {\n const pkg = process.env.INIT_CWD ?? cwd()\n const verbose = config?.verbose ?? false\n\n if (verbose) {\n console.log(`Compiling types with TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist/types',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\n })),\n ...compilerOptionsParam,\n emitDeclarationOnly: true,\n noEmit: false,\n } as TsConfigCompilerOptions\n\n // calling all here since the types do not get rolled up\n const files = buildEntries(folder, 'all', verbose)\n\n const result = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n files,\n }).emit()\n\n const diagResults = result.diagnostics.length\n for (const diag of result.diagnostics) {\n switch (diag.category) {\n case DiagnosticCategory.Error: {\n console.error(chalk.red(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Warning: {\n console.error(chalk.yellow(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Suggestion: {\n console.error(chalk.white(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n }\n }\n return diagResults\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport type { XyConfig, XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTypes = async (inConfig: XyConfig = {}): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling Types ${pkg}`))\n const config = await loadConfig(inConfig)\n\n return packageCompileTscTypes(undefined, config as XyTscConfig)\n}\n","import path from 'node:path/posix'\n\nimport chalk from 'chalk'\nimport cpy from 'cpy'\n\nexport interface PackageCopyAssetsParams { target?: 'esm' | 'cjs' }\n\nconst copyTargetAssets = async (target: 'esm' | 'cjs', name: string, location: string) => {\n try {\n const values = await cpy(\n ['**/*.jpg', '**/*.png', '**/*.gif', '**/*.svg', '**/*.webp', '**/*.sass', '**/*.scss', '**/*.gif', '**/*.css'],\n `../dist/${target}`,\n {\n cwd: path.join(location, 'src'),\n flat: false,\n },\n )\n if (values.length > 0) {\n console.log(chalk.green(`Copying Assets [${target.toUpperCase()}] - ${name} - ${location}`))\n }\n for (const value of values) {\n console.log(`${value.split('/').pop()} => ./dist/${target}`)\n }\n return 0\n } catch (ex) {\n const error = ex as Error\n console.log(`Copy Assets Failed: ${name}: ${error.message}`)\n return 1\n }\n}\n\nexport const packageCopyAssets = async ({ target }: PackageCopyAssetsParams) => {\n const pkg = process.env.INIT_CWD ?? './'\n const pkgName = process.env.npm_package_name ?? 'Unknown'\n switch (target) {\n case 'esm': {\n return await copyTargetAssets('esm', pkgName, pkg)\n }\n case 'cjs': {\n return await copyTargetAssets('cjs', pkgName, pkg)\n }\n default: {\n return (await copyTargetAssets('esm', pkgName, pkg)) || (await copyTargetAssets('cjs', pkgName, pkg))\n }\n }\n}\n","/* eslint-disable max-statements */\nimport { existsSync, readFileSync } from 'node:fs'\nimport { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport depcheck from 'depcheck'\nconst special = depcheck.special\n\nimport { checkResult } from '../../lib/index.ts'\n\nconst defaultIgnorePatterns = ['*.d.ts', 'dist', '.*', 'node_modules']\nconst defaultIgnoreDevDeps = [\n '@xylabs/ts-scripts-yarn3',\n '@xylabs/tsconfig',\n '@xylabs/tsconfig-dom',\n '@xylabs/tsconfig-react',\n 'typescript',\n]\nconst defaultIgnoreDevPatterns = ['*.stories.*', '*.spec.*', 'spec', 'stories', 'tsconfig.json']\n\nconst reportUnused = (name: string, unused: depcheck.Results['dependencies']) => {\n if (unused.length > 0) {\n const message = [chalk.yellow(`${unused.length} Unused ${name}`)]\n for (const value of unused) message.push(chalk.gray(` ${value}`))\n console.log(message.join('\\n'))\n }\n}\n\nconst reportMissing = (name: string, missing: depcheck.Results['missing']) => {\n if (Object.keys(missing).length > 0) {\n const message = [chalk.yellow(`${Object.entries(missing).length} Missing ${name}`)]\n for (const [key, value] of Object.entries(missing)) {\n message.push(`${key}`, chalk.gray(` ${value.at(0)}`))\n }\n console.log(chalk.yellow(message.join('\\n')))\n }\n}\n\nconst analyzeDeps = async (pkg: string, ignoreMatches: string[]) => {\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n const [srcUnused, allUnused] = await Promise.all([\n depcheck(`${pkg}/src`, {\n ignoreMatches,\n ignorePatterns: [...defaultIgnoreDevPatterns, ...defaultIgnorePatterns],\n package: packageContent,\n }),\n depcheck(`${pkg}/.`, {\n ignoreMatches: [...ignoreMatches, ...defaultIgnoreDevDeps],\n ignorePatterns: [...defaultIgnorePatterns],\n package: packageContent,\n specials: [special.eslint, special.babel, special.bin, special.prettier, special.jest, special.mocha],\n }),\n ])\n\n const unusedDeps = srcUnused.dependencies\n const unusedDevDeps = allUnused.devDependencies\n const usedDeps = srcUnused.using\n const usedDevDeps = allUnused.using\n const missing = { ...srcUnused.missing, ...allUnused.missing }\n const { invalidDirs, invalidFiles } = allUnused\n\n return {\n invalidDirs, invalidFiles, missing, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps,\n }\n}\n\nexport const packageDeps = async () => {\n const pkg = process.env.INIT_CWD ?? cwd()\n const pkgName = process.env.npm_package_name\n\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n\n const rawIgnore\n = existsSync(`${pkg}/.depcheckrc`) ? readFileSync(`${pkg}/.depcheckrc`, { encoding: 'utf8' }).replace('ignores:', '\"ignores\":') : undefined\n let ignoreMatches: string[] = []\n try {\n ignoreMatches = rawIgnore ? (JSON.parse(`{${rawIgnore}}`).ignores as string[]) : []\n } catch (ex) {\n const error = ex as Error\n console.log(`${pkgName} [${error.message}] Failed to parse .depcheckrc [${rawIgnore}]`)\n }\n\n const {\n invalidDirs, invalidFiles, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps, missing,\n } = await analyzeDeps(pkg, ignoreMatches)\n\n const declaredDeps = Object.keys(packageContent.dependencies ?? {})\n const declaredPeerDeps = Object.keys(packageContent.peerDependencies ?? {})\n const declaredDevDeps = Object.keys(packageContent.devDependencies ?? {})\n\n const missingDeps = Object.keys(usedDeps).filter(\n key => !declaredDeps.includes(key) && !declaredPeerDeps.includes(key) && !key.startsWith('@types/'),\n )\n\n const missingDevDeps = Object.keys(usedDevDeps).filter(key => !declaredDevDeps.includes(key) && !declaredDeps.includes(key))\n\n const missingDepsObject: Record<string, string[]> = {}\n for (const key of missingDeps) {\n missingDepsObject[key] = missing[key] ?? [`devDep should be dep [${key}]`]\n }\n\n const missingDevDepsObject: Record<string, string[]> = {}\n for (const key of missingDevDeps) {\n if (missing[key]) {\n missingDevDepsObject[key] = missing[key]\n }\n }\n\n const errorCounts = [\n unusedDeps.length,\n unusedDevDeps.length,\n Object.entries(invalidDirs).length,\n Object.entries(invalidFiles).length,\n Object.entries(missingDepsObject).length,\n Object.entries(missingDevDepsObject).length,\n ]\n\n const errorCount = errorCounts.reduce((prev, count) => prev + count, 0)\n\n if (errorCount > 0) {\n console.log(`Deps [${pkgName}] = (${JSON.stringify(errorCounts)})`)\n } else {\n console.log(`Deps [${pkgName}] - Ok`)\n }\n\n reportUnused('dependencies', unusedDeps)\n reportUnused('devDependencies', unusedDevDeps)\n\n if (Object.entries(invalidDirs).length > 0) {\n for (const [key, value] of Object.entries(invalidDirs)) console.warn(chalk.gray(`Invalid Dir: ${key}: ${value}`))\n }\n\n if (Object.entries(invalidFiles).length > 0) {\n for (const [key, value] of Object.entries(invalidFiles)) console.warn(chalk.gray(`Invalid File: ${key}: ${value}`))\n }\n\n reportMissing('dependencies', missingDepsObject)\n reportMissing('devDependencies', missingDevDepsObject)\n\n checkResult(`Deps [${pkgName}]`, errorCount, 'warn', false)\n\n // returning 0 here since we never want deps to be fatal\n return 0\n}\n","/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { existsSync } from 'node:fs'\nimport path from 'node:path'\n\nimport chalk from 'chalk'\nimport {\n Application, ArgumentsReader, TSConfigReader, TypeDocReader,\n} from 'typedoc'\n\nconst ExitCodes = {\n CompileError: 3,\n ExceptionThrown: 6,\n NoEntryPoints: 2,\n Ok: 0,\n OptionError: 1,\n OutputError: 5,\n ValidationError: 4,\n}\n\nexport const packageGenDocs = async () => {\n const pkg = process.env.INIT_CWD\n\n if (pkg && !existsSync(path.join(pkg, 'typedoc.json'))) {\n return\n }\n\n const app = await Application.bootstrap({\n entryPointStrategy: 'merge',\n entryPoints: [`${pkg}/src/**/*.ts`, `${pkg}/packages/*/dist/docs.json`],\n excludeExternals: true,\n json: `${pkg}/dist/docs.json`,\n logLevel: 'Error',\n tsconfig: `${pkg}/tsconfig.json`,\n })\n\n app.options.addReader(new ArgumentsReader(0))\n app.options.addReader(new TypeDocReader())\n app.options.addReader(new TSConfigReader())\n app.options.addReader(new ArgumentsReader(300))\n\n return await runTypeDoc(app)\n}\n\nconst runTypeDoc = async (app: Application) => {\n const pkgName = process.env.npm_package_name\n if (app.options.getValue('version')) {\n console.log(app.toString())\n return ExitCodes.Ok\n }\n\n if (app.options.getValue('showConfig')) {\n console.log(app.options.getRawValues())\n return ExitCodes.Ok\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OptionError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OptionError\n }\n\n if (app.options.getValue('entryPoints').length === 0) {\n app.logger.error('No entry points provided')\n return ExitCodes.NoEntryPoints\n }\n\n if (app.options.getValue('watch')) {\n await app.convertAndWatch(async (project) => {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n })\n return ExitCodes.Ok\n }\n\n const project = await app.convert()\n if (!project) {\n return ExitCodes.CompileError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.CompileError\n }\n\n app.validate(project)\n if (app.logger.hasErrors()) {\n return ExitCodes.ValidationError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.ValidationError\n }\n\n if (app.options.getValue('emit') !== 'none') {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OutputError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OutputError\n }\n }\n console.log(chalk.green(`${pkgName} - Ok`))\n return ExitCodes.Ok\n}\n","import { readdirSync } from 'node:fs'\nimport path from 'node:path'\nimport { cwd } from 'node:process'\nimport { pathToFileURL } from 'node:url'\n\nimport chalk from 'chalk'\nimport { ESLint } from 'eslint'\nimport { findUp } from 'find-up'\nimport picomatch from 'picomatch'\n\nconst dumpMessages = (lintResults: ESLint.LintResult[]) => {\n const colors: ('white' | 'red' | 'yellow')[] = ['white', 'yellow', 'red']\n const severity: string[] = ['none', 'warning', 'error']\n\n for (const lintResult of lintResults) {\n if (lintResult.messages.length > 0) {\n console.log(chalk.gray(`\\n${lintResult.filePath}`))\n for (const message of lintResult.messages) {\n console.log(\n chalk.gray(`\\t${message.line}:${message.column}`),\n chalk[colors[message.severity]](`\\t${severity[message.severity]}`),\n chalk.white(`\\t${message.message}`),\n chalk.gray(`\\t${message.ruleId}`),\n )\n }\n }\n }\n}\n\nasync function getRootESLintConfig() {\n // Locate the root eslint.config.mjs\n const configPath = await findUp('eslint.config.mjs')\n\n if (!configPath) {\n throw new Error('eslint.config.mjs not found in the monorepo')\n }\n\n return pathToFileURL(configPath)\n}\n\nfunction getFiles(dir: string, ignoreFolders: string[]): string[] {\n const currentDirectory = cwd()\n const subDirectory = dir.split(currentDirectory)[1]\n if (ignoreFolders.includes(subDirectory)) return []\n return readdirSync(dir, { withFileTypes: true })\n .flatMap((dirent) => {\n const res = path.resolve(dir, dirent.name)\n const relativePath = subDirectory ? `${subDirectory}/${dirent.name}` : dirent.name\n\n const ignoreMatchers = ignoreFolders.map(pattern => picomatch(pattern))\n\n // Exclude ignored paths\n if (ignoreMatchers.some(isMatch => isMatch(relativePath))) return []\n\n return dirent.isDirectory()\n ? getFiles(res, ignoreFolders)\n : [res]\n })\n}\n\nexport const packageLint = async (fix = false, verbose = false, cache = true) => {\n const pkg = process.env.INIT_CWD\n const configPath = await getRootESLintConfig()\n const { default: eslintConfig } = await import(configPath.href)\n\n // List of folders to ignore\n const ignoreFolders = ['node_modules', 'dist', 'packages', '.git', 'build', '.yarn', '.vscode', '.github']\n\n const engine = new ESLint({\n baseConfig: [...eslintConfig], fix, warnIgnored: false, cache,\n })\n\n const files = getFiles(cwd(), ignoreFolders)\n if (verbose) {\n console.log(chalk.green(`Linting ${pkg} [files = ${files.length}]`))\n }\n const lintResults = await engine.lintFiles(files)\n\n dumpMessages(lintResults)\n\n if (fix) {\n await ESLint.outputFixes(lintResults)\n }\n\n return lintResults.reduce((prev, lintResult) => prev + lintResult.errorCount, 0)\n}\n","import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return await packageClean() || await packageCompile()\n}\n"],"mappings":"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","names":["path","chalk","chalk","checkResult","name","result","level","exitOnFail","exiting","chalkFunc","chalk","red","yellow","console","process","exit","fs","glob","deleteGlob","globPath","files","glob","sync","file","fs","rmSync","recursive","force","chalk","cosmiconfig","deepmerge","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","packageCleanOutputs","pkg","process","env","INIT_CWD","pkgName","npm_package_name","folders","path","join","console","log","chalk","green","folder","deleteGlob","path","chalk","packageCleanTypescript","pkg","process","env","INIT_CWD","pkgName","npm_package_name","console","log","chalk","green","files","path","join","file","deleteGlob","packageClean","Promise","all","packageCleanOutputs","packageCleanTypescript","reduce","prev","value","chalk","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","formatDiagnosticsWithColorAndContext","getLineAndCharacterOfPosition","getPreEmitDiagnostics","createRequire","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","entries","getAllInputs","filter","entry","includes","console","log","length","deepMerge","target","source","key","Object","keys","Array","isArray","deepMergeObjects","objects","result","obj","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","verbose","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","noEmit","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","compileFolder","folder","entryMode","options","types","verbose","outDir","console","log","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","tsupOptions","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","deepMergeObjects","packageCompileTsup","config","warn","compile","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","errors","packageCompileTscTypes","Object","entries","inEsBuildOptions","esbuildOptions","tsup","platform","reduce","prev","value","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","chalk","packageCompileTypes","inConfig","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","packageCompileTscTypes","undefined","path","chalk","cpy","copyTargetAssets","target","name","location","values","cpy","cwd","path","join","flat","length","console","log","chalk","green","toUpperCase","value","split","pop","ex","error","message","packageCopyAssets","pkg","process","env","INIT_CWD","pkgName","npm_package_name","existsSync","readFileSync","cwd","chalk","depcheck","special","depcheck","defaultIgnorePatterns","defaultIgnoreDevDeps","defaultIgnoreDevPatterns","reportUnused","name","unused","length","message","chalk","yellow","value","push","gray","console","log","join","reportMissing","missing","Object","keys","entries","key","at","analyzeDeps","pkg","ignoreMatches","packageContent","existsSync","JSON","parse","readFileSync","encoding","undefined","srcUnused","allUnused","Promise","all","ignorePatterns","package","specials","eslint","babel","bin","prettier","jest","mocha","unusedDeps","dependencies","unusedDevDeps","devDependencies","usedDeps","using","usedDevDeps","invalidDirs","invalidFiles","packageDeps","process","env","INIT_CWD","cwd","pkgName","npm_package_name","rawIgnore","replace","ignores","ex","error","declaredDeps","declaredPeerDeps","peerDependencies","declaredDevDeps","missingDeps","filter","includes","startsWith","missingDevDeps","missingDepsObject","missingDevDepsObject","errorCounts","errorCount","reduce","prev","count","stringify","warn","checkResult","existsSync","path","chalk","Application","ArgumentsReader","TSConfigReader","TypeDocReader","ExitCodes","CompileError","ExceptionThrown","NoEntryPoints","Ok","OptionError","OutputError","ValidationError","packageGenDocs","pkg","process","env","INIT_CWD","existsSync","path","join","app","Application","bootstrap","entryPointStrategy","entryPoints","excludeExternals","json","logLevel","tsconfig","options","addReader","ArgumentsReader","TypeDocReader","TSConfigReader","runTypeDoc","pkgName","npm_package_name","getValue","console","log","toString","getRawValues","logger","hasErrors","hasWarnings","length","error","convertAndWatch","project","out","generateDocs","generateJson","convert","validate","chalk","green","readdirSync","path","cwd","pathToFileURL","chalk","ESLint","findUp","picomatch","dumpMessages","lintResults","colors","severity","lintResult","messages","length","console","log","chalk","gray","filePath","message","line","column","white","ruleId","getRootESLintConfig","configPath","findUp","Error","pathToFileURL","getFiles","dir","ignoreFolders","currentDirectory","cwd","subDirectory","split","includes","readdirSync","withFileTypes","flatMap","dirent","res","path","resolve","name","relativePath","ignoreMatchers","map","pattern","picomatch","some","isMatch","isDirectory","packageLint","fix","verbose","cache","pkg","process","env","INIT_CWD","default","eslintConfig","href","engine","ESLint","baseConfig","warnIgnored","files","green","lintFiles","outputFixes","reduce","prev","errorCount","packageRecompile","packageClean","packageCompile"]}
@@ -56,7 +56,7 @@ function getFiles(dir, ignoreFolders) {
56
56
  });
57
57
  }
58
58
  __name(getFiles, "getFiles");
59
- var packageLint = /* @__PURE__ */ __name(async (fix = false, verbose = false) => {
59
+ var packageLint = /* @__PURE__ */ __name(async (fix = false, verbose = false, cache = true) => {
60
60
  const pkg = process.env.INIT_CWD;
61
61
  const configPath = await getRootESLintConfig();
62
62
  const { default: eslintConfig } = await import(configPath.href);
@@ -75,7 +75,8 @@ var packageLint = /* @__PURE__ */ __name(async (fix = false, verbose = false) =>
75
75
  ...eslintConfig
76
76
  ],
77
77
  fix,
78
- warnIgnored: false
78
+ warnIgnored: false,
79
+ cache
79
80
  });
80
81
  const files = getFiles(cwd(), ignoreFolders);
81
82
  if (verbose) {