@xylabs/ts-scripts-yarn3 2.14.9 → 2.14.10

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 (47) hide show
  1. package/dist/.tsconfig.build.cjs.tsbuildinfo +1 -1
  2. package/dist/.tsconfig.build.esm.tsbuildinfo +1 -1
  3. package/dist/cjs/actions/package/compile.js +1 -1
  4. package/dist/cjs/actions/package/compile.js.map +1 -1
  5. package/dist/cjs/lib/runStepsAsync.d.ts +1 -1
  6. package/dist/cjs/lib/runStepsAsync.d.ts.map +1 -1
  7. package/dist/cjs/lib/runStepsAsync.js +20 -10
  8. package/dist/cjs/lib/runStepsAsync.js.map +1 -1
  9. package/dist/cjs/src/actions/package/compile.js +1 -1
  10. package/dist/cjs/src/actions/package/compile.js.map +1 -1
  11. package/dist/cjs/src/actions/package/tsconfig-gen-cjs.d.ts +1 -1
  12. package/dist/cjs/src/actions/package/tsconfig-gen-esm.d.ts +1 -1
  13. package/dist/cjs/src/actions/tsconfig-gen-cjs.d.ts +1 -1
  14. package/dist/cjs/src/actions/tsconfig-gen-clean.d.ts +1 -1
  15. package/dist/cjs/src/actions/tsconfig-gen-esm.d.ts +1 -1
  16. package/dist/cjs/src/actions/tsconfig-gen-test.d.ts +1 -1
  17. package/dist/cjs/src/actions/tsconfig-gen.d.ts +1 -1
  18. package/dist/cjs/src/lib/runStepsAsync.d.ts +1 -1
  19. package/dist/cjs/src/lib/runStepsAsync.d.ts.map +1 -1
  20. package/dist/cjs/src/lib/runStepsAsync.js +20 -10
  21. package/dist/cjs/src/lib/runStepsAsync.js.map +1 -1
  22. package/dist/cjs/tsconfig.build.cjs.tsbuildinfo +1 -1
  23. package/dist/esm/actions/package/compile.js +1 -1
  24. package/dist/esm/actions/package/compile.js.map +1 -1
  25. package/dist/esm/lib/runStepsAsync.d.ts +1 -1
  26. package/dist/esm/lib/runStepsAsync.d.ts.map +1 -1
  27. package/dist/esm/lib/runStepsAsync.js +20 -11
  28. package/dist/esm/lib/runStepsAsync.js.map +1 -1
  29. package/dist/esm/src/actions/package/compile.js +1 -1
  30. package/dist/esm/src/actions/package/compile.js.map +1 -1
  31. package/dist/esm/src/actions/package/tsconfig-gen-cjs.d.ts +1 -1
  32. package/dist/esm/src/actions/package/tsconfig-gen-esm.d.ts +1 -1
  33. package/dist/esm/src/actions/tsconfig-gen-cjs.d.ts +1 -1
  34. package/dist/esm/src/actions/tsconfig-gen-clean.d.ts +1 -1
  35. package/dist/esm/src/actions/tsconfig-gen-esm.d.ts +1 -1
  36. package/dist/esm/src/actions/tsconfig-gen-test.d.ts +1 -1
  37. package/dist/esm/src/actions/tsconfig-gen.d.ts +1 -1
  38. package/dist/esm/src/lib/runStepsAsync.d.ts +1 -1
  39. package/dist/esm/src/lib/runStepsAsync.d.ts.map +1 -1
  40. package/dist/esm/src/lib/runStepsAsync.js +20 -11
  41. package/dist/esm/src/lib/runStepsAsync.js.map +1 -1
  42. package/dist/esm/tsconfig.build.esm.tsbuildinfo +1 -1
  43. package/package.json +3 -3
  44. package/src/actions/package/compile.ts +1 -1
  45. package/src/lib/runStepsAsync.ts +27 -14
  46. package/tsconfig.build.cjs.json +1 -1
  47. package/tsconfig.build.esm.json +1 -1
@@ -4,8 +4,8 @@ import { existsSync } from 'fs'
4
4
 
5
5
  import { ScriptStep } from './runSteps'
6
6
 
