@xylabs/ts-scripts-yarn3 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/actions/build.mjs +3 -1
  2. package/dist/actions/build.mjs.map +1 -1
  3. package/dist/actions/compile.mjs +9 -7
  4. package/dist/actions/compile.mjs.map +1 -1
  5. package/dist/actions/index.mjs +29 -21
  6. package/dist/actions/index.mjs.map +1 -1
  7. package/dist/actions/package/compile/compile.mjs +17 -13
  8. package/dist/actions/package/compile/compile.mjs.map +1 -1
  9. package/dist/actions/package/compile/index.mjs +17 -13
  10. package/dist/actions/package/compile/index.mjs.map +1 -1
  11. package/dist/actions/package/compile/packageCompileTsup.mjs +15 -11
  12. package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
  13. package/dist/actions/package/index.mjs +17 -13
  14. package/dist/actions/package/index.mjs.map +1 -1
  15. package/dist/actions/package/recompile.mjs +17 -13
  16. package/dist/actions/package/recompile.mjs.map +1 -1
  17. package/dist/bin/package/build.mjs +551 -0
  18. package/dist/bin/package/build.mjs.map +1 -0
  19. package/dist/bin/package/compile-only.mjs +17 -13
  20. package/dist/bin/package/compile-only.mjs.map +1 -1
  21. package/dist/bin/package/compile-tsup.mjs +15 -11
  22. package/dist/bin/package/compile-tsup.mjs.map +1 -1
  23. package/dist/bin/package/compile.mjs +17 -13
  24. package/dist/bin/package/compile.mjs.map +1 -1
  25. package/dist/bin/package/recompile.mjs +17 -13
  26. package/dist/bin/package/recompile.mjs.map +1 -1
  27. package/dist/bin/xy-ts.mjs +26 -12
  28. package/dist/bin/xy-ts.mjs.map +1 -1
  29. package/dist/bin/xy.mjs +26 -12
  30. package/dist/bin/xy.mjs.map +1 -1
  31. package/dist/index.d.ts +7 -5
  32. package/dist/index.mjs +43 -25
  33. package/dist/index.mjs.map +1 -1
  34. package/dist/xy/index.mjs +26 -12
  35. package/dist/xy/index.mjs.map +1 -1
  36. package/dist/xy/xy.mjs +26 -12
  37. package/dist/xy/xy.mjs.map +1 -1
  38. package/dist/xy/xyBuildCommands.mjs +17 -12
  39. package/dist/xy/xyBuildCommands.mjs.map +1 -1
  40. package/dist/xy/xyParseOptions.mjs +9 -0
  41. package/dist/xy/xyParseOptions.mjs.map +1 -1
  42. package/package.json +5 -4
  43. package/src/actions/build.ts +1 -1
  44. package/src/actions/compile.ts +22 -7
  45. package/src/actions/package/compile/compile.ts +2 -2
  46. package/src/actions/package/compile/packageCompileTsup.ts +18 -4
  47. package/src/bin/package/build.ts +16 -0
  48. package/src/xy/xyBuildCommands.ts +5 -4
  49. package/src/xy/xyParseOptions.ts +7 -0
