@xylabs/ts-scripts-yarn3 2.12.33 → 2.13.0

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 (73) hide show
  1. package/.tsconfig.build.cjs.json +3 -1
  2. package/.tsconfig.build.esm.json +5 -3
  3. package/dist/.tsconfig.build.cjs.tsbuildinfo +1 -1
  4. package/dist/.tsconfig.build.esm.tsbuildinfo +1 -1
  5. package/dist/cjs/actions/gitlint.d.ts +1 -1
  6. package/dist/cjs/actions/tsconfig-gen-cjs.d.ts.map +1 -1
  7. package/dist/cjs/actions/tsconfig-gen-cjs.js +1 -10
  8. package/dist/cjs/actions/tsconfig-gen-cjs.js.map +1 -1
  9. package/dist/cjs/actions/tsconfig-gen-esm.d.ts.map +1 -1
  10. package/dist/cjs/actions/tsconfig-gen-esm.js +1 -10
  11. package/dist/cjs/actions/tsconfig-gen-esm.js.map +1 -1
  12. package/dist/cjs/lib/createBuildConfig.d.ts +2 -0
  13. package/dist/cjs/lib/createBuildConfig.d.ts.map +1 -0
  14. package/dist/cjs/lib/createBuildConfig.js +22 -0
  15. package/dist/cjs/lib/createBuildConfig.js.map +1 -0
  16. package/dist/cjs/lib/defaultBuildConfig.d.ts +8 -0
  17. package/dist/cjs/lib/defaultBuildConfig.d.ts.map +1 -0
  18. package/dist/cjs/lib/defaultBuildConfig.js +11 -0
  19. package/dist/cjs/lib/defaultBuildConfig.js.map +1 -0
  20. package/dist/cjs/lib/dependencies/DuplicateDetector.d.ts.map +1 -1
  21. package/dist/cjs/lib/dependencies/DuplicateDetector.js +5 -4
  22. package/dist/cjs/lib/dependencies/DuplicateDetector.js.map +1 -1
  23. package/dist/cjs/lib/dependencies/detectDuplicateDependencies.js +1 -1
  24. package/dist/cjs/lib/dependencies/detectDuplicateDependencies.js.map +1 -1
  25. package/dist/cjs/lib/index.d.ts +2 -0
  26. package/dist/cjs/lib/index.d.ts.map +1 -1
  27. package/dist/cjs/lib/index.js +2 -0
  28. package/dist/cjs/lib/index.js.map +1 -1
  29. package/dist/cjs/lib/withErrnoException.d.ts +0 -1
  30. package/dist/cjs/lib/withErrnoException.d.ts.map +1 -1
  31. package/dist/cjs/lib/xy/xy.d.ts.map +1 -1
  32. package/dist/cjs/lib/xy/xy.js +2 -1
  33. package/dist/cjs/lib/xy/xy.js.map +1 -1
  34. package/dist/esm/actions/gitlint.d.ts +1 -1
  35. package/dist/esm/actions/tsconfig-gen-cjs.d.ts.map +1 -1
  36. package/dist/esm/actions/tsconfig-gen-cjs.js +2 -11
  37. package/dist/esm/actions/tsconfig-gen-cjs.js.map +1 -1
  38. package/dist/esm/actions/tsconfig-gen-esm.d.ts.map +1 -1
  39. package/dist/esm/actions/tsconfig-gen-esm.js +2 -11
  40. package/dist/esm/actions/tsconfig-gen-esm.js.map +1 -1
  41. package/dist/esm/lib/createBuildConfig.d.ts +2 -0
  42. package/dist/esm/lib/createBuildConfig.d.ts.map +1 -0
  43. package/dist/esm/lib/createBuildConfig.js +28 -0
  44. package/dist/esm/lib/createBuildConfig.js.map +1 -0
  45. package/dist/esm/lib/defaultBuildConfig.d.ts +8 -0
  46. package/dist/esm/lib/defaultBuildConfig.d.ts.map +1 -0
  47. package/dist/esm/lib/defaultBuildConfig.js +8 -0
  48. package/dist/esm/lib/defaultBuildConfig.js.map +1 -0
  49. package/dist/esm/lib/dependencies/DuplicateDetector.d.ts.map +1 -1
  50. package/dist/esm/lib/dependencies/DuplicateDetector.js +5 -4
  51. package/dist/esm/lib/dependencies/DuplicateDetector.js.map +1 -1
  52. package/dist/esm/lib/dependencies/detectDuplicateDependencies.js +1 -1
  53. package/dist/esm/lib/dependencies/detectDuplicateDependencies.js.map +1 -1
  54. package/dist/esm/lib/index.d.ts +2 -0
  55. package/dist/esm/lib/index.d.ts.map +1 -1
  56. package/dist/esm/lib/index.js +2 -0
  57. package/dist/esm/lib/index.js.map +1 -1
  58. package/dist/esm/lib/withErrnoException.d.ts +0 -1
  59. package/dist/esm/lib/withErrnoException.d.ts.map +1 -1
  60. package/dist/esm/lib/xy/xy.d.ts.map +1 -1
  61. package/dist/esm/lib/xy/xy.js +2 -1
  62. package/dist/esm/lib/xy/xy.js.map +1 -1
  63. package/dist/tsconfig.build.cjs.tsbuildinfo +1 -1
  64. package/dist/tsconfig.build.esm.tsbuildinfo +1 -1
  65. package/package.json +6 -6
  66. package/src/actions/tsconfig-gen-cjs.ts +2 -16
  67. package/src/actions/tsconfig-gen-esm.ts +2 -16
  68. package/src/lib/createBuildConfig.ts +35 -0
  69. package/src/lib/defaultBuildConfig.ts +7 -0
  70. package/src/lib/dependencies/DuplicateDetector.ts +5 -4
  71. package/src/lib/dependencies/detectDuplicateDependencies.ts +1 -1
  72. package/src/lib/index.ts +2 -0
  73. package/src/lib/xy/xy.ts +2 -1
