@xylabs/ts-scripts-yarn3 3.15.3 → 3.15.5

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 (239) hide show
  1. package/dist/actions/build.cjs.map +1 -1
  2. package/dist/actions/build.mjs.map +1 -1
  3. package/dist/actions/clean-jest.cjs.map +1 -1
  4. package/dist/actions/clean-jest.mjs.map +1 -1
  5. package/dist/actions/clean.cjs.map +1 -1
  6. package/dist/actions/clean.mjs.map +1 -1
  7. package/dist/actions/compile.cjs.map +1 -1
  8. package/dist/actions/compile.mjs.map +1 -1
  9. package/dist/actions/copy-assets.cjs +1 -1
  10. package/dist/actions/copy-assets.cjs.map +1 -1
  11. package/dist/actions/copy-assets.mjs +1 -1
  12. package/dist/actions/copy-assets.mjs.map +1 -1
  13. package/dist/actions/cycle.cjs.map +1 -1
  14. package/dist/actions/cycle.mjs.map +1 -1
  15. package/dist/actions/dead.cjs.map +1 -1
  16. package/dist/actions/dead.mjs.map +1 -1
  17. package/dist/actions/deploy-major.cjs.map +1 -1
  18. package/dist/actions/deploy-major.mjs.map +1 -1
  19. package/dist/actions/deploy-minor.cjs.map +1 -1
  20. package/dist/actions/deploy-minor.mjs.map +1 -1
  21. package/dist/actions/deploy-next.cjs.map +1 -1
  22. package/dist/actions/deploy-next.mjs.map +1 -1
  23. package/dist/actions/deploy.cjs.map +1 -1
  24. package/dist/actions/deploy.mjs.map +1 -1
  25. package/dist/actions/deps.cjs.map +1 -1
  26. package/dist/actions/deps.mjs.map +1 -1
  27. package/dist/actions/dupdeps.cjs +0 -3
  28. package/dist/actions/dupdeps.cjs.map +1 -1
  29. package/dist/actions/dupdeps.mjs +0 -3
  30. package/dist/actions/dupdeps.mjs.map +1 -1
  31. package/dist/actions/fix.cjs.map +1 -1
  32. package/dist/actions/fix.mjs.map +1 -1
  33. package/dist/actions/gen-docs.cjs.map +1 -1
  34. package/dist/actions/gen-docs.mjs.map +1 -1
  35. package/dist/actions/gitignore-gen.cjs.map +1 -1
  36. package/dist/actions/gitignore-gen.mjs.map +1 -1
  37. package/dist/actions/index.cjs +2 -5
  38. package/dist/actions/index.cjs.map +1 -1
  39. package/dist/actions/index.mjs +2 -5
  40. package/dist/actions/index.mjs.map +1 -1
  41. package/dist/actions/license.cjs.map +1 -1
  42. package/dist/actions/license.mjs.map +1 -1
  43. package/dist/actions/lint-clean.cjs.map +1 -1
  44. package/dist/actions/lint-clean.mjs.map +1 -1
  45. package/dist/actions/lint-profile.cjs.map +1 -1
  46. package/dist/actions/lint-profile.mjs.map +1 -1
  47. package/dist/actions/lint.cjs.map +1 -1
  48. package/dist/actions/lint.mjs.map +1 -1
  49. package/dist/actions/npmignore-gen.cjs.map +1 -1
  50. package/dist/actions/npmignore-gen.mjs.map +1 -1
  51. package/dist/actions/package/clean-outputs.cjs.map +1 -1
  52. package/dist/actions/package/clean-outputs.mjs.map +1 -1
  53. package/dist/actions/package/clean-typescript.cjs.map +1 -1
  54. package/dist/actions/package/clean-typescript.mjs.map +1 -1
  55. package/dist/actions/package/clean.cjs.map +1 -1
  56. package/dist/actions/package/clean.mjs.map +1 -1
  57. package/dist/actions/package/compile/XyConfig.cjs.map +1 -1
  58. package/dist/actions/package/compile/buildEntries.cjs.map +1 -1
  59. package/dist/actions/package/compile/buildEntries.mjs.map +1 -1
  60. package/dist/actions/package/compile/compile.cjs.map +1 -1
  61. package/dist/actions/package/compile/compile.mjs.map +1 -1
  62. package/dist/actions/package/compile/copyTypeFiles.cjs.map +1 -1
  63. package/dist/actions/package/compile/copyTypeFiles.mjs.map +1 -1
  64. package/dist/actions/package/compile/index.cjs.map +1 -1
  65. package/dist/actions/package/compile/index.mjs.map +1 -1
  66. package/dist/actions/package/compile/inputs.cjs.map +1 -1
  67. package/dist/actions/package/compile/inputs.mjs.map +1 -1
  68. package/dist/actions/package/compile/packageCompileTsc.cjs.map +1 -1
  69. package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
  70. package/dist/actions/package/compile/packageCompileTscTypes.cjs.map +1 -1
  71. package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
  72. package/dist/actions/package/compile/packageCompileTsup.cjs.map +1 -1
  73. package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
  74. package/dist/actions/package/copy-assets.cjs +1 -1
  75. package/dist/actions/package/copy-assets.cjs.map +1 -1
  76. package/dist/actions/package/copy-assets.mjs +1 -1
  77. package/dist/actions/package/copy-assets.mjs.map +1 -1
  78. package/dist/actions/package/deps.cjs.map +1 -1
  79. package/dist/actions/package/deps.mjs.map +1 -1
  80. package/dist/actions/package/index.cjs +1 -1
  81. package/dist/actions/package/index.cjs.map +1 -1
  82. package/dist/actions/package/index.mjs +1 -1
  83. package/dist/actions/package/index.mjs.map +1 -1
  84. package/dist/actions/package/publint.cjs.map +1 -1
  85. package/dist/actions/package/publint.mjs.map +1 -1
  86. package/dist/actions/package/recompile.cjs.map +1 -1
  87. package/dist/actions/package/recompile.mjs.map +1 -1
  88. package/dist/actions/publint.cjs.map +1 -1
  89. package/dist/actions/publint.mjs.map +1 -1
  90. package/dist/actions/rebuild.cjs.map +1 -1
  91. package/dist/actions/rebuild.mjs.map +1 -1
  92. package/dist/actions/recompile.cjs.map +1 -1
  93. package/dist/actions/recompile.mjs.map +1 -1
  94. package/dist/actions/reinstall.cjs.map +1 -1
  95. package/dist/actions/reinstall.mjs.map +1 -1
  96. package/dist/actions/relint.cjs.map +1 -1
  97. package/dist/actions/relint.mjs.map +1 -1
  98. package/dist/actions/retest.cjs.map +1 -1
  99. package/dist/actions/retest.mjs.map +1 -1
  100. package/dist/actions/sonar.cjs.map +1 -1
  101. package/dist/actions/sonar.mjs.map +1 -1
  102. package/dist/actions/statics.cjs +0 -3
  103. package/dist/actions/statics.cjs.map +1 -1
  104. package/dist/actions/statics.mjs +0 -3
  105. package/dist/actions/statics.mjs.map +1 -1
  106. package/dist/actions/test.cjs.map +1 -1
  107. package/dist/actions/test.mjs.map +1 -1
  108. package/dist/actions/up.cjs.map +1 -1
  109. package/dist/actions/up.mjs.map +1 -1
  110. package/dist/actions/updo.cjs.map +1 -1
  111. package/dist/actions/updo.mjs.map +1 -1
  112. package/dist/actions/upplug.cjs.map +1 -1
  113. package/dist/actions/upplug.mjs.map +1 -1
  114. package/dist/actions/upyarn.cjs.map +1 -1
  115. package/dist/actions/upyarn.mjs.map +1 -1
  116. package/dist/actions/yarn3only.cjs.map +1 -1
  117. package/dist/actions/yarn3only.mjs.map +1 -1
  118. package/dist/bin/package/clean-outputs.cjs.map +1 -1
  119. package/dist/bin/package/clean-outputs.mjs.map +1 -1
  120. package/dist/bin/package/clean-typescript.cjs.map +1 -1
  121. package/dist/bin/package/clean-typescript.mjs.map +1 -1
  122. package/dist/bin/package/clean.cjs.map +1 -1
  123. package/dist/bin/package/clean.mjs.map +1 -1
  124. package/dist/bin/package/compile-only.cjs.map +1 -1
  125. package/dist/bin/package/compile-only.mjs.map +1 -1
  126. package/dist/bin/package/compile-tsup.cjs.map +1 -1
  127. package/dist/bin/package/compile-tsup.mjs.map +1 -1
  128. package/dist/bin/package/compile.cjs.map +1 -1
  129. package/dist/bin/package/compile.mjs.map +1 -1
  130. package/dist/bin/package/copy-assets-cjs.cjs +1 -1
  131. package/dist/bin/package/copy-assets-cjs.cjs.map +1 -1
  132. package/dist/bin/package/copy-assets-cjs.mjs +1 -1
  133. package/dist/bin/package/copy-assets-cjs.mjs.map +1 -1
  134. package/dist/bin/package/copy-assets-esm.cjs +1 -1
  135. package/dist/bin/package/copy-assets-esm.cjs.map +1 -1
  136. package/dist/bin/package/copy-assets-esm.mjs +1 -1
  137. package/dist/bin/package/copy-assets-esm.mjs.map +1 -1
  138. package/dist/bin/package/deps.cjs.map +1 -1
  139. package/dist/bin/package/deps.mjs.map +1 -1
  140. package/dist/bin/package/publint.cjs.map +1 -1
  141. package/dist/bin/package/publint.mjs.map +1 -1
  142. package/dist/bin/package/recompile.cjs.map +1 -1
  143. package/dist/bin/package/recompile.mjs.map +1 -1
  144. package/dist/bin/xy-ts.cjs +1 -4
  145. package/dist/bin/xy-ts.cjs.map +1 -1
  146. package/dist/bin/xy-ts.mjs +1 -4
  147. package/dist/bin/xy-ts.mjs.map +1 -1
  148. package/dist/bin/xy.cjs +1 -4
  149. package/dist/bin/xy.cjs.map +1 -1
  150. package/dist/bin/xy.mjs +1 -4
  151. package/dist/bin/xy.mjs.map +1 -1
  152. package/dist/index.cjs +2 -5
  153. package/dist/index.cjs.map +1 -1
  154. package/dist/index.mjs +2 -5
  155. package/dist/index.mjs.map +1 -1
  156. package/dist/lib/dependencies/detectDuplicateDependencies.cjs +0 -3
  157. package/dist/lib/dependencies/detectDuplicateDependencies.cjs.map +1 -1
  158. package/dist/lib/dependencies/detectDuplicateDependencies.mjs +0 -3
  159. package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +1 -1
  160. package/dist/lib/dependencies/index.cjs +0 -3
  161. package/dist/lib/dependencies/index.cjs.map +1 -1
  162. package/dist/lib/dependencies/index.mjs +0 -3
  163. package/dist/lib/dependencies/index.mjs.map +1 -1
  164. package/dist/lib/generateIgnoreFiles.cjs.map +1 -1
  165. package/dist/lib/generateIgnoreFiles.mjs.map +1 -1
  166. package/dist/lib/index.cjs +0 -3
  167. package/dist/lib/index.cjs.map +1 -1
  168. package/dist/lib/index.mjs +0 -3
  169. package/dist/lib/index.mjs.map +1 -1
  170. package/dist/lib/processEx.cjs.map +1 -1
  171. package/dist/lib/processEx.mjs.map +1 -1
  172. package/dist/lib/runSteps.cjs.map +1 -1
  173. package/dist/lib/runSteps.mjs.map +1 -1
  174. package/dist/lib/runStepsAsync.cjs.map +1 -1
  175. package/dist/lib/runStepsAsync.mjs.map +1 -1
  176. package/dist/lib/runXy.cjs.map +1 -1
  177. package/dist/lib/runXy.mjs.map +1 -1
  178. package/dist/lib/safeExit.cjs.map +1 -1
  179. package/dist/lib/safeExit.mjs.map +1 -1
  180. package/dist/lib/yarn/index.cjs.map +1 -1
  181. package/dist/lib/yarn/index.mjs.map +1 -1
  182. package/dist/lib/yarn/isYarnVersionOrGreater.cjs.map +1 -1
  183. package/dist/lib/yarn/isYarnVersionOrGreater.mjs.map +1 -1
  184. package/dist/xy/index.cjs +1 -4
  185. package/dist/xy/index.cjs.map +1 -1
  186. package/dist/xy/index.mjs +1 -4
  187. package/dist/xy/index.mjs.map +1 -1
  188. package/dist/xy/xy.cjs +1 -4
  189. package/dist/xy/xy.cjs.map +1 -1
  190. package/dist/xy/xy.mjs +1 -4
  191. package/dist/xy/xy.mjs.map +1 -1
  192. package/dist/xy/xyBuildCommands.cjs +1 -1
  193. package/dist/xy/xyBuildCommands.cjs.map +1 -1
  194. package/dist/xy/xyBuildCommands.mjs +1 -1
  195. package/dist/xy/xyBuildCommands.mjs.map +1 -1
  196. package/dist/xy/xyCommonCommands.cjs.map +1 -1
  197. package/dist/xy/xyCommonCommands.mjs.map +1 -1
  198. package/dist/xy/xyDeployCommands.cjs.map +1 -1
  199. package/dist/xy/xyDeployCommands.mjs.map +1 -1
  200. package/dist/xy/xyInstallCommands.cjs +0 -3
  201. package/dist/xy/xyInstallCommands.cjs.map +1 -1
  202. package/dist/xy/xyInstallCommands.mjs +0 -3
  203. package/dist/xy/xyInstallCommands.mjs.map +1 -1
  204. package/dist/xy/xyLintCommands.cjs.map +1 -1
  205. package/dist/xy/xyLintCommands.mjs.map +1 -1
  206. package/package.json +14 -14
  207. package/src/actions/build.ts +1 -1
  208. package/src/actions/copy-assets.ts +2 -2
  209. package/src/actions/cycle.ts +1 -1
  210. package/src/actions/deps.ts +2 -1
  211. package/src/actions/license.ts +2 -2
  212. package/src/actions/lint.ts +1 -1
  213. package/src/actions/package/clean-outputs.ts +1 -1
  214. package/src/actions/package/clean-typescript.ts +1 -1
  215. package/src/actions/package/compile/XyConfig.ts +2 -0
  216. package/src/actions/package/compile/buildEntries.ts +1 -1
  217. package/src/actions/package/compile/copyTypeFiles.ts +4 -4
  218. package/src/actions/package/compile/inputs.ts +4 -4
  219. package/src/actions/package/compile/packageCompileTsc.ts +1 -1
  220. package/src/actions/package/compile/packageCompileTscTypes.ts +1 -1
  221. package/src/actions/package/compile/packageCompileTsup.ts +38 -38
  222. package/src/actions/package/copy-assets.ts +1 -1
  223. package/src/actions/package/deps.ts +5 -5
  224. package/src/actions/package/publint.ts +4 -4
  225. package/src/bin/package/compile-only.ts +1 -1
  226. package/src/bin/package/compile-tsup.ts +1 -1
  227. package/src/bin/package/copy-assets-cjs.ts +1 -1
  228. package/src/bin/package/copy-assets-esm.ts +1 -1
  229. package/src/bin/package/deps.ts +1 -1
  230. package/src/bin/package/publint.ts +1 -1
  231. package/src/bin/package/recompile.ts +1 -1
  232. package/src/lib/dependencies/detectDuplicateDependencies.ts +0 -3
  233. package/src/lib/generateIgnoreFiles.ts +1 -1
  234. package/src/lib/processEx.ts +7 -7
  235. package/src/lib/runSteps.ts +4 -4
  236. package/src/lib/yarn/isYarnVersionOrGreater.ts +1 -1
  237. package/src/xy/xy.ts +1 -1
  238. package/src/xy/xyCommonCommands.ts +1 -1
  239. package/src/xy/xyLintCommands.ts +6 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/actions/gitignore-gen.ts","../../src/lib/file/constants.ts","../../src/lib/file/fileLines.ts","../../src/lib/string/empty.ts","../../src/lib/string/union.ts","../../src/lib/file/ReadFileSyncOptions.ts","../../src/lib/generateIgnoreFiles.ts","../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../src/lib/yarn/workspace/yarnWorkspace.ts","../../src/lib/yarn/yarnInitCwd.ts"],"sourcesContent":["import { generateIgnoreFiles } from '../lib/index.ts'\n\nconst filename = '.gitignore'\n\nexport const gitignoreGen = (pkg?: string) => generateIgnoreFiles(filename, pkg)\n","export const WINDOWS_NEWLINE_REGEX = /\\r\\n/g\nexport const CROSS_PLATFORM_NEWLINE = '\\n'\n","import { existsSync, PathLike, readFileSync, WriteFileOptions, writeFileSync } from 'node:fs'\n\nimport { notEmpty } from '../string/index.ts'\nimport { CROSS_PLATFORM_NEWLINE, WINDOWS_NEWLINE_REGEX } from './constants.ts'\nimport { defaultReadFileSyncOptions, ReadFileSyncOptions } from './ReadFileSyncOptions.ts'\n\nexport const readLines = (uri: PathLike, options: ReadFileSyncOptions = defaultReadFileSyncOptions): string[] =>\n existsSync(uri) ? readFileSync(uri, options).replace(WINDOWS_NEWLINE_REGEX, CROSS_PLATFORM_NEWLINE).split(CROSS_PLATFORM_NEWLINE) : []\n\nexport const readNonEmptyLines = (uri: PathLike, options: ReadFileSyncOptions = defaultReadFileSyncOptions): string[] =>\n readLines(uri, options).filter(notEmpty)\n\nexport const writeLines = (uri: PathLike, lines: string[], options: WriteFileOptions = defaultReadFileSyncOptions) => {\n const existing = existsSync(uri) ? readFileSync(uri, options) : undefined\n const desired = lines.join(CROSS_PLATFORM_NEWLINE)\n // Check if the file is different before writing\n if (existing !== desired) writeFileSync(uri, desired, options)\n}\n","export const empty = (value?: string | undefined): boolean => value?.trim().length === 0\nexport const notEmpty = (value?: string | undefined): boolean => !empty(value)\n","export const union = (a: string[], b: string[]): Set<string> => new Set([...new Set(a), ...new Set(b)])\n","export type ReadFileSyncOptions = BufferEncoding | { encoding: BufferEncoding; flags?: string }\n\nexport const defaultReadFileSyncOptions: ReadFileSyncOptions = { encoding: 'utf8' }\n","import chalk from 'chalk'\n\nimport { readNonEmptyLines, writeLines } from './file/index.ts'\nimport { union } from './string/index.ts'\nimport { INIT_CWD, yarnWorkspace, yarnWorkspaces } from './yarn/index.ts'\n\nconst mergeEntries = (a: string[], b: string[]): string[] => [...union(a, b)].sort()\n\nexport const generateIgnoreFiles = (filename: string, pkg?: string) => {\n console.log(chalk.green(`Generate ${filename} Files`))\n const cwd = INIT_CWD() ?? '.'\n const workspaces = pkg ? [yarnWorkspace(pkg)] : yarnWorkspaces()\n const readEntries = (location: string): string[] => readNonEmptyLines(`${location}/${filename}`)\n const writeEntries = (location: string, entries: string[]) => writeLines(`${location}/${filename}`, entries)\n const results = workspaces.map(({ location, name }) => {\n try {\n writeEntries(location, mergeEntries(readEntries(cwd), readEntries(location)))\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Generate ${filename} Files [${name}] [${error.message}]`)\n return 1\n }\n })\n const succeeded = results.every((result) => result === 0)\n return succeeded ? 0 : 1\n}\n","import { spawnSync } from 'node:child_process'\n\nimport { 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 { Workspace } from './Workspace.ts'\nimport { yarnWorkspaces } from './yarnWorkspaces.ts'\n\nexport const yarnWorkspace = (pkg: string): Workspace => {\n const workspace = yarnWorkspaces().find(({ name }) => name === pkg)\n if (!workspace) throw new Error(`Workspace ${pkg} not found`)\n return workspace\n}\n","export const INIT_CWD = () => {\n if (!process.env.INIT_CWD) console.error('Missing INIT_CWD')\n return process.env.INIT_CWD\n}\n"],"mappings":"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","names":["WINDOWS_NEWLINE_REGEX","CROSS_PLATFORM_NEWLINE","empty","value","trim","length","notEmpty","union","a","b","Set","defaultReadFileSyncOptions","encoding","readLines","uri","options","defaultReadFileSyncOptions","existsSync","readFileSync","replace","WINDOWS_NEWLINE_REGEX","CROSS_PLATFORM_NEWLINE","split","readNonEmptyLines","filter","notEmpty","writeLines","lines","existing","undefined","desired","join","writeFileSync","yarnWorkspaces","result","spawnSync","encoding","shell","error","stdout","toString","split","slice","map","item","JSON","parse","yarnWorkspace","pkg","workspace","yarnWorkspaces","find","name","Error","INIT_CWD","process","env","console","error","mergeEntries","a","b","union","sort","generateIgnoreFiles","filename","pkg","console","log","chalk","green","cwd","INIT_CWD","workspaces","yarnWorkspace","yarnWorkspaces","readEntries","location","readNonEmptyLines","writeEntries","entries","writeLines","results","map","name","ex","error","message","succeeded","every","result","filename","gitignoreGen","pkg","generateIgnoreFiles"]}
1
+ {"version":3,"sources":["../../src/actions/gitignore-gen.ts","../../src/lib/file/constants.ts","../../src/lib/file/fileLines.ts","../../src/lib/string/empty.ts","../../src/lib/string/union.ts","../../src/lib/file/ReadFileSyncOptions.ts","../../src/lib/generateIgnoreFiles.ts","../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../src/lib/yarn/workspace/yarnWorkspace.ts","../../src/lib/yarn/yarnInitCwd.ts"],"sourcesContent":["import { generateIgnoreFiles } from '../lib/index.ts'\n\nconst filename = '.gitignore'\n\nexport const gitignoreGen = (pkg?: string) => generateIgnoreFiles(filename, pkg)\n","export const WINDOWS_NEWLINE_REGEX = /\\r\\n/g\nexport const CROSS_PLATFORM_NEWLINE = '\\n'\n","import { existsSync, PathLike, readFileSync, WriteFileOptions, writeFileSync } from 'node:fs'\n\nimport { notEmpty } from '../string/index.ts'\nimport { CROSS_PLATFORM_NEWLINE, WINDOWS_NEWLINE_REGEX } from './constants.ts'\nimport { defaultReadFileSyncOptions, ReadFileSyncOptions } from './ReadFileSyncOptions.ts'\n\nexport const readLines = (uri: PathLike, options: ReadFileSyncOptions = defaultReadFileSyncOptions): string[] =>\n existsSync(uri) ? readFileSync(uri, options).replace(WINDOWS_NEWLINE_REGEX, CROSS_PLATFORM_NEWLINE).split(CROSS_PLATFORM_NEWLINE) : []\n\nexport const readNonEmptyLines = (uri: PathLike, options: ReadFileSyncOptions = defaultReadFileSyncOptions): string[] =>\n readLines(uri, options).filter(notEmpty)\n\nexport const writeLines = (uri: PathLike, lines: string[], options: WriteFileOptions = defaultReadFileSyncOptions) => {\n const existing = existsSync(uri) ? readFileSync(uri, options) : undefined\n const desired = lines.join(CROSS_PLATFORM_NEWLINE)\n // Check if the file is different before writing\n if (existing !== desired) writeFileSync(uri, desired, options)\n}\n","export const empty = (value?: string | undefined): boolean => value?.trim().length === 0\nexport const notEmpty = (value?: string | undefined): boolean => !empty(value)\n","export const union = (a: string[], b: string[]): Set<string> => new Set([...new Set(a), ...new Set(b)])\n","export type ReadFileSyncOptions = BufferEncoding | { encoding: BufferEncoding; flags?: string }\n\nexport const defaultReadFileSyncOptions: ReadFileSyncOptions = { encoding: 'utf8' }\n","import chalk from 'chalk'\n\nimport { readNonEmptyLines, writeLines } from './file/index.ts'\nimport { union } from './string/index.ts'\nimport { INIT_CWD, yarnWorkspace, yarnWorkspaces } from './yarn/index.ts'\n\nconst mergeEntries = (a: string[], b: string[]): string[] => [...union(a, b)].sort()\n\nexport const generateIgnoreFiles = (filename: string, pkg?: string) => {\n console.log(chalk.green(`Generate ${filename} Files`))\n const cwd = INIT_CWD() ?? '.'\n const workspaces = pkg ? [yarnWorkspace(pkg)] : yarnWorkspaces()\n const readEntries = (location: string): string[] => readNonEmptyLines(`${location}/${filename}`)\n const writeEntries = (location: string, entries: string[]) => writeLines(`${location}/${filename}`, entries)\n const results = workspaces.map(({ location, name }) => {\n try {\n writeEntries(location, mergeEntries(readEntries(cwd), readEntries(location)))\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Generate ${filename} Files [${name}] [${error.message}]`)\n return 1\n }\n })\n const succeeded = results.every(result => result === 0)\n return succeeded ? 0 : 1\n}\n","import { spawnSync } from 'node:child_process'\n\nimport { 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 { Workspace } from './Workspace.ts'\nimport { yarnWorkspaces } from './yarnWorkspaces.ts'\n\nexport const yarnWorkspace = (pkg: string): Workspace => {\n const workspace = yarnWorkspaces().find(({ name }) => name === pkg)\n if (!workspace) throw new Error(`Workspace ${pkg} not found`)\n return workspace\n}\n","export const INIT_CWD = () => {\n if (!process.env.INIT_CWD) console.error('Missing INIT_CWD')\n return process.env.INIT_CWD\n}\n"],"mappings":"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","names":["WINDOWS_NEWLINE_REGEX","CROSS_PLATFORM_NEWLINE","empty","value","trim","length","notEmpty","union","a","b","Set","defaultReadFileSyncOptions","encoding","readLines","uri","options","defaultReadFileSyncOptions","existsSync","readFileSync","replace","WINDOWS_NEWLINE_REGEX","CROSS_PLATFORM_NEWLINE","split","readNonEmptyLines","filter","notEmpty","writeLines","lines","existing","undefined","desired","join","writeFileSync","yarnWorkspaces","result","spawnSync","encoding","shell","error","stdout","toString","split","slice","map","item","JSON","parse","yarnWorkspace","pkg","workspace","yarnWorkspaces","find","name","Error","INIT_CWD","process","env","console","error","mergeEntries","a","b","union","sort","generateIgnoreFiles","filename","pkg","console","log","chalk","green","cwd","INIT_CWD","workspaces","yarnWorkspace","yarnWorkspaces","readEntries","location","readNonEmptyLines","writeEntries","entries","writeLines","results","map","name","ex","error","message","succeeded","every","result","filename","gitignoreGen","pkg","generateIgnoreFiles"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/file/constants.ts","../../src/lib/file/fileLines.ts","../../src/lib/string/empty.ts","../../src/lib/string/union.ts","../../src/lib/file/ReadFileSyncOptions.ts","../../src/lib/generateIgnoreFiles.ts","../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../src/lib/yarn/workspace/yarnWorkspace.ts","../../src/lib/yarn/yarnInitCwd.ts","../../src/actions/gitignore-gen.ts"],"sourcesContent":["export const WINDOWS_NEWLINE_REGEX = /\\r\\n/g\nexport const CROSS_PLATFORM_NEWLINE = '\\n'\n","import { existsSync, PathLike, readFileSync, WriteFileOptions, writeFileSync } from 'node:fs'\n\nimport { notEmpty } from '../string/index.ts'\nimport { CROSS_PLATFORM_NEWLINE, WINDOWS_NEWLINE_REGEX } from './constants.ts'\nimport { defaultReadFileSyncOptions, ReadFileSyncOptions } from './ReadFileSyncOptions.ts'\n\nexport const readLines = (uri: PathLike, options: ReadFileSyncOptions = defaultReadFileSyncOptions): string[] =>\n existsSync(uri) ? readFileSync(uri, options).replace(WINDOWS_NEWLINE_REGEX, CROSS_PLATFORM_NEWLINE).split(CROSS_PLATFORM_NEWLINE) : []\n\nexport const readNonEmptyLines = (uri: PathLike, options: ReadFileSyncOptions = defaultReadFileSyncOptions): string[] =>\n readLines(uri, options).filter(notEmpty)\n\nexport const writeLines = (uri: PathLike, lines: string[], options: WriteFileOptions = defaultReadFileSyncOptions) => {\n const existing = existsSync(uri) ? readFileSync(uri, options) : undefined\n const desired = lines.join(CROSS_PLATFORM_NEWLINE)\n // Check if the file is different before writing\n if (existing !== desired) writeFileSync(uri, desired, options)\n}\n","export const empty = (value?: string | undefined): boolean => value?.trim().length === 0\nexport const notEmpty = (value?: string | undefined): boolean => !empty(value)\n","export const union = (a: string[], b: string[]): Set<string> => new Set([...new Set(a), ...new Set(b)])\n","export type ReadFileSyncOptions = BufferEncoding | { encoding: BufferEncoding; flags?: string }\n\nexport const defaultReadFileSyncOptions: ReadFileSyncOptions = { encoding: 'utf8' }\n","import chalk from 'chalk'\n\nimport { readNonEmptyLines, writeLines } from './file/index.ts'\nimport { union } from './string/index.ts'\nimport { INIT_CWD, yarnWorkspace, yarnWorkspaces } from './yarn/index.ts'\n\nconst mergeEntries = (a: string[], b: string[]): string[] => [...union(a, b)].sort()\n\nexport const generateIgnoreFiles = (filename: string, pkg?: string) => {\n console.log(chalk.green(`Generate ${filename} Files`))\n const cwd = INIT_CWD() ?? '.'\n const workspaces = pkg ? [yarnWorkspace(pkg)] : yarnWorkspaces()\n const readEntries = (location: string): string[] => readNonEmptyLines(`${location}/${filename}`)\n const writeEntries = (location: string, entries: string[]) => writeLines(`${location}/${filename}`, entries)\n const results = workspaces.map(({ location, name }) => {\n try {\n writeEntries(location, mergeEntries(readEntries(cwd), readEntries(location)))\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Generate ${filename} Files [${name}] [${error.message}]`)\n return 1\n }\n })\n const succeeded = results.every((result) => result === 0)\n return succeeded ? 0 : 1\n}\n","import { spawnSync } from 'node:child_process'\n\nimport { 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 { Workspace } from './Workspace.ts'\nimport { yarnWorkspaces } from './yarnWorkspaces.ts'\n\nexport const yarnWorkspace = (pkg: string): Workspace => {\n const workspace = yarnWorkspaces().find(({ name }) => name === pkg)\n if (!workspace) throw new Error(`Workspace ${pkg} not found`)\n return workspace\n}\n","export const INIT_CWD = () => {\n if (!process.env.INIT_CWD) console.error('Missing INIT_CWD')\n return process.env.INIT_CWD\n}\n","import { generateIgnoreFiles } from '../lib/index.ts'\n\nconst filename = '.gitignore'\n\nexport const gitignoreGen = (pkg?: string) => generateIgnoreFiles(filename, pkg)\n"],"mappings":"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","names":["WINDOWS_NEWLINE_REGEX","CROSS_PLATFORM_NEWLINE","existsSync","readFileSync","writeFileSync","empty","value","trim","length","notEmpty","union","a","b","Set","defaultReadFileSyncOptions","encoding","readLines","uri","options","defaultReadFileSyncOptions","existsSync","readFileSync","replace","WINDOWS_NEWLINE_REGEX","CROSS_PLATFORM_NEWLINE","split","readNonEmptyLines","filter","notEmpty","writeLines","lines","existing","undefined","desired","join","writeFileSync","chalk","spawnSync","yarnWorkspaces","result","spawnSync","encoding","shell","error","stdout","toString","split","slice","map","item","JSON","parse","yarnWorkspace","pkg","workspace","yarnWorkspaces","find","name","Error","INIT_CWD","process","env","console","error","mergeEntries","a","b","union","sort","generateIgnoreFiles","filename","pkg","console","log","chalk","green","cwd","INIT_CWD","workspaces","yarnWorkspace","yarnWorkspaces","readEntries","location","readNonEmptyLines","writeEntries","entries","writeLines","results","map","name","ex","error","message","succeeded","every","result","filename","gitignoreGen","pkg","generateIgnoreFiles"]}
1
+ {"version":3,"sources":["../../src/lib/file/constants.ts","../../src/lib/file/fileLines.ts","../../src/lib/string/empty.ts","../../src/lib/string/union.ts","../../src/lib/file/ReadFileSyncOptions.ts","../../src/lib/generateIgnoreFiles.ts","../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../src/lib/yarn/workspace/yarnWorkspace.ts","../../src/lib/yarn/yarnInitCwd.ts","../../src/actions/gitignore-gen.ts"],"sourcesContent":["export const WINDOWS_NEWLINE_REGEX = /\\r\\n/g\nexport const CROSS_PLATFORM_NEWLINE = '\\n'\n","import { existsSync, PathLike, readFileSync, WriteFileOptions, writeFileSync } from 'node:fs'\n\nimport { notEmpty } from '../string/index.ts'\nimport { CROSS_PLATFORM_NEWLINE, WINDOWS_NEWLINE_REGEX } from './constants.ts'\nimport { defaultReadFileSyncOptions, ReadFileSyncOptions } from './ReadFileSyncOptions.ts'\n\nexport const readLines = (uri: PathLike, options: ReadFileSyncOptions = defaultReadFileSyncOptions): string[] =>\n existsSync(uri) ? readFileSync(uri, options).replace(WINDOWS_NEWLINE_REGEX, CROSS_PLATFORM_NEWLINE).split(CROSS_PLATFORM_NEWLINE) : []\n\nexport const readNonEmptyLines = (uri: PathLike, options: ReadFileSyncOptions = defaultReadFileSyncOptions): string[] =>\n readLines(uri, options).filter(notEmpty)\n\nexport const writeLines = (uri: PathLike, lines: string[], options: WriteFileOptions = defaultReadFileSyncOptions) => {\n const existing = existsSync(uri) ? readFileSync(uri, options) : undefined\n const desired = lines.join(CROSS_PLATFORM_NEWLINE)\n // Check if the file is different before writing\n if (existing !== desired) writeFileSync(uri, desired, options)\n}\n","export const empty = (value?: string | undefined): boolean => value?.trim().length === 0\nexport const notEmpty = (value?: string | undefined): boolean => !empty(value)\n","export const union = (a: string[], b: string[]): Set<string> => new Set([...new Set(a), ...new Set(b)])\n","export type ReadFileSyncOptions = BufferEncoding | { encoding: BufferEncoding; flags?: string }\n\nexport const defaultReadFileSyncOptions: ReadFileSyncOptions = { encoding: 'utf8' }\n","import chalk from 'chalk'\n\nimport { readNonEmptyLines, writeLines } from './file/index.ts'\nimport { union } from './string/index.ts'\nimport { INIT_CWD, yarnWorkspace, yarnWorkspaces } from './yarn/index.ts'\n\nconst mergeEntries = (a: string[], b: string[]): string[] => [...union(a, b)].sort()\n\nexport const generateIgnoreFiles = (filename: string, pkg?: string) => {\n console.log(chalk.green(`Generate ${filename} Files`))\n const cwd = INIT_CWD() ?? '.'\n const workspaces = pkg ? [yarnWorkspace(pkg)] : yarnWorkspaces()\n const readEntries = (location: string): string[] => readNonEmptyLines(`${location}/${filename}`)\n const writeEntries = (location: string, entries: string[]) => writeLines(`${location}/${filename}`, entries)\n const results = workspaces.map(({ location, name }) => {\n try {\n writeEntries(location, mergeEntries(readEntries(cwd), readEntries(location)))\n return 0\n } catch (ex) {\n const error = ex as Error\n console.error(`Generate ${filename} Files [${name}] [${error.message}]`)\n return 1\n }\n })\n const succeeded = results.every(result => result === 0)\n return succeeded ? 0 : 1\n}\n","import { spawnSync } from 'node:child_process'\n\nimport { 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 { Workspace } from './Workspace.ts'\nimport { yarnWorkspaces } from './yarnWorkspaces.ts'\n\nexport const yarnWorkspace = (pkg: string): Workspace => {\n const workspace = yarnWorkspaces().find(({ name }) => name === pkg)\n if (!workspace) throw new Error(`Workspace ${pkg} not found`)\n return workspace\n}\n","export const INIT_CWD = () => {\n if (!process.env.INIT_CWD) console.error('Missing INIT_CWD')\n return process.env.INIT_CWD\n}\n","import { generateIgnoreFiles } from '../lib/index.ts'\n\nconst filename = '.gitignore'\n\nexport const gitignoreGen = (pkg?: string) => generateIgnoreFiles(filename, pkg)\n"],"mappings":"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","names":["WINDOWS_NEWLINE_REGEX","CROSS_PLATFORM_NEWLINE","existsSync","readFileSync","writeFileSync","empty","value","trim","length","notEmpty","union","a","b","Set","defaultReadFileSyncOptions","encoding","readLines","uri","options","defaultReadFileSyncOptions","existsSync","readFileSync","replace","WINDOWS_NEWLINE_REGEX","CROSS_PLATFORM_NEWLINE","split","readNonEmptyLines","filter","notEmpty","writeLines","lines","existing","undefined","desired","join","writeFileSync","chalk","spawnSync","yarnWorkspaces","result","spawnSync","encoding","shell","error","stdout","toString","split","slice","map","item","JSON","parse","yarnWorkspace","pkg","workspace","yarnWorkspaces","find","name","Error","INIT_CWD","process","env","console","error","mergeEntries","a","b","union","sort","generateIgnoreFiles","filename","pkg","console","log","chalk","green","cwd","INIT_CWD","workspaces","yarnWorkspace","yarnWorkspaces","readEntries","location","readNonEmptyLines","writeEntries","entries","writeLines","results","map","name","ex","error","message","succeeded","every","result","filename","gitignoreGen","pkg","generateIgnoreFiles"]}
@@ -271,19 +271,16 @@ var detectDuplicateDependencies = /* @__PURE__ */ __name((depsFromPackageJSON, D
271
271
  } catch (e) {
272
272
  console.error(`Error running yarn why: ${e}`);
273
273
  exitCode = 1;
274
- exitCode;
275
274
  continue;
276
275
  }
277
276
  if (output) {
278
277
  exitCode = new DuplicateDetector(output, dependency).detect();
279
- exitCode;
280
278
  } else {
281
279
  console.log(`${dependency} - N/A`);
282
280
  if (depsFromPackageJSON) {
283
281
  exitCode = 1;
284
282
  console.log(`\u{1F6A8} Library ${dependency} was requested in package.json but not found`);
285
283
  }
286
- exitCode;
287
284
  }
288
285
  }
289
286
  return exitCode;
@@ -732,7 +729,7 @@ var copyPackageTargetAssets = /* @__PURE__ */ __name(async (target, name, locati
732
729
  "**/*.css"
733
730
  ], `../dist/${target}`, {
734
731
  cwd: import_posix.default.join(process.cwd(), location, "src"),
735
- parents: true
732
+ flat: false
736
733
  });
737
734
  for (const value of values) {
738
735
  console.log(`${value.split("/").pop()} => ./dist/${target}`);
@@ -1874,7 +1871,7 @@ var copyTargetAssets2 = /* @__PURE__ */ __name(async (target, name, location) =>
1874
1871
  "**/*.css"
1875
1872
  ], `../dist/${target}`, {
1876
1873
  cwd: import_posix2.default.join(location, "src"),
1877
- parents: true
1874
+ flat: false
1878
1875
  });
1879
1876
  if (values.length > 0) {
1880
1877
  console.log(import_chalk24.default.green(`Copying Assets [${target.toUpperCase()}] - ${name} - ${location}`));