@@ -206,7 +206,9 @@ var build = /* @__PURE__ */ __name(async ({ incremental, jobs, target, verbose,
206
206
  ...targetOptions,
207
207
  ...verboseOptions,
208
208
  ...jobsOptions,
209
- ...incrementalOptions
209
+ ...incrementalOptions,
210
+ "--types",
211
+ "tsc"
210
212
  ]
211
213
  ],
212
214
  [
@@ -237,21 +239,23 @@ var build = /* @__PURE__ */ __name(async ({ incremental, jobs, target, verbose,
237
239
 
238
240
  // src/actions/compile.ts
239
241
  import chalk6 from "chalk";
240
- var compile = /* @__PURE__ */ __name(({ verbose, target, pkg, incremental, publint, jobs }) => {
242
+ var compile = /* @__PURE__ */ __name(({ verbose, target, pkg, incremental, publint, jobs, types }) => {
241
243
  return pkg ? compilePackage({
242
244
  pkg,
243
245
  publint,
244
246
  target,
245
- verbose
247
+ verbose,
248
+ types
246
249
  }) : compileAll({
247
250
  incremental,
248
251
  publint,
249
252
  target,
250
253
  verbose,
251
- jobs
254
+ jobs,
255
+ types
252
256
  });
253
257
  }, "compile");
254
- var compilePackage = /* @__PURE__ */ __name(({ target, pkg }) => {
258
+ var compilePackage = /* @__PURE__ */ __name(({ target, pkg, types }) => {
255
259
  const targetOptions = target ? [
256
260
  "-t",
257
261
  target
@@ -263,13 +267,13 @@ var compilePackage = /* @__PURE__ */ __name(({ target, pkg }) => {
263
267
  "workspace",
264
268
  pkg,
265
269
  "run",
266
- "package-compile",
270
+ types === "tsup" ? "package-compile" : "package-build",
267
271
  ...targetOptions
268
272
  ]
269
273
  ]
270
274
  ]);
271
275
  }, "compilePackage");
272
- var compileAll = /* @__PURE__ */ __name(({ jobs, verbose, target, incremental }) => {
276
+ var compileAll = /* @__PURE__ */ __name(({ jobs, verbose, target, incremental, types }) => {
273
277
  const start = Date.now();
274
278
  const verboseOptions = verbose ? [
275
279
  "--verbose"
@@ -306,7 +310,7 @@ var compileAll = /* @__PURE__ */ __name(({ jobs, verbose, target, incremental })
306
310
  ...jobsOptions,
307
311
  ...verboseOptions,
308
312
  "run",
309
- "package-compile",
313
+ types === "tsup" ? "package-compile" : "package-build",
310
314
  ...targetOptions
311
315
  ]
312
316
  ]
@@ -506,26 +510,27 @@ var xyBuildCommands = /* @__PURE__ */ __name((args) => {
506
510
  return yargs.positional("package", {
507
511
  describe: "Specific package to compile"
508
512
  });
509
- }, async (argv) => {
513
+ }, (argv) => {
510
514
  if (argv.verbose) {
511
515
  console.log(`Compiling: ${argv.package ?? "all"}`);
512
516
  }
513
- process.exitCode = await compile({
517
+ process.exitCode = compile({
514
518
  incremental: !!argv.incremental,
515
519
  jobs: argv.jobs,
516
520
  pkg: argv.package,
517
521
  target: argv.target,
522
+ types: argv.types,
518
523
  verbose: !!argv.verbose
519
524
  });
520
525
  }).command("compile-only [package]", "Compile with Typescript & Copy Images (No Publint)", (yargs) => {
521
526
  return yargs.positional("package", {
522
527
  describe: "Specific package to compile"
523
528
  });
524
- }, async (argv) => {
529
+ }, (argv) => {
525
530
  if (argv.verbose) {
526
531
  console.log(`Compiling: ${argv.package ?? "all"}`);
527
532
  }
528
- process.exitCode = await compile({
533
+ process.exitCode = compile({
529
534
  incremental: !!argv.incremental,
530
535
  jobs: argv.jobs,
531
536
  pkg: argv.package,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/actions/build.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","../../src/lib/runStepsAsync.ts","../../src/actions/compile.ts","../../src/actions/copy-assets.ts","../../src/actions/rebuild.ts","../../src/actions/recompile.ts","../../src/xy/xyBuildCommands.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { runStepsAsync } from '../lib/index.ts'\n\nexport interface BuildParams {\n incremental?: boolean\n jobs?: number\n pkg?: string\n target?: 'esm' | 'cjs'\n verbose?: boolean\n}\n\nexport const build = async ({\n incremental, jobs, target, verbose, pkg,\n}: BuildParams) => {\n const start = Date.now()\n const pkgOptions = pkg ? [pkg] : [] // must go first\n const incrementalOptions = incremental ? ['-i'] : []\n const verboseOptions = verbose ? ['-v'] : []\n const targetOptions = target ? ['-t', target] : []\n const jobsOptions = jobs ? ['-j', `${jobs}`] : []\n if (jobs) {\n console.log(chalk.blue(`Jobs set to [${jobs}]`))\n }\n\n const result = await runStepsAsync(`Build${incremental ? '-Incremental' : ''} [${pkg ?? 'All'}]`, [\n ['yarn', ['xy', 'compile', ...pkgOptions, ...targetOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions]],\n ['yarn', ['xy', 'lint', ...pkgOptions, ...verboseOptions, ...incrementalOptions]],\n ['yarn', ['xy', 'deps', ...pkgOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions]],\n ])\n console.log(`${chalk.gray('Built 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 !== undefined && ex.message !== undefined,\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","import { spawn } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport type { ScriptStep } from './runSteps.ts'\nimport { safeExitAsync } from './safeExit.ts'\n\nexport const runStepAsync = (name: string, step: ScriptStep, exitOnFail = true, message?: string) => {\n return new Promise<number>((resolve) => {\n const [command, args, config] = step\n if (message) {\n console.log(chalk.gray(message))\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 spawn(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).on('close', (code) => {\n if (code) {\n console.error(\n chalk.red(\n `Command Exited With Non-Zero Result [${chalk.gray(code)}] | ${chalk.yellow(command)} ${chalk.white(\n Array.isArray(args) ? args.join(' ') : args,\n )}`,\n ),\n )\n checkResult(name, code, 'error', exitOnFail)\n resolve(code)\n } else {\n resolve(0)\n }\n })\n })\n}\n\nexport const runStepsAsync = async (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]) => {\n return await safeExitAsync(async () => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let result = 0\n for (const [i, step] of steps.entries()) {\n result += await runStepAsync(name, step, exitOnFail, messages?.[i])\n }\n return result\n })\n}\n","import chalk from 'chalk'\n\nimport { runSteps } from '../lib/index.ts'\n\nexport interface CompileParams {\n incremental?: boolean\n jobs?: number\n pkg?: string\n publint?: boolean\n target?: 'esm' | 'cjs'\n verbose?: boolean\n}\n\ninterface CompilePackageParams {\n pkg: string\n publint?: boolean\n target?: 'esm' | 'cjs'\n verbose?: boolean\n}\n\nexport const compile = ({\n verbose, target, pkg, incremental, publint, jobs,\n}: CompileParams) => {\n return pkg\n ? compilePackage({\n pkg, publint, target, verbose,\n })\n : compileAll({\n incremental, publint, target, verbose, jobs,\n })\n}\n\nexport const compilePackage = ({ target, pkg }: CompilePackageParams) => {\n const targetOptions = target ? ['-t', target] : []\n\n return runSteps(`Compile [${pkg}]`, [['yarn', ['workspace', pkg, 'run', 'package-compile', ...targetOptions]]])\n}\n\nexport const compileAll = ({\n jobs, verbose, target, incremental,\n}: CompileParams) => {\n const start = Date.now()\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n const targetOptions = target ? ['-t', target] : []\n const incrementalOptions = incremental ? ['--since', '-Apt', '--topological-dev'] : ['--parallel', '-Apt', '--topological-dev']\n const jobsOptions = jobs ? ['-j', `${jobs}`] : []\n if (jobs) {\n console.log(chalk.blue(`Jobs set to [${jobs}]`))\n }\n\n const result = runSteps(`Compile${incremental ? '-Incremental' : ''} [All]`, [\n ['yarn', ['workspaces', 'foreach', ...incrementalOptions, ...jobsOptions, ...verboseOptions, 'run', 'package-compile', ...targetOptions]],\n ])\n console.log(`${chalk.gray('Compiled in')} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`)\n return result\n}\n","import path from 'node:path/posix'\n\nimport chalk from 'chalk'\nimport cpy from 'cpy'\n\nimport { yarnWorkspaces } from '../lib/index.ts'\n\nexport interface CopyAssetsParams {\n pkg?: string\n target?: 'esm' | 'cjs'\n}\n\nconst copyPackageTargetAssets = 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(process.cwd(), location, 'src'),\n flat: false,\n },\n )\n for (const value of values) {\n console.log(`${value.split('/').pop()} => ./dist/${target}`)\n }\n return 0\n } catch (reason) {\n console.log(`Copy Failed: ${name}: ${reason}`)\n return 1\n }\n}\n\nconst copyTargetAssets = async (target: 'esm' | 'cjs', pkg?: string) => {\n const workspaces = yarnWorkspaces()\n\n console.log(chalk.green(`Copying Assets [${target.toUpperCase()}]`))\n\n // finds the package or returns all if undefined\n const workspaceList = workspaces.filter(({ name }) => {\n return pkg === undefined || name === pkg\n })\n\n if (workspaceList.length === 0) {\n console.error(`Package not found [${pkg}]`)\n } else {\n const results = await Promise.all(\n workspaceList.map(async (workspace) => {\n const { location, name } = workspace\n return await copyPackageTargetAssets(target, name, location)\n }),\n )\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, result) => prev || result, 0)\n }\n return 0\n}\n\nexport const copyAssets = async ({ target, pkg }: CopyAssetsParams) => {\n switch (target) {\n case 'esm': {\n return await copyTargetAssets('esm', pkg)\n }\n case 'cjs': {\n return await copyTargetAssets('cjs', pkg)\n }\n default: {\n return (await copyTargetAssets('esm', pkg)) || (await copyTargetAssets('cjs', pkg))\n }\n }\n}\n","import { runSteps } from '../lib/index.ts'\n\nexport interface RebuildParams {\n pkg?: string\n target?: 'esm' | 'cjs'\n}\n\nexport const rebuild = ({ target }: RebuildParams) => {\n return runSteps('Rebuild', [\n ['yarn', 'xy clean'],\n ['yarn', target ? `xy build -t ${target}` : 'xy build'],\n ])\n}\n","import chalk from 'chalk'\n\nimport { runStepsAsync } from '../lib/index.ts'\n\nexport interface RecompileParams {\n incremental?: boolean\n jobs?: number\n pkg?: string\n target?: 'esm' | 'cjs'\n verbose?: boolean\n}\n\nexport interface RecompilePackageParams {\n pkg: string\n target?: 'esm' | 'cjs'\n verbose?: boolean\n}\n\nexport const recompile = async ({\n verbose, target, pkg, incremental,\n}: RecompileParams) => {\n return pkg\n ? await recompilePackage({\n pkg, target, verbose,\n })\n : await recompileAll({\n incremental, target, verbose,\n })\n}\n\nexport const recompilePackage = ({\n verbose, target, pkg,\n}: RecompilePackageParams) => {\n const targetOptions = target ? ['-t', target] : []\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n\n return runStepsAsync(\n `Recompile [${pkg}]`,\n [['yarn', ['workspace', pkg, ...verboseOptions, 'run', 'package-recompile', ...targetOptions]]],\n )\n}\n\nexport const recompileAll = async ({\n jobs, verbose, target, incremental,\n}: RecompileParams) => {\n const start = Date.now()\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n const targetOptions = target ? ['-t', target] : []\n const incrementalOptions = incremental\n ? ['--since', '-Apt', '--topological-dev']\n : ['--parallel', '-Apt', '--topological-dev']\n const jobsOptions = jobs ? ['-j', `${jobs}`] : []\n if (jobs) {\n console.log(chalk.blue(`Jobs set to [${jobs}]`))\n }\n\n const result = await runStepsAsync(`Recompile${incremental ? '-Incremental' : ''} [All]`, [\n ['yarn',\n [\n 'workspaces',\n 'foreach',\n ...incrementalOptions,\n ...jobsOptions,\n ...verboseOptions,\n 'run',\n 'package-clean',\n ...targetOptions],\n ],\n ['yarn',\n [\n 'workspaces',\n 'foreach',\n ...incrementalOptions,\n ...jobsOptions,\n ...verboseOptions,\n 'run',\n 'package-compile',\n ...targetOptions]],\n ])\n console.log(\n `${chalk.gray('Recompiled in')} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`,\n )\n return result\n}\n","import type { Argv } from 'yargs'\n\nimport {\n build, compile, copyAssets, rebuild, recompile,\n} from '../actions/index.ts'\n\nexport const xyBuildCommands = (args: Argv) => {\n return args\n .command(\n 'build [package]',\n 'Build - Compile & Lint',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to build' })\n },\n async (argv) => {\n if (argv.verbose) {\n console.log(`Building: ${argv.package ?? 'all'}`)\n }\n\n process.exitCode = await build({\n incremental: !!argv.incremental,\n jobs: argv.jobs as number,\n pkg: argv.package as string,\n target: argv.target as 'esm' | 'cjs',\n verbose: !!argv.verbose,\n })\n },\n )\n .command(\n 'compile [package]',\n 'Compile with Typescript & Copy Images',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to compile' })\n },\n async (argv) => {\n if (argv.verbose) {\n console.log(`Compiling: ${argv.package ?? 'all'}`)\n }\n process.exitCode = await compile({\n incremental: !!argv.incremental,\n jobs: argv.jobs as number,\n pkg: argv.package as string,\n target: argv.target as 'esm' | 'cjs',\n verbose: !!argv.verbose,\n })\n },\n )\n .command(\n 'compile-only [package]',\n 'Compile with Typescript & Copy Images (No Publint)',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to compile' })\n },\n async (argv) => {\n if (argv.verbose) {\n console.log(`Compiling: ${argv.package ?? 'all'}`)\n }\n process.exitCode = await compile({\n incremental: !!argv.incremental,\n jobs: argv.jobs as number,\n pkg: argv.package as string,\n publint: false,\n target: argv.target as 'esm' | 'cjs',\n verbose: !!argv.verbose,\n })\n },\n )\n .command(\n 'recompile [package]',\n 'Re-compile with Typescript & Copy Images',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to re-compile' })\n },\n async (argv) => {\n if (argv.verbose) {\n console.log(`Re-compiling: ${argv.package ?? 'all'}`)\n }\n process.exitCode = await recompile({\n incremental: !!argv.incremental,\n jobs: argv.jobs as number,\n pkg: argv.package as string,\n target: argv.target as 'esm' | 'cjs',\n verbose: !!argv.verbose,\n })\n },\n )\n .command(\n 'rebuild [package]',\n 'Rebuild - Clean, Compile & Lint',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to rebuild' })\n },\n (argv) => {\n if (argv.verbose) console.log(`Rebuilding: ${argv.package ?? 'all'}`)\n process.exitCode = rebuild({ target: argv.target as 'esm' | 'cjs' })\n },\n )\n .command(\n 'copy-assets [package]',\n 'Copy Assets - Copy the assets from src to dist',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to copy assets' })\n },\n async (argv) => {\n if (argv.verbose) console.log(`Copying Assets: ${argv.package ?? 'all'}`)\n process.exitCode = await copyAssets({ target: argv.target as 'esm' | 'cjs' })\n },\n )\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","undefined","message","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","safeExitAsync","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","spawn","existsSync","chalk","runStepAsync","name","step","exitOnFail","message","Promise","resolve","command","args","config","console","log","chalk","gray","argList","Array","isArray","split","existsSync","Error","spawn","env","FORCE_COLOR","process","shell","stdio","on","code","error","red","yellow","white","join","checkResult","runStepsAsync","steps","messages","safeExitAsync","pkgName","npm_package_name","green","result","i","entries","build","incremental","jobs","target","verbose","pkg","start","Date","now","pkgOptions","incrementalOptions","verboseOptions","targetOptions","jobsOptions","console","log","chalk","blue","result","runStepsAsync","gray","magenta","toFixed","chalk","compile","verbose","target","pkg","incremental","publint","jobs","compilePackage","compileAll","targetOptions","runSteps","start","Date","now","verboseOptions","incrementalOptions","jobsOptions","console","log","chalk","blue","result","gray","magenta","toFixed","path","chalk","cpy","copyPackageTargetAssets","target","name","location","values","cpy","cwd","path","join","process","flat","value","console","log","split","pop","reason","copyTargetAssets","pkg","workspaces","yarnWorkspaces","chalk","green","toUpperCase","workspaceList","filter","undefined","length","error","results","Promise","all","map","workspace","reduce","prev","result","copyAssets","rebuild","target","runSteps","chalk","recompile","verbose","target","pkg","incremental","recompilePackage","recompileAll","targetOptions","verboseOptions","runStepsAsync","jobs","start","Date","now","incrementalOptions","jobsOptions","console","log","chalk","blue","result","gray","magenta","toFixed","xyBuildCommands","args","command","yargs","positional","describe","argv","verbose","console","log","package","process","exitCode","build","incremental","jobs","pkg","target","compile","publint","recompile","rebuild","copyAssets"]}
1
+ {"version":3,"sources":["../../src/actions/build.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","../../src/lib/runStepsAsync.ts","../../src/actions/compile.ts","../../src/actions/copy-assets.ts","../../src/actions/rebuild.ts","../../src/actions/recompile.ts","../../src/xy/xyBuildCommands.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { runStepsAsync } from '../lib/index.ts'\n\nexport interface BuildParams {\n incremental?: boolean\n jobs?: number\n pkg?: string\n target?: 'esm' | 'cjs'\n verbose?: boolean\n}\n\nexport const build = async ({\n incremental, jobs, target, verbose, pkg,\n}: BuildParams) => {\n const start = Date.now()\n const pkgOptions = pkg ? [pkg] : [] // must go first\n const incrementalOptions = incremental ? ['-i'] : []\n const verboseOptions = verbose ? ['-v'] : []\n const targetOptions = target ? ['-t', target] : []\n const jobsOptions = jobs ? ['-j', `${jobs}`] : []\n if (jobs) {\n console.log(chalk.blue(`Jobs set to [${jobs}]`))\n }\n\n const result = await runStepsAsync(`Build${incremental ? '-Incremental' : ''} [${pkg ?? 'All'}]`, [\n ['yarn', ['xy', 'compile', ...pkgOptions, ...targetOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions, '--types', 'tsc']],\n ['yarn', ['xy', 'lint', ...pkgOptions, ...verboseOptions, ...incrementalOptions]],\n ['yarn', ['xy', 'deps', ...pkgOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions]],\n ])\n console.log(`${chalk.gray('Built 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 !== undefined && ex.message !== undefined,\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","import { spawn } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport type { ScriptStep } from './runSteps.ts'\nimport { safeExitAsync } from './safeExit.ts'\n\nexport const runStepAsync = (name: string, step: ScriptStep, exitOnFail = true, message?: string) => {\n return new Promise<number>((resolve) => {\n const [command, args, config] = step\n if (message) {\n console.log(chalk.gray(message))\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 spawn(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).on('close', (code) => {\n if (code) {\n console.error(\n chalk.red(\n `Command Exited With Non-Zero Result [${chalk.gray(code)}] | ${chalk.yellow(command)} ${chalk.white(\n Array.isArray(args) ? args.join(' ') : args,\n )}`,\n ),\n )\n checkResult(name, code, 'error', exitOnFail)\n resolve(code)\n } else {\n resolve(0)\n }\n })\n })\n}\n\nexport const runStepsAsync = async (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]) => {\n return await safeExitAsync(async () => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let result = 0\n for (const [i, step] of steps.entries()) {\n result += await runStepAsync(name, step, exitOnFail, messages?.[i])\n }\n return result\n })\n}\n","import chalk from 'chalk'\n\nimport { runSteps } from '../lib/index.ts'\n\nexport interface CompileParams {\n incremental?: boolean\n jobs?: number\n pkg?: string\n publint?: boolean\n target?: 'esm' | 'cjs'\n types?: 'tsc' | 'tsup'\n verbose?: boolean\n}\n\ninterface CompilePackageParams {\n pkg: string\n publint?: boolean\n target?: 'esm' | 'cjs'\n types?: 'tsc' | 'tsup'\n verbose?: boolean\n}\n\nexport const compile = ({\n verbose, target, pkg, incremental, publint, jobs, types,\n}: CompileParams) => {\n return pkg\n ? compilePackage({\n pkg, publint, target, verbose, types,\n })\n : compileAll({\n incremental, publint, target, verbose, jobs, types,\n })\n}\n\nexport const compilePackage = ({\n target, pkg, types,\n}: CompilePackageParams) => {\n const targetOptions = target ? ['-t', target] : []\n\n return runSteps(\n `Compile [${pkg}]`,\n [['yarn', ['workspace', pkg, 'run', types === 'tsup' ? 'package-compile' : 'package-build', ...targetOptions]]],\n )\n}\n\nexport const compileAll = ({\n jobs, verbose, target, incremental, types,\n}: CompileParams) => {\n const start = Date.now()\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n const targetOptions = target ? ['-t', target] : []\n const incrementalOptions = incremental ? ['--since', '-Apt', '--topological-dev'] : ['--parallel', '-Apt', '--topological-dev']\n const jobsOptions = jobs ? ['-j', `${jobs}`] : []\n if (jobs) {\n console.log(chalk.blue(`Jobs set to [${jobs}]`))\n }\n\n const result = runSteps(`Compile${incremental ? '-Incremental' : ''} [All]`, [\n ['yarn', ['workspaces',\n 'foreach',\n ...incrementalOptions,\n ...jobsOptions,\n ...verboseOptions,\n 'run',\n types === 'tsup' ? 'package-compile' : 'package-build',\n ...targetOptions,\n ]],\n ])\n console.log(`${chalk.gray('Compiled in')} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`)\n return result\n}\n","import path from 'node:path/posix'\n\nimport chalk from 'chalk'\nimport cpy from 'cpy'\n\nimport { yarnWorkspaces } from '../lib/index.ts'\n\nexport interface CopyAssetsParams {\n pkg?: string\n target?: 'esm' | 'cjs'\n}\n\nconst copyPackageTargetAssets = 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(process.cwd(), location, 'src'),\n flat: false,\n },\n )\n for (const value of values) {\n console.log(`${value.split('/').pop()} => ./dist/${target}`)\n }\n return 0\n } catch (reason) {\n console.log(`Copy Failed: ${name}: ${reason}`)\n return 1\n }\n}\n\nconst copyTargetAssets = async (target: 'esm' | 'cjs', pkg?: string) => {\n const workspaces = yarnWorkspaces()\n\n console.log(chalk.green(`Copying Assets [${target.toUpperCase()}]`))\n\n // finds the package or returns all if undefined\n const workspaceList = workspaces.filter(({ name }) => {\n return pkg === undefined || name === pkg\n })\n\n if (workspaceList.length === 0) {\n console.error(`Package not found [${pkg}]`)\n } else {\n const results = await Promise.all(\n workspaceList.map(async (workspace) => {\n const { location, name } = workspace\n return await copyPackageTargetAssets(target, name, location)\n }),\n )\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, result) => prev || result, 0)\n }\n return 0\n}\n\nexport const copyAssets = async ({ target, pkg }: CopyAssetsParams) => {\n switch (target) {\n case 'esm': {\n return await copyTargetAssets('esm', pkg)\n }\n case 'cjs': {\n return await copyTargetAssets('cjs', pkg)\n }\n default: {\n return (await copyTargetAssets('esm', pkg)) || (await copyTargetAssets('cjs', pkg))\n }\n }\n}\n","import { runSteps } from '../lib/index.ts'\n\nexport interface RebuildParams {\n pkg?: string\n target?: 'esm' | 'cjs'\n}\n\nexport const rebuild = ({ target }: RebuildParams) => {\n return runSteps('Rebuild', [\n ['yarn', 'xy clean'],\n ['yarn', target ? `xy build -t ${target}` : 'xy build'],\n ])\n}\n","import chalk from 'chalk'\n\nimport { runStepsAsync } from '../lib/index.ts'\n\nexport interface RecompileParams {\n incremental?: boolean\n jobs?: number\n pkg?: string\n target?: 'esm' | 'cjs'\n verbose?: boolean\n}\n\nexport interface RecompilePackageParams {\n pkg: string\n target?: 'esm' | 'cjs'\n verbose?: boolean\n}\n\nexport const recompile = async ({\n verbose, target, pkg, incremental,\n}: RecompileParams) => {\n return pkg\n ? await recompilePackage({\n pkg, target, verbose,\n })\n : await recompileAll({\n incremental, target, verbose,\n })\n}\n\nexport const recompilePackage = ({\n verbose, target, pkg,\n}: RecompilePackageParams) => {\n const targetOptions = target ? ['-t', target] : []\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n\n return runStepsAsync(\n `Recompile [${pkg}]`,\n [['yarn', ['workspace', pkg, ...verboseOptions, 'run', 'package-recompile', ...targetOptions]]],\n )\n}\n\nexport const recompileAll = async ({\n jobs, verbose, target, incremental,\n}: RecompileParams) => {\n const start = Date.now()\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n const targetOptions = target ? ['-t', target] : []\n const incrementalOptions = incremental\n ? ['--since', '-Apt', '--topological-dev']\n : ['--parallel', '-Apt', '--topological-dev']\n const jobsOptions = jobs ? ['-j', `${jobs}`] : []\n if (jobs) {\n console.log(chalk.blue(`Jobs set to [${jobs}]`))\n }\n\n const result = await runStepsAsync(`Recompile${incremental ? '-Incremental' : ''} [All]`, [\n ['yarn',\n [\n 'workspaces',\n 'foreach',\n ...incrementalOptions,\n ...jobsOptions,\n ...verboseOptions,\n 'run',\n 'package-clean',\n ...targetOptions],\n ],\n ['yarn',\n [\n 'workspaces',\n 'foreach',\n ...incrementalOptions,\n ...jobsOptions,\n ...verboseOptions,\n 'run',\n 'package-compile',\n ...targetOptions]],\n ])\n console.log(\n `${chalk.gray('Recompiled in')} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`,\n )\n return result\n}\n","import type { Argv } from 'yargs'\n\nimport {\n build, compile, copyAssets, rebuild, recompile,\n} from '../actions/index.ts'\n\nexport const xyBuildCommands = (args: Argv) => {\n return args\n .command(\n 'build [package]',\n 'Build - Compile & Lint',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to build' })\n },\n async (argv) => {\n if (argv.verbose) {\n console.log(`Building: ${argv.package ?? 'all'}`)\n }\n\n process.exitCode = await build({\n incremental: !!argv.incremental,\n jobs: argv.jobs as number,\n pkg: argv.package as string,\n target: argv.target as 'esm' | 'cjs',\n verbose: !!argv.verbose,\n })\n },\n )\n .command(\n 'compile [package]',\n 'Compile with Typescript & Copy Images',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to compile' })\n },\n (argv) => {\n if (argv.verbose) {\n console.log(`Compiling: ${argv.package ?? 'all'}`)\n }\n process.exitCode = compile({\n incremental: !!argv.incremental,\n jobs: argv.jobs as number,\n pkg: argv.package as string,\n target: argv.target as 'esm' | 'cjs',\n types: argv.types as 'tsc' | 'tsup',\n verbose: !!argv.verbose,\n })\n },\n )\n .command(\n 'compile-only [package]',\n 'Compile with Typescript & Copy Images (No Publint)',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to compile' })\n },\n (argv) => {\n if (argv.verbose) {\n console.log(`Compiling: ${argv.package ?? 'all'}`)\n }\n process.exitCode = compile({\n incremental: !!argv.incremental,\n jobs: argv.jobs as number,\n pkg: argv.package as string,\n publint: false,\n target: argv.target as 'esm' | 'cjs',\n verbose: !!argv.verbose,\n })\n },\n )\n .command(\n 'recompile [package]',\n 'Re-compile with Typescript & Copy Images',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to re-compile' })\n },\n async (argv) => {\n if (argv.verbose) {\n console.log(`Re-compiling: ${argv.package ?? 'all'}`)\n }\n process.exitCode = await recompile({\n incremental: !!argv.incremental,\n jobs: argv.jobs as number,\n pkg: argv.package as string,\n target: argv.target as 'esm' | 'cjs',\n verbose: !!argv.verbose,\n })\n },\n )\n .command(\n 'rebuild [package]',\n 'Rebuild - Clean, Compile & Lint',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to rebuild' })\n },\n (argv) => {\n if (argv.verbose) console.log(`Rebuilding: ${argv.package ?? 'all'}`)\n process.exitCode = rebuild({ target: argv.target as 'esm' | 'cjs' })\n },\n )\n .command(\n 'copy-assets [package]',\n 'Copy Assets - Copy the assets from src to dist',\n (yargs) => {\n return yargs.positional('package', { describe: 'Specific package to copy assets' })\n },\n async (argv) => {\n if (argv.verbose) console.log(`Copying Assets: ${argv.package ?? 'all'}`)\n process.exitCode = await copyAssets({ target: argv.target as 'esm' | 'cjs' })\n },\n )\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","undefined","message","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","safeExitAsync","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","spawn","existsSync","chalk","runStepAsync","name","step","exitOnFail","message","Promise","resolve","command","args","config","console","log","chalk","gray","argList","Array","isArray","split","existsSync","Error","spawn","env","FORCE_COLOR","process","shell","stdio","on","code","error","red","yellow","white","join","checkResult","runStepsAsync","steps","messages","safeExitAsync","pkgName","npm_package_name","green","result","i","entries","build","incremental","jobs","target","verbose","pkg","start","Date","now","pkgOptions","incrementalOptions","verboseOptions","targetOptions","jobsOptions","console","log","chalk","blue","result","runStepsAsync","gray","magenta","toFixed","chalk","compile","verbose","target","pkg","incremental","publint","jobs","types","compilePackage","compileAll","targetOptions","runSteps","start","Date","now","verboseOptions","incrementalOptions","jobsOptions","console","log","chalk","blue","result","gray","magenta","toFixed","path","chalk","cpy","copyPackageTargetAssets","target","name","location","values","cpy","cwd","path","join","process","flat","value","console","log","split","pop","reason","copyTargetAssets","pkg","workspaces","yarnWorkspaces","chalk","green","toUpperCase","workspaceList","filter","undefined","length","error","results","Promise","all","map","workspace","reduce","prev","result","copyAssets","rebuild","target","runSteps","chalk","recompile","verbose","target","pkg","incremental","recompilePackage","recompileAll","targetOptions","verboseOptions","runStepsAsync","jobs","start","Date","now","incrementalOptions","jobsOptions","console","log","chalk","blue","result","gray","magenta","toFixed","xyBuildCommands","args","command","yargs","positional","describe","argv","verbose","console","log","package","process","exitCode","build","incremental","jobs","pkg","target","compile","types","publint","recompile","rebuild","copyAssets"]}
@@ -17,6 +17,7 @@ var xyParseOptions = /* @__PURE__ */ __name(() => {
17
17
  type: "boolean"
18
18
  }).option("target", {
19
19
  alias: "t",
20
+ default: "esm",
20
21
  choices: [
21
22
  "esm",
22
23
  "cjs"
@@ -43,6 +44,14 @@ var xyParseOptions = /* @__PURE__ */ __name(() => {
43
44
  default: false,
44
45
  description: "Profile action",
45
46
  type: "boolean"
47
+ }).option("types", {
48
+ default: "tsup",
49
+ choices: [
50
+ "tsc",
51
+ "tsup"
52
+ ],
53
+ description: "Tool to generate Typescript types",
54
+ type: "string"
46
55
  });
47
56
  }, "xyParseOptions");
48
57
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/xy/xyParseOptions.ts"],"sourcesContent":["import type { Argv } from 'yargs'\nimport yargs from 'yargs'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { hideBin } from 'yargs/helpers'\n\nexport const xyParseOptions = (): Argv => {\n return yargs(hideBin(process.argv))\n .scriptName('yarn xy')\n .option('jobs', {\n alias: 'j',\n default: undefined,\n description: 'Max parallel jobs',\n type: 'number',\n })\n .option('verbose', {\n alias: 'v',\n default: false,\n description: 'Run with verbose logging',\n type: 'boolean',\n })\n .option('target', {\n alias: 't',\n choices: ['esm', 'cjs'],\n description: 'Limit output to specific target',\n type: 'string',\n })\n .option('incremental', {\n alias: 'i',\n default: false,\n description: 'Attempt to perform the action only on changed packages',\n type: 'boolean',\n })\n .option('fix', {\n alias: 'f',\n default: false,\n description: 'Try to fix errors',\n type: 'boolean',\n })\n .option('cache', {\n alias: 'c',\n default: false,\n description: 'Use caching for performance',\n type: 'boolean',\n })\n .option('profile', {\n alias: 'p',\n default: false,\n description: 'Profile action',\n type: 'boolean',\n })\n}\n"],"mappings":";;;;AACA,OAAOA,WAAW;AAElB,SAASC,eAAe;AAEjB,IAAMC,iBAAiB,6BAAA;AAC5B,SAAOC,MAAMC,QAAQC,QAAQC,IAAI,CAAA,EAC9BC,WAAW,SAAA,EACXC,OAAO,QAAQ;IACdC,OAAO;IACPC,SAASC;IACTC,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,WAAW;IACjBC,OAAO;IACPC,SAAS;IACTE,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,UAAU;IAChBC,OAAO;IACPK,SAAS;MAAC;MAAO;;IACjBF,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,eAAe;IACrBC,OAAO;IACPC,SAAS;IACTE,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,OAAO;IACbC,OAAO;IACPC,SAAS;IACTE,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,SAAS;IACfC,OAAO;IACPC,SAAS;IACTE,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,WAAW;IACjBC,OAAO;IACPC,SAAS;IACTE,aAAa;IACbC,MAAM;EACR,CAAA;AACJ,GA7C8B;","names":["yargs","hideBin","xyParseOptions","yargs","hideBin","process","argv","scriptName","option","alias","default","undefined","description","type","choices"]}
1
+ {"version":3,"sources":["../../src/xy/xyParseOptions.ts"],"sourcesContent":["import type { Argv } from 'yargs'\nimport yargs from 'yargs'\n// eslint-disable-next-line import-x/no-internal-modules\nimport { hideBin } from 'yargs/helpers'\n\nexport const xyParseOptions = (): Argv => {\n return yargs(hideBin(process.argv))\n .scriptName('yarn xy')\n .option('jobs', {\n alias: 'j',\n default: undefined,\n description: 'Max parallel jobs',\n type: 'number',\n })\n .option('verbose', {\n alias: 'v',\n default: false,\n description: 'Run with verbose logging',\n type: 'boolean',\n })\n .option('target', {\n alias: 't',\n default: 'esm',\n choices: ['esm', 'cjs'],\n description: 'Limit output to specific target',\n type: 'string',\n })\n .option('incremental', {\n alias: 'i',\n default: false,\n description: 'Attempt to perform the action only on changed packages',\n type: 'boolean',\n })\n .option('fix', {\n alias: 'f',\n default: false,\n description: 'Try to fix errors',\n type: 'boolean',\n })\n .option('cache', {\n alias: 'c',\n default: false,\n description: 'Use caching for performance',\n type: 'boolean',\n })\n .option('profile', {\n alias: 'p',\n default: false,\n description: 'Profile action',\n type: 'boolean',\n })\n .option('types', {\n default: 'tsup',\n choices: ['tsc', 'tsup'],\n description: 'Tool to generate Typescript types',\n type: 'string',\n })\n}\n"],"mappings":";;;;AACA,OAAOA,WAAW;AAElB,SAASC,eAAe;AAEjB,IAAMC,iBAAiB,6BAAA;AAC5B,SAAOC,MAAMC,QAAQC,QAAQC,IAAI,CAAA,EAC9BC,WAAW,SAAA,EACXC,OAAO,QAAQ;IACdC,OAAO;IACPC,SAASC;IACTC,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,WAAW;IACjBC,OAAO;IACPC,SAAS;IACTE,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,UAAU;IAChBC,OAAO;IACPC,SAAS;IACTI,SAAS;MAAC;MAAO;;IACjBF,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,eAAe;IACrBC,OAAO;IACPC,SAAS;IACTE,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,OAAO;IACbC,OAAO;IACPC,SAAS;IACTE,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,SAAS;IACfC,OAAO;IACPC,SAAS;IACTE,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,WAAW;IACjBC,OAAO;IACPC,SAAS;IACTE,aAAa;IACbC,MAAM;EACR,CAAA,EACCL,OAAO,SAAS;IACfE,SAAS;IACTI,SAAS;MAAC;MAAO;;IACjBF,aAAa;IACbC,MAAM;EACR,CAAA;AACJ,GApD8B;","names":["yargs","hideBin","xyParseOptions","yargs","hideBin","process","argv","scriptName","option","alias","default","undefined","description","type","choices"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xylabs/ts-scripts-yarn3",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
4
4
  "description": "TypeScript project scripts",
5
5
  "keywords": [
6
6
  "xylabs",
@@ -59,6 +59,7 @@
59
59
  "lint-clean": "dist/bin/lint-clean.mjs",
60
60
  "lint-fast": "dist/bin/lint-fast.mjs",
61
61
  "lint-profile": "dist/bin/lint-profile.mjs",
62
+ "package-build": "dist/bin/package/build.mjs",
62
63
  "package-clean": "dist/bin/package/clean.mjs",
63
64
  "package-compile": "dist/bin/package/compile.mjs",
64
65
  "package-compile-only": "dist/bin/package/compile-only.mjs",
@@ -94,8 +95,8 @@
94
95
  "@swc/core": "^1.7.14",
95
96
  "@types/node": "^22.5.0",
96
97
  "@types/yargs": "^17.0.33",
97
- "@xylabs/tsconfig": "^4.0.1",
98
- "@xylabs/tsconfig-dom": "^4.0.1",
98
+ "@xylabs/tsconfig": "^4.0.3",
99
+ "@xylabs/tsconfig-dom": "^4.0.3",
99
100
  "async-mutex": "^0.5.0",
100
101
  "chalk": "^5.3.0",
101
102
  "cosmiconfig": "^9.0.0",
@@ -137,7 +138,7 @@
137
138
  "@types/eslint": "^9.6.0",
138
139
  "@types/license-checker": "^25.0.6",
139
140
  "@types/parse-git-config": "^3.0.4",
140
- "@xylabs/tsconfig": "^4.0.1",
141
+ "@xylabs/tsconfig": "^4.0.3",
141
142
  "publint": "^0.2.10",
142
143
  "rimraf": "^6.0.1",
143
144
  "typescript": "^5.5.4"
@@ -24,7 +24,7 @@ export const build = async ({
24
24
  }
25
25
 
26
26
  const result = await runStepsAsync(`Build${incremental ? '-Incremental' : ''} [${pkg ?? 'All'}]`, [
27
- ['yarn', ['xy', 'compile', ...pkgOptions, ...targetOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions]],
27
+ ['yarn', ['xy', 'compile', ...pkgOptions, ...targetOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions, '--types', 'tsc']],
28
28
  ['yarn', ['xy', 'lint', ...pkgOptions, ...verboseOptions, ...incrementalOptions]],
29
29
  ['yarn', ['xy', 'deps', ...pkgOptions, ...verboseOptions, ...jobsOptions, ...incrementalOptions]],
30
30
  ])
@@ -8,6 +8,7 @@ export interface CompileParams {
8
8
  pkg?: string
9
9
  publint?: boolean
10
10
  target?: 'esm' | 'cjs'
11
+ types?: 'tsc' | 'tsup'
11
12
  verbose?: boolean
12
13
  }
13
14
 
@@ -15,29 +16,35 @@ interface CompilePackageParams {
15
16
  pkg: string
16
17
  publint?: boolean
17
18
  target?: 'esm' | 'cjs'
19
+ types?: 'tsc' | 'tsup'
18
20
  verbose?: boolean
19
21
  }
20
22
 
21
23
  export const compile = ({
22
- verbose, target, pkg, incremental, publint, jobs,
24
+ verbose, target, pkg, incremental, publint, jobs, types,
23
25
  }: CompileParams) => {
24
26
  return pkg
25
27
  ? compilePackage({
26
- pkg, publint, target, verbose,
28
+ pkg, publint, target, verbose, types,
27
29
  })
28
30
  : compileAll({
29
- incremental, publint, target, verbose, jobs,
31
+ incremental, publint, target, verbose, jobs, types,
30
32
  })
31
33
  }
32
34
 
33
- export const compilePackage = ({ target, pkg }: CompilePackageParams) => {
35
+ export const compilePackage = ({
36
+ target, pkg, types,
37
+ }: CompilePackageParams) => {
34
38
  const targetOptions = target ? ['-t', target] : []
35
39
 
36
- return runSteps(`Compile [${pkg}]`, [['yarn', ['workspace', pkg, 'run', 'package-compile', ...targetOptions]]])
40
+ return runSteps(
41
+ `Compile [${pkg}]`,
42
+ [['yarn', ['workspace', pkg, 'run', types === 'tsup' ? 'package-compile' : 'package-build', ...targetOptions]]],
43
+ )
37
44
  }
38
45
 
39
46
  export const compileAll = ({
40
- jobs, verbose, target, incremental,
47
+ jobs, verbose, target, incremental, types,
41
48
  }: CompileParams) => {
42
49
  const start = Date.now()
43
50
  const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']
@@ -49,7 +56,15 @@ export const compileAll = ({
49
56
  }
50
57
 
51
58
  const result = runSteps(`Compile${incremental ? '-Incremental' : ''} [All]`, [
52
- ['yarn', ['workspaces', 'foreach', ...incrementalOptions, ...jobsOptions, ...verboseOptions, 'run', 'package-compile', ...targetOptions]],
59
+ ['yarn', ['workspaces',
60
+ 'foreach',
61
+ ...incrementalOptions,
62
+ ...jobsOptions,
63
+ ...verboseOptions,
64
+ 'run',
65
+ types === 'tsup' ? 'package-compile' : 'package-build',
66
+ ...targetOptions,
67
+ ]],
53
68
  ])
54
69
  console.log(`${chalk.gray('Compiled in')} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`)
55
70
  return result
@@ -8,7 +8,7 @@ import type {
8
8
  XyConfig, XyTscConfig, XyTsupConfig,
9
9
  } from './XyConfig.ts'
10
10
 
11
- export const packageCompile = async (inConfig: XyConfig = {}): Promise<number> => {
11
+ export const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): Promise<number> => {
12
12
  const pkg = process.env.INIT_CWD
13
13
  console.log(chalk.green(`Compiling ${pkg}`))
14
14
  const config = await loadConfig(inConfig)
@@ -22,7 +22,7 @@ export const packageCompile = async (inConfig: XyConfig = {}): Promise<number> =
22
22
  break
23
23
  }
24
24
  case 'tsup': {
25
- result += await packageCompileTsup(config as XyTsupConfig)
25
+ result += await packageCompileTsup(config as XyTsupConfig, types)
26
26
  break
27
27
  }
28
28
  }
@@ -7,7 +7,13 @@ import { buildEntries } from './buildEntries.ts'
7
7
  import { packageCompileTscTypes } from './packageCompileTscTypes.ts'
8
8
  import type { EntryMode, XyTsupConfig } from './XyConfig.ts'
9
9
 
10
- const compileFolder = async (folder: string, entryMode: EntryMode = 'single', options?: Options, verbose?: boolean) => {
10
+ const compileFolder = async (
11
+ folder: string,
12
+ entryMode: EntryMode = 'single',
13
+ options?: Options,
14
+ types: 'tsc' | 'tsup' = 'tsup',
15
+ verbose?: boolean,
16
+ ): Promise<number> => {
11
17
  const outDir = options?.outDir ?? 'dist'
12
18
  const entry = buildEntries(folder, entryMode)
13
19
  const optionsResult = defineConfig({
@@ -19,7 +25,7 @@ const compileFolder = async (folder: string, entryMode: EntryMode = 'single', op
19
25
  format: ['esm'],
20
26
  outDir,
21
27
  silent: true,
22
- sourcemap: false,
28
+ sourcemap: types === 'tsup',
23
29
  splitting: false,
24
30
  tsconfig: 'tsconfig.json',
25
31
  ...options,
@@ -34,10 +40,15 @@ const compileFolder = async (folder: string, entryMode: EntryMode = 'single', op
34
40
  ).flat()
35
41
 
36
42
  await Promise.all(optionsList.map(options => build(options)))
37
- return packageCompileTscTypes(folder, { verbose }, { outDir })
43
+ if (types === 'tsc') {
44
+ return packageCompileTscTypes(folder, { verbose }, { outDir })
45
+ }
46
+ return 0
38
47
  }
39
48
 
40
- export const packageCompileTsup = async (config?: XyTsupConfig) => {
49
+ // eslint-disable-next-line complexity
50
+ export const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsup') => {
51
+ console.warn('packageCompileTsup-types', types)
41
52
  const compile = config?.compile
42
53
  const publint = config?.publint ?? true
43
54
  const verbose = config?.verbose ?? false
@@ -82,6 +93,7 @@ export const packageCompileTsup = async (config?: XyTsupConfig) => {
82
93
  ...compile?.tsup?.options,
83
94
  ...(typeof options === 'object' ? options : {}),
84
95
  },
96
+ types,
85
97
  verbose,
86
98
  )
87
99
  : 0
@@ -107,6 +119,7 @@ export const packageCompileTsup = async (config?: XyTsupConfig) => {
107
119
  ...compile?.tsup?.options,
108
120
  ...(typeof options === 'object' ? options : {}),
109
121
  },
122
+ types,
110
123
  verbose,
111
124
  )
112
125
  : 0
@@ -132,6 +145,7 @@ export const packageCompileTsup = async (config?: XyTsupConfig) => {
132
145
  ...compile?.tsup?.options,
133
146
  ...(typeof options === 'object' ? options : {}),
134
147
  },
148
+ types,
135
149
  verbose,
136
150
  )
137
151
  : 0
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+
3
+ import chalk from 'chalk'
4
+
5
+ import { packageCompile } from '../../actions/index.ts'
6
+
7
+ packageCompile({ verbose: false, publint: true }, 'tsc')
8
+ .then((value) => {
9
+ if (value) {
10
+ process.exit(value)
11
+ }
12
+ })
13
+ .catch((reason) => {
14
+ console.error(chalk.red(reason))
15
+ process.exit(-1)
16
+ })
@@ -32,15 +32,16 @@ export const xyBuildCommands = (args: Argv) => {
32
32
  (yargs) => {
33
33
  return yargs.positional('package', { describe: 'Specific package to compile' })
34
34
  },
35
- async (argv) => {
35
+ (argv) => {
36
36
  if (argv.verbose) {
37
37
  console.log(`Compiling: ${argv.package ?? 'all'}`)
38
38
  }
39
- process.exitCode = await compile({
39
+ process.exitCode = compile({
40
40
  incremental: !!argv.incremental,
41
41
  jobs: argv.jobs as number,
42
42
  pkg: argv.package as string,
43
43
  target: argv.target as 'esm' | 'cjs',
44
+ types: argv.types as 'tsc' | 'tsup',
44
45
  verbose: !!argv.verbose,
45
46
  })
46
47
  },
@@ -51,11 +52,11 @@ export const xyBuildCommands = (args: Argv) => {
51
52
  (yargs) => {
52
53
  return yargs.positional('package', { describe: 'Specific package to compile' })
53
54
  },
54
- async (argv) => {
55
+ (argv) => {
55
56
  if (argv.verbose) {
56
57
  console.log(`Compiling: ${argv.package ?? 'all'}`)
57
58
  }
58
- process.exitCode = await compile({
59
+ process.exitCode = compile({
59
60
  incremental: !!argv.incremental,
60
61
  jobs: argv.jobs as number,
61
62
  pkg: argv.package as string,
@@ -20,6 +20,7 @@ export const xyParseOptions = (): Argv => {
20
20
  })
21
21
  .option('target', {
22
22
  alias: 't',
23
+ default: 'esm',
23
24
  choices: ['esm', 'cjs'],
24
25
  description: 'Limit output to specific target',
25
26
  type: 'string',
@@ -48,4 +49,10 @@ export const xyParseOptions = (): Argv => {
48
49
  description: 'Profile action',
49
50
  type: 'boolean',
50
51
  })
52
+ .option('types', {
53
+ default: 'tsup',
54
+ choices: ['tsc', 'tsup'],
55
+ description: 'Tool to generate Typescript types',
56
+ type: 'string',
57
+ })
51
58
  }