@@ -0,0 +1,35 @@
1
+ import { readFileSync } from 'fs'
2
+
3
+ import { defaultBuildConfig } from './defaultBuildConfig'
4
+
5
+ const getGeneralTypescriptConfig = (location: string) => {
6
+ let generalConfig: string | undefined
7
+ try {
8
+ generalConfig = readFileSync(`${location}/tsconfig.json`, { encoding: 'utf8' })
9
+ } catch (ex) {
10
+ throw new Error('No tsconfig.json file found')
11
+ }
12
+ return JSON.parse(generalConfig)
13
+ }
14
+
15
+ export const createBuildConfig = (
16
+ location: string,
17
+ module: 'ESNext' | 'CommonJS',
18
+ target: 'ESNext' | 'ES6',
19
+ outDirSuffix: string,
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ ): Record<string, any> => {
22
+ const generalConfigObject = getGeneralTypescriptConfig(location)
23
+ return {
24
+ ...generalConfigObject,
25
+ compilerOptions: {
26
+ ...defaultBuildConfig.compilerOptions,
27
+ ...(generalConfigObject.compilerOptions ?? {}),
28
+ module,
29
+ outDir: `./${generalConfigObject.compilerOptions?.outDir ?? 'dist'}/${outDirSuffix}`,
30
+ target,
31
+ },
32
+ exclude: [...(generalConfigObject.exclude ?? []), ...defaultBuildConfig.exclude],
33
+ include: [...(generalConfigObject.include ?? []), ...defaultBuildConfig.include],
34
+ }
35
+ }
@@ -0,0 +1,7 @@
1
+ export const defaultBuildConfig = {
2
+ "compilerOptions": {
3
+ rootDir: "src"
4
+ },
5
+ exclude: ['**/*.spec.*', '**/*.spec', '**/*.stories.*', '**/*.example.*', '**/spec/*', '**/stories/*'],
6
+ include: ['src'],
7
+ }
@@ -1,3 +1,4 @@
1
+ import chalk from 'chalk'
1
2
  // eslint-disable-next-line import/no-internal-modules
2
3
  import uniq from 'lodash/uniq'
3
4
  import { EOL } from 'os'
@@ -29,11 +30,11 @@ export class DuplicateDetector {
29
30
  public detect() {
30
31
  const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency))
31
32
  if (result.duplicateVersions.length) {
32
- console.error(`${EOL}🚨 Duplicates found for: ${this.dependency} ${EOL}`)
33
- console.error(result.duplicateVersions.toString().replaceAll(',', EOL), EOL)
33
+ console.log(chalk.yellow(`${EOL}Duplicates found for: ${this.dependency}`))
34
+ console.log(chalk.grey(` ${result.duplicateVersions.toString().replaceAll(',', `${EOL} `)}`, EOL))
34
35
  return 1
35
36
  } else {
36
- console.log(`👍 ${this.dependency}`)
37
+ console.log(`${this.dependency} - OK`)
37
38
  return 0
38
39
  }
39
40
  }
@@ -46,7 +47,7 @@ export class DuplicateDetector {
46
47
  return acc
47
48
  }
48
49
 
49
- if (acc.currentVersion && acc.currentVersion !== version) {
50
+ if (acc.currentVersion && acc.currentVersion !== version && !version.includes('@virtual:')) {
50
51
  // if first duplicate, push the current version as the first duplicate
51
52
  if (acc.duplicateVersions.length === 0) {
52
53
  acc.duplicateVersions.push(acc.currentVersion)
@@ -26,7 +26,7 @@ export const detectDuplicateDependencies = (depsFromPackageJSON?: string[], Defa
26
26
  exitCode = new DuplicateDetector(output, dependency).detect()
27
27
  return
28
28
  } else {
29
- console.log(dependency)
29
+ console.log(`${dependency} - N/A`)
30
30
  if (depsFromPackageJSON) {
31
31
  console.log(`🚨 Library ${dependency} was requested in package.json but not found`)
32
32
  }
package/src/lib/index.ts CHANGED
@@ -1,3 +1,5 @@
1
+ export * from './createBuildConfig'
2
+ export * from './defaultBuildConfig'
1
3
  export * from './dependencies'
2
4
  export * from './isYarnVersionOrGreater'
3
5
  export * from './jsonFormatters'
package/src/lib/xy/xy.ts CHANGED
@@ -7,6 +7,7 @@ import { xyParseOptions } from './xyParseOptions'
7
7
 
8
8
  export const xy = () => {
9
9
  return xyBuildCommands(xyCommonCommands(xyInstallCommands(xyDeployCommands(xyLintCommands(xyParseOptions())))))
10
- .demandCommand()
10
+ .demandCommand(1)
11
+ .version()
11
12
  .help().argv
12
13
  }