7
- export const runStepAsync = (step: ScriptStep, exitOnFail = true, message?: string) => {
8
- return new Promise((resolve) => {
7
+ export const runStepAsync = (step: ScriptStep, interactive = false, message?: string) => {
8
+ return new Promise<[number, string[]]>((resolve) => {
9
9
  const [command, args, config] = step
10
10
  if (message) {
11
11
  console.log(chalk.gray(message))
@@ -14,14 +14,15 @@ export const runStepAsync = (step: ScriptStep, exitOnFail = true, message?: stri
14
14
  if (command === 'node' && !existsSync(argList[0])) {
15
15
  throw Error(`File not found [${argList[0]}]`)
16
16
  }
17
+ const output: string[] = []
17
18
  spawn(command, Array.isArray(args) ? args : args.split(' '), {
18
19
  ...config,
19
20
  env: { FORCE_COLOR: '3', ...process.env },
20
21
  shell: true,
21
- stdio: 'inherit',
22
- }).on('close', (code) => {
23
- if (code) {
24
- if (exitOnFail) {
22
+ stdio: interactive ? 'inherit' : undefined,
23
+ })
24
+ .on('exit', (code) => {
25
+ if (code) {
25
26
  console.error(
26
27
  chalk.blue(
27
28
  `Command Exited With Non-Zero Result [${chalk.gray(code)}] | ${chalk.yellow(command)} ${chalk.white(
@@ -29,12 +30,16 @@ export const runStepAsync = (step: ScriptStep, exitOnFail = true, message?: stri
29
30
  )}`,
30
31
  ),
31
32
  )
33
+ resolve([code, output])
34
+ } else {
35
+ resolve([0, output])
32
36
  }
33
- resolve(code)
34
- } else {
35
- resolve(0)
36
- }
37
- })
37
+ })
38
+ .stdout?.on('data', (data: Buffer) => {
39
+ if (!interactive) {
40
+ output.push(data.toString('utf8'))
41
+ }
42
+ })
38
43
  })
39
44
  }
40
45
 
@@ -42,10 +47,18 @@ export const runStepsAsync = async (name: string, steps: ScriptStep[], exitOnFai
42
47
  try {
43
48
  const pkgName = process.env.npm_package_name
44
49
  console.log(chalk.green(`${name} [${pkgName}]`))
45
- for (let i = 0; i < steps.length; i++) {
46
- await runStepAsync(steps[i], exitOnFail, messages?.[i])
50
+ const result = (
51
+ await Promise.all(
52
+ steps
53
+ .map<[ScriptStep, string | undefined]>((step, index) => [step, messages?.[index]])
54
+ .map(([step, message], index) => runStepAsync(step, index === 0, message)),
55
+ )
56
+ ).reduce<[number, string[]]>((prev, value) => [prev[0] + value[0], [...prev[1], ...value[1]]], [0, []])
57
+ console.log(result[1].join(''))
58
+ if (exitOnFail && result[0]) {
59
+ process.exit(result[0])
47
60
  }
48
- return 0
61
+ return result[0]
49
62
  } catch (ex) {
50
63
  console.error(chalk.red(ex))
51
64
  process.exit(-1)
@@ -5,7 +5,6 @@
5
5
  "outDir": "./dist/cjs",
6
6
  "target": "ES6"
7
7
  },
8
- "extends": "@xylabs/tsconfig",
9
8
  "exclude": [
10
9
  "**/build",
11
10
  "**/dist",
@@ -17,6 +16,7 @@
17
16
  "**/spec/*",
18
17
  "**/stories/*"
19
18
  ],
19
+ "extends": "@xylabs/tsconfig",
20
20
  "include": [
21
21
  "src"
22
22
  ]
@@ -5,7 +5,6 @@
5
5
  "outDir": "./dist/esm",
6
6
  "target": "ESNext"
7
7
  },
8
- "extends": "@xylabs/tsconfig",
9
8
  "exclude": [
10
9
  "**/build",
11
10
  "**/dist",
@@ -17,6 +16,7 @@
17
16
  "**/spec/*",
18
17
  "**/stories/*"
19
18
  ],
19
+ "extends": "@xylabs/tsconfig",
20
20
  "include": [
21
21
  "src"
22
22
  ]