@xylabs/ts-scripts-yarn3 7.4.28 → 7.5.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.
- package/dist/actions/deploy-major.mjs +1 -90
- package/dist/actions/deploy-major.mjs.map +1 -1
- package/dist/actions/deploy-minor.mjs +1 -90
- package/dist/actions/deploy-minor.mjs.map +1 -1
- package/dist/actions/deploy-next.mjs +1 -90
- package/dist/actions/deploy-next.mjs.map +1 -1
- package/dist/actions/deploy.mjs +1 -90
- package/dist/actions/deploy.mjs.map +1 -1
- package/dist/actions/index.mjs +128 -3840
- package/dist/actions/index.mjs.map +1 -1
- package/dist/actions/publish.mjs +1 -90
- package/dist/actions/publish.mjs.map +1 -1
- package/dist/actions/reinstall.mjs +1 -90
- package/dist/actions/reinstall.mjs.map +1 -1
- package/dist/actions/up.mjs +1 -90
- package/dist/actions/up.mjs.map +1 -1
- package/dist/actions/updo.mjs +1 -90
- package/dist/actions/updo.mjs.map +1 -1
- package/dist/actions/upplug.mjs +1 -90
- package/dist/actions/upplug.mjs.map +1 -1
- package/dist/actions/upyarn.mjs +1 -90
- package/dist/actions/upyarn.mjs.map +1 -1
- package/dist/actions/yarn3only.mjs +2 -32
- package/dist/actions/yarn3only.mjs.map +1 -1
- package/dist/bin/xy.mjs +222 -3684
- package/dist/bin/xy.mjs.map +1 -1
- package/dist/index.d.ts +24 -502
- package/dist/index.mjs +224 -4659
- package/dist/index.mjs.map +1 -1
- package/dist/lib/index.mjs +0 -804
- package/dist/lib/index.mjs.map +1 -1
- package/dist/lib/yarn/index.mjs +0 -7
- package/dist/lib/yarn/index.mjs.map +1 -1
- package/dist/pm/index.mjs +82 -0
- package/dist/pm/index.mjs.map +1 -0
- package/dist/pm/yarnPackageManager.mjs +82 -0
- package/dist/pm/yarnPackageManager.mjs.map +1 -0
- package/dist/xy/common/index.mjs +7 -1459
- package/dist/xy/common/index.mjs.map +1 -1
- package/dist/xy/common/upplugCommand.mjs +1 -90
- package/dist/xy/common/upplugCommand.mjs.map +1 -1
- package/dist/xy/common/upyarnCommand.mjs +1 -90
- package/dist/xy/common/upyarnCommand.mjs.map +1 -1
- package/dist/xy/common/yarn3OnlyCommand.mjs +1 -33
- package/dist/xy/common/yarn3OnlyCommand.mjs.map +1 -1
- package/dist/xy/deploy/deployCommand.mjs +3 -90
- package/dist/xy/deploy/deployCommand.mjs.map +1 -1
- package/dist/xy/deploy/deployMajorCommand.mjs +1 -90
- package/dist/xy/deploy/deployMajorCommand.mjs.map +1 -1
- package/dist/xy/deploy/deployMinorCommand.mjs +1 -90
- package/dist/xy/deploy/deployMinorCommand.mjs.map +1 -1
- package/dist/xy/deploy/deployNextCommand.mjs +1 -90
- package/dist/xy/deploy/deployNextCommand.mjs.map +1 -1
- package/dist/xy/deploy/index.mjs +11 -94
- package/dist/xy/deploy/index.mjs.map +1 -1
- package/dist/xy/deploy/publishCommand.mjs +1 -90
- package/dist/xy/deploy/publishCommand.mjs.map +1 -1
- package/dist/xy/index.mjs +183 -3717
- package/dist/xy/index.mjs.map +1 -1
- package/dist/xy/install/cleanCommand.mjs +6 -118
- package/dist/xy/install/cleanCommand.mjs.map +1 -1
- package/dist/xy/install/dupdepsCommand.mjs +6 -178
- package/dist/xy/install/dupdepsCommand.mjs.map +1 -1
- package/dist/xy/install/index.mjs +12 -305
- package/dist/xy/install/index.mjs.map +1 -1
- package/dist/xy/install/reinstallCommand.mjs +1 -90
- package/dist/xy/install/reinstallCommand.mjs.map +1 -1
- package/dist/xy/install/staticsCommand.mjs +6 -177
- package/dist/xy/install/staticsCommand.mjs.map +1 -1
- package/dist/xy/install/upCommand.mjs +1 -90
- package/dist/xy/install/upCommand.mjs.map +1 -1
- package/dist/xy/install/updoCommand.mjs +1 -90
- package/dist/xy/install/updoCommand.mjs.map +1 -1
- package/dist/xy/xy.mjs +64 -3595
- package/dist/xy/xy.mjs.map +1 -1
- package/dist/xy/yarnCommands.mjs +80 -0
- package/dist/xy/yarnCommands.mjs.map +1 -0
- package/package.json +5 -47
- package/dist/actions/build.mjs +0 -140
- package/dist/actions/build.mjs.map +0 -1
- package/dist/actions/claude-clean.mjs +0 -71
- package/dist/actions/claude-clean.mjs.map +0 -1
- package/dist/actions/claude-commands.mjs +0 -112
- package/dist/actions/claude-commands.mjs.map +0 -1
- package/dist/actions/claude-rules.mjs +0 -137
- package/dist/actions/claude-rules.mjs.map +0 -1
- package/dist/actions/claude-settings.mjs +0 -85
- package/dist/actions/claude-settings.mjs.map +0 -1
- package/dist/actions/claude-skills.mjs +0 -120
- package/dist/actions/claude-skills.mjs.map +0 -1
- package/dist/actions/clean-docs.mjs +0 -37
- package/dist/actions/clean-docs.mjs.map +0 -1
- package/dist/actions/clean-eslint.mjs +0 -26
- package/dist/actions/clean-eslint.mjs.map +0 -1
- package/dist/actions/clean.mjs +0 -124
- package/dist/actions/clean.mjs.map +0 -1
- package/dist/actions/compile.mjs +0 -157
- package/dist/actions/compile.mjs.map +0 -1
- package/dist/actions/copy-assets.mjs +0 -73
- package/dist/actions/copy-assets.mjs.map +0 -1
- package/dist/actions/cycle.mjs +0 -144
- package/dist/actions/cycle.mjs.map +0 -1
- package/dist/actions/dead.mjs +0 -98
- package/dist/actions/dead.mjs.map +0 -1
- package/dist/actions/deplint/checkPackage/checkPackage.mjs +0 -672
- package/dist/actions/deplint/checkPackage/checkPackage.mjs.map +0 -1
- package/dist/actions/deplint/checkPackage/checkPackageTypes.mjs +0 -1
- package/dist/actions/deplint/checkPackage/checkPackageTypes.mjs.map +0 -1
- package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs +0 -48
- package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs.map +0 -1
- package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs +0 -33
- package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs.map +0 -1
- package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs +0 -30
- package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs.map +0 -1
- package/dist/actions/deplint/checkPackage/getUnusedDevDependencies.mjs +0 -309
- package/dist/actions/deplint/checkPackage/getUnusedDevDependencies.mjs.map +0 -1
- package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs +0 -26
- package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs.map +0 -1
- package/dist/actions/deplint/checkPackage/index.mjs +0 -672
- package/dist/actions/deplint/checkPackage/index.mjs.map +0 -1
- package/dist/actions/deplint/deplint.mjs +0 -764
- package/dist/actions/deplint/deplint.mjs.map +0 -1
- package/dist/actions/deplint/findFiles.mjs +0 -39
- package/dist/actions/deplint/findFiles.mjs.map +0 -1
- package/dist/actions/deplint/findFilesByGlob.mjs +0 -14
- package/dist/actions/deplint/findFilesByGlob.mjs.map +0 -1
- package/dist/actions/deplint/getBasePackageName.mjs +0 -13
- package/dist/actions/deplint/getBasePackageName.mjs.map +0 -1
- package/dist/actions/deplint/getCliReferencedPackagesFromFiles.mjs +0 -140
- package/dist/actions/deplint/getCliReferencedPackagesFromFiles.mjs.map +0 -1
- package/dist/actions/deplint/getDependenciesFromPackageJson.mjs +0 -20
- package/dist/actions/deplint/getDependenciesFromPackageJson.mjs.map +0 -1
- package/dist/actions/deplint/getExtendsFromTsconfigs.mjs +0 -44
- package/dist/actions/deplint/getExtendsFromTsconfigs.mjs.map +0 -1
- package/dist/actions/deplint/getExternalImportsFromFiles.mjs +0 -122
- package/dist/actions/deplint/getExternalImportsFromFiles.mjs.map +0 -1
- package/dist/actions/deplint/getImportsFromFile.mjs +0 -85
- package/dist/actions/deplint/getImportsFromFile.mjs.map +0 -1
- package/dist/actions/deplint/getRequiredPeerDependencies.mjs +0 -36
- package/dist/actions/deplint/getRequiredPeerDependencies.mjs.map +0 -1
- package/dist/actions/deplint/getScriptReferencedPackages.mjs +0 -83
- package/dist/actions/deplint/getScriptReferencedPackages.mjs.map +0 -1
- package/dist/actions/deplint/implicitDevDependencies.mjs +0 -80
- package/dist/actions/deplint/implicitDevDependencies.mjs.map +0 -1
- package/dist/actions/deplint/index.mjs +0 -764
- package/dist/actions/deplint/index.mjs.map +0 -1
- package/dist/actions/dupdeps.mjs +0 -184
- package/dist/actions/dupdeps.mjs.map +0 -1
- package/dist/actions/fix.mjs +0 -147
- package/dist/actions/fix.mjs.map +0 -1
- package/dist/actions/gen-docs.mjs +0 -109
- package/dist/actions/gen-docs.mjs.map +0 -1
- package/dist/actions/gitignore.mjs +0 -152
- package/dist/actions/gitignore.mjs.map +0 -1
- package/dist/actions/gitlint-fix.mjs +0 -27
- package/dist/actions/gitlint-fix.mjs.map +0 -1
- package/dist/actions/gitlint.mjs +0 -48
- package/dist/actions/gitlint.mjs.map +0 -1
- package/dist/actions/knip.mjs +0 -98
- package/dist/actions/knip.mjs.map +0 -1
- package/dist/actions/license.mjs +0 -84
- package/dist/actions/license.mjs.map +0 -1
- package/dist/actions/lint.mjs +0 -144
- package/dist/actions/lint.mjs.map +0 -1
- package/dist/actions/lintlint.mjs +0 -230
- package/dist/actions/lintlint.mjs.map +0 -1
- package/dist/actions/npmignore-gen.mjs +0 -88
- package/dist/actions/npmignore-gen.mjs.map +0 -1
- package/dist/actions/package/clean-outputs.mjs +0 -29
- package/dist/actions/package/clean-outputs.mjs.map +0 -1
- package/dist/actions/package/clean-typescript.mjs +0 -29
- package/dist/actions/package/clean-typescript.mjs.map +0 -1
- package/dist/actions/package/clean.mjs +0 -48
- package/dist/actions/package/clean.mjs.map +0 -1
- package/dist/actions/package/compile/XyConfig.mjs +0 -1
- package/dist/actions/package/compile/XyConfig.mjs.map +0 -1
- package/dist/actions/package/compile/buildEntries.mjs +0 -53
- package/dist/actions/package/compile/buildEntries.mjs.map +0 -1
- package/dist/actions/package/compile/compile.mjs +0 -433
- package/dist/actions/package/compile/compile.mjs.map +0 -1
- package/dist/actions/package/compile/copyTypeFiles.mjs +0 -34
- package/dist/actions/package/compile/copyTypeFiles.mjs.map +0 -1
- package/dist/actions/package/compile/deepMerge.mjs +0 -26
- package/dist/actions/package/compile/deepMerge.mjs.map +0 -1
- package/dist/actions/package/compile/getCompilerOptions.mjs +0 -12
- package/dist/actions/package/compile/getCompilerOptions.mjs.map +0 -1
- package/dist/actions/package/compile/index.mjs +0 -436
- package/dist/actions/package/compile/index.mjs.map +0 -1
- package/dist/actions/package/compile/inputs.mjs +0 -22
- package/dist/actions/package/compile/inputs.mjs.map +0 -1
- package/dist/actions/package/compile/packageCompileTsc.mjs +0 -94
- package/dist/actions/package/compile/packageCompileTsc.mjs.map +0 -1
- package/dist/actions/package/compile/packageCompileTscTypes.mjs +0 -92
- package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +0 -1
- package/dist/actions/package/compile/packageCompileTsup.mjs +0 -402
- package/dist/actions/package/compile/packageCompileTsup.mjs.map +0 -1
- package/dist/actions/package/copy-assets.mjs +0 -46
- package/dist/actions/package/copy-assets.mjs.map +0 -1
- package/dist/actions/package/cycle.mjs +0 -39
- package/dist/actions/package/cycle.mjs.map +0 -1
- package/dist/actions/package/gen-docs.mjs +0 -114
- package/dist/actions/package/gen-docs.mjs.map +0 -1
- package/dist/actions/package/index.mjs +0 -825
- package/dist/actions/package/index.mjs.map +0 -1
- package/dist/actions/package/lint.mjs +0 -80
- package/dist/actions/package/lint.mjs.map +0 -1
- package/dist/actions/package/publint.mjs +0 -66
- package/dist/actions/package/publint.mjs.map +0 -1
- package/dist/actions/package/recompile.mjs +0 -483
- package/dist/actions/package/recompile.mjs.map +0 -1
- package/dist/actions/package-lint.mjs +0 -178
- package/dist/actions/package-lint.mjs.map +0 -1
- package/dist/actions/publint.mjs +0 -166
- package/dist/actions/publint.mjs.map +0 -1
- package/dist/actions/readme-gen.mjs +0 -289
- package/dist/actions/readme-gen.mjs.map +0 -1
- package/dist/actions/readme-init.mjs +0 -83
- package/dist/actions/readme-init.mjs.map +0 -1
- package/dist/actions/rebuild.mjs +0 -101
- package/dist/actions/rebuild.mjs.map +0 -1
- package/dist/actions/recompile.mjs +0 -187
- package/dist/actions/recompile.mjs.map +0 -1
- package/dist/actions/relint.mjs +0 -144
- package/dist/actions/relint.mjs.map +0 -1
- package/dist/actions/retest.mjs +0 -123
- package/dist/actions/retest.mjs.map +0 -1
- package/dist/actions/sonar.mjs +0 -98
- package/dist/actions/sonar.mjs.map +0 -1
- package/dist/actions/statics.mjs +0 -183
- package/dist/actions/statics.mjs.map +0 -1
- package/dist/actions/test.mjs +0 -117
- package/dist/actions/test.mjs.map +0 -1
- package/dist/bin/package/build-only.mjs +0 -445
- package/dist/bin/package/build-only.mjs.map +0 -1
- package/dist/bin/package/build.mjs +0 -445
- package/dist/bin/package/build.mjs.map +0 -1
- package/dist/bin/package/clean-outputs.mjs +0 -29
- package/dist/bin/package/clean-outputs.mjs.map +0 -1
- package/dist/bin/package/clean-typescript.mjs +0 -29
- package/dist/bin/package/clean-typescript.mjs.map +0 -1
- package/dist/bin/package/clean.mjs +0 -53
- package/dist/bin/package/clean.mjs.map +0 -1
- package/dist/bin/package/compile-only.mjs +0 -441
- package/dist/bin/package/compile-only.mjs.map +0 -1
- package/dist/bin/package/compile-tsup.mjs +0 -409
- package/dist/bin/package/compile-tsup.mjs.map +0 -1
- package/dist/bin/package/compile.mjs +0 -445
- package/dist/bin/package/compile.mjs.map +0 -1
- package/dist/bin/package/copy-assets-cjs.mjs +0 -54
- package/dist/bin/package/copy-assets-cjs.mjs.map +0 -1
- package/dist/bin/package/copy-assets-esm.mjs +0 -54
- package/dist/bin/package/copy-assets-esm.mjs.map +0 -1
- package/dist/bin/package/cycle.mjs +0 -51
- package/dist/bin/package/cycle.mjs.map +0 -1
- package/dist/bin/package/fix.mjs +0 -92
- package/dist/bin/package/fix.mjs.map +0 -1
- package/dist/bin/package/gen-docs.mjs +0 -121
- package/dist/bin/package/gen-docs.mjs.map +0 -1
- package/dist/bin/package/lint-verbose.mjs +0 -92
- package/dist/bin/package/lint-verbose.mjs.map +0 -1
- package/dist/bin/package/lint.mjs +0 -92
- package/dist/bin/package/lint.mjs.map +0 -1
- package/dist/bin/package/publint.mjs +0 -75
- package/dist/bin/package/publint.mjs.map +0 -1
- package/dist/bin/package/recompile.mjs +0 -489
- package/dist/bin/package/recompile.mjs.map +0 -1
- package/dist/bin/package/relint.mjs +0 -92
- package/dist/bin/package/relint.mjs.map +0 -1
- package/dist/lib/checkResult.mjs +0 -16
- package/dist/lib/checkResult.mjs.map +0 -1
- package/dist/lib/claudeMdTemplate.mjs +0 -65
- package/dist/lib/claudeMdTemplate.mjs.map +0 -1
- package/dist/lib/createBuildConfig.mjs +0 -55
- package/dist/lib/createBuildConfig.mjs.map +0 -1
- package/dist/lib/defaultBuildConfig.mjs +0 -23
- package/dist/lib/defaultBuildConfig.mjs.map +0 -1
- package/dist/lib/deleteGlob.mjs +0 -13
- package/dist/lib/deleteGlob.mjs.map +0 -1
- package/dist/lib/dependencies/DuplicateDetector.mjs +0 -81
- package/dist/lib/dependencies/DuplicateDetector.mjs.map +0 -1
- package/dist/lib/dependencies/detectDuplicateDependencies.mjs +0 -164
- package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +0 -1
- package/dist/lib/dependencies/index.mjs +0 -165
- package/dist/lib/dependencies/index.mjs.map +0 -1
- package/dist/lib/file/ReadFileSyncOptions.mjs +0 -6
- package/dist/lib/file/ReadFileSyncOptions.mjs.map +0 -1
- package/dist/lib/file/constants.mjs +0 -8
- package/dist/lib/file/constants.mjs.map +0 -1
- package/dist/lib/file/fileLines.mjs +0 -32
- package/dist/lib/file/fileLines.mjs.map +0 -1
- package/dist/lib/file/index.mjs +0 -42
- package/dist/lib/file/index.mjs.map +0 -1
- package/dist/lib/file/tryReadFileSync.mjs +0 -14
- package/dist/lib/file/tryReadFileSync.mjs.map +0 -1
- package/dist/lib/generateIgnoreFiles.mjs +0 -84
- package/dist/lib/generateIgnoreFiles.mjs.map +0 -1
- package/dist/lib/generateReadmeFiles.mjs +0 -257
- package/dist/lib/generateReadmeFiles.mjs.map +0 -1
- package/dist/lib/gitignoreTemplate.mjs +0 -12
- package/dist/lib/gitignoreTemplate.mjs.map +0 -1
- package/dist/lib/jsonFormatters.mjs +0 -11
- package/dist/lib/jsonFormatters.mjs.map +0 -1
- package/dist/lib/loadConfig.mjs +0 -24
- package/dist/lib/loadConfig.mjs.map +0 -1
- package/dist/lib/parsedPackageJSON.mjs +0 -11
- package/dist/lib/parsedPackageJSON.mjs.map +0 -1
- package/dist/lib/processEx.mjs +0 -36
- package/dist/lib/processEx.mjs.map +0 -1
- package/dist/lib/runSteps.mjs +0 -95
- package/dist/lib/runSteps.mjs.map +0 -1
- package/dist/lib/runStepsAsync.mjs +0 -113
- package/dist/lib/runStepsAsync.mjs.map +0 -1
- package/dist/lib/runXy.mjs +0 -103
- package/dist/lib/runXy.mjs.map +0 -1
- package/dist/lib/runXyWithWarning.mjs +0 -13
- package/dist/lib/runXyWithWarning.mjs.map +0 -1
- package/dist/lib/safeExit.mjs +0 -61
- package/dist/lib/safeExit.mjs.map +0 -1
- package/dist/lib/string/empty.mjs +0 -8
- package/dist/lib/string/empty.mjs.map +0 -1
- package/dist/lib/string/index.mjs +0 -12
- package/dist/lib/string/index.mjs.map +0 -1
- package/dist/lib/string/union.mjs +0 -6
- package/dist/lib/string/union.mjs.map +0 -1
- package/dist/lib/tryRunLocalScript.mjs +0 -33
- package/dist/lib/tryRunLocalScript.mjs.map +0 -1
- package/dist/lib/withErrnoException.mjs +0 -13
- package/dist/lib/withErrnoException.mjs.map +0 -1
- package/dist/lib/withError.mjs +0 -8
- package/dist/lib/withError.mjs.map +0 -1
- package/dist/loadPackageConfig.mjs +0 -11
- package/dist/loadPackageConfig.mjs.map +0 -1
- package/dist/types.d.mjs +0 -1
- package/dist/types.d.mjs.map +0 -1
- package/dist/xy/build/buildCommand.mjs +0 -161
- package/dist/xy/build/buildCommand.mjs.map +0 -1
- package/dist/xy/build/compileCommand.mjs +0 -174
- package/dist/xy/build/compileCommand.mjs.map +0 -1
- package/dist/xy/build/compileOnlyCommand.mjs +0 -175
- package/dist/xy/build/compileOnlyCommand.mjs.map +0 -1
- package/dist/xy/build/copyAssetsCommand.mjs +0 -84
- package/dist/xy/build/copyAssetsCommand.mjs.map +0 -1
- package/dist/xy/build/index.mjs +0 -507
- package/dist/xy/build/index.mjs.map +0 -1
- package/dist/xy/build/rebuildCommand.mjs +0 -114
- package/dist/xy/build/rebuildCommand.mjs.map +0 -1
- package/dist/xy/build/recompileCommand.mjs +0 -204
- package/dist/xy/build/recompileCommand.mjs.map +0 -1
- package/dist/xy/common/claude/cleanCommand.mjs +0 -79
- package/dist/xy/common/claude/cleanCommand.mjs.map +0 -1
- package/dist/xy/common/claude/commandsCommand.mjs +0 -120
- package/dist/xy/common/claude/commandsCommand.mjs.map +0 -1
- package/dist/xy/common/claude/index.mjs +0 -546
- package/dist/xy/common/claude/index.mjs.map +0 -1
- package/dist/xy/common/claude/initCommand.mjs +0 -319
- package/dist/xy/common/claude/initCommand.mjs.map +0 -1
- package/dist/xy/common/claude/rulesCommand.mjs +0 -153
- package/dist/xy/common/claude/rulesCommand.mjs.map +0 -1
- package/dist/xy/common/claude/settingsCommand.mjs +0 -93
- package/dist/xy/common/claude/settingsCommand.mjs.map +0 -1
- package/dist/xy/common/claude/skillsCommand.mjs +0 -129
- package/dist/xy/common/claude/skillsCommand.mjs.map +0 -1
- package/dist/xy/common/cleanDocsCommand.mjs +0 -45
- package/dist/xy/common/cleanDocsCommand.mjs.map +0 -1
- package/dist/xy/common/deadCommand.mjs +0 -116
- package/dist/xy/common/deadCommand.mjs.map +0 -1
- package/dist/xy/common/genDocsCommand.mjs +0 -125
- package/dist/xy/common/genDocsCommand.mjs.map +0 -1
- package/dist/xy/common/gitignoreCommand.mjs +0 -158
- package/dist/xy/common/gitignoreCommand.mjs.map +0 -1
- package/dist/xy/common/gitlintCommand.mjs +0 -82
- package/dist/xy/common/gitlintCommand.mjs.map +0 -1
- package/dist/xy/common/licenseCommand.mjs +0 -100
- package/dist/xy/common/licenseCommand.mjs.map +0 -1
- package/dist/xy/common/npmignoreGenCommand.mjs +0 -98
- package/dist/xy/common/npmignoreGenCommand.mjs.map +0 -1
- package/dist/xy/common/readme/genCommand.mjs +0 -321
- package/dist/xy/common/readme/genCommand.mjs.map +0 -1
- package/dist/xy/common/readme/index.mjs +0 -361
- package/dist/xy/common/readme/index.mjs.map +0 -1
- package/dist/xy/common/readme/initCommand.mjs +0 -103
- package/dist/xy/common/readme/initCommand.mjs.map +0 -1
- package/dist/xy/common/retestCommand.mjs +0 -136
- package/dist/xy/common/retestCommand.mjs.map +0 -1
- package/dist/xy/common/testCommand.mjs +0 -130
- package/dist/xy/common/testCommand.mjs.map +0 -1
- package/dist/xy/lint/cycleCommand.mjs +0 -163
- package/dist/xy/lint/cycleCommand.mjs.map +0 -1
- package/dist/xy/lint/deplintCommand.mjs +0 -814
- package/dist/xy/lint/deplintCommand.mjs.map +0 -1
- package/dist/xy/lint/fixCommand.mjs +0 -168
- package/dist/xy/lint/fixCommand.mjs.map +0 -1
- package/dist/xy/lint/index.mjs +0 -1691
- package/dist/xy/lint/index.mjs.map +0 -1
- package/dist/xy/lint/knipCommand.mjs +0 -121
- package/dist/xy/lint/knipCommand.mjs.map +0 -1
- package/dist/xy/lint/lintCommand.mjs +0 -186
- package/dist/xy/lint/lintCommand.mjs.map +0 -1
- package/dist/xy/lint/lintlintCommand.mjs +0 -250
- package/dist/xy/lint/lintlintCommand.mjs.map +0 -1
- package/dist/xy/lint/packageLintCommand.mjs +0 -193
- package/dist/xy/lint/packageLintCommand.mjs.map +0 -1
- package/dist/xy/lint/publintCommand.mjs +0 -187
- package/dist/xy/lint/publintCommand.mjs.map +0 -1
- package/dist/xy/lint/relintCommand.mjs +0 -163
- package/dist/xy/lint/relintCommand.mjs.map +0 -1
- package/dist/xy/lint/sonarCommand.mjs +0 -121
- package/dist/xy/lint/sonarCommand.mjs.map +0 -1
- package/dist/xy/param.mjs +0 -8
- package/dist/xy/param.mjs.map +0 -1
- package/dist/xy/xyParseOptions.mjs +0 -70
- package/dist/xy/xyParseOptions.mjs.map +0 -1
package/dist/lib/index.mjs
CHANGED
|
@@ -1,343 +1,3 @@
|
|
|
1
|
-
// src/lib/checkResult.ts
|
|
2
|
-
import chalk from "chalk";
|
|
3
|
-
var checkResult = (name, result, level = "error", exitOnFail = false) => {
|
|
4
|
-
if (result) {
|
|
5
|
-
const exiting = exitOnFail ? "[Exiting Process]" : "[Continuing]";
|
|
6
|
-
const chalkFunc = level === "error" ? chalk.red : chalk.yellow;
|
|
7
|
-
console[level](chalkFunc(`${name} had ${result} failures ${exiting}`));
|
|
8
|
-
if (exitOnFail) {
|
|
9
|
-
process.exit(result);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
// src/lib/claudeMdTemplate.ts
|
|
15
|
-
import {
|
|
16
|
-
readdirSync,
|
|
17
|
-
readFileSync,
|
|
18
|
-
statSync
|
|
19
|
-
} from "fs";
|
|
20
|
-
import { createRequire } from "module";
|
|
21
|
-
import PATH from "path";
|
|
22
|
-
var require2 = createRequire(import.meta.url);
|
|
23
|
-
var packageRoot = PATH.dirname(require2.resolve("@xylabs/ts-scripts-yarn3/package.json"));
|
|
24
|
-
var templatesDir = PATH.resolve(packageRoot, "templates", "claude");
|
|
25
|
-
var XYLABS_RULES_PREFIX = "xylabs-";
|
|
26
|
-
var XYLABS_COMMANDS_PREFIX = "xy-";
|
|
27
|
-
var LEGACY_COMMANDS_PREFIX = "xylabs-";
|
|
28
|
-
var XYLABS_SKILLS_PREFIX = "xylabs-";
|
|
29
|
-
var claudeMdRuleTemplates = () => {
|
|
30
|
-
const rulesDir = PATH.resolve(templatesDir, "rules");
|
|
31
|
-
const files = readdirSync(rulesDir).filter((f) => f.startsWith(XYLABS_RULES_PREFIX) && f.endsWith(".md"));
|
|
32
|
-
const result = {};
|
|
33
|
-
for (const file of files) {
|
|
34
|
-
result[file] = readFileSync(PATH.resolve(rulesDir, file), "utf8");
|
|
35
|
-
}
|
|
36
|
-
return result;
|
|
37
|
-
};
|
|
38
|
-
var claudeCommandTemplates = () => {
|
|
39
|
-
const commandsDir = PATH.resolve(templatesDir, "commands");
|
|
40
|
-
const files = readdirSync(commandsDir).filter((f) => f.startsWith(XYLABS_COMMANDS_PREFIX) && f.endsWith(".md"));
|
|
41
|
-
const result = {};
|
|
42
|
-
for (const file of files) {
|
|
43
|
-
result[file] = readFileSync(PATH.resolve(commandsDir, file), "utf8");
|
|
44
|
-
}
|
|
45
|
-
return result;
|
|
46
|
-
};
|
|
47
|
-
var claudeSkillTemplates = () => {
|
|
48
|
-
const skillsDir = PATH.resolve(templatesDir, "skills");
|
|
49
|
-
const dirs = readdirSync(skillsDir).filter(
|
|
50
|
-
(f) => f.startsWith(XYLABS_SKILLS_PREFIX) && statSync(PATH.resolve(skillsDir, f)).isDirectory()
|
|
51
|
-
);
|
|
52
|
-
const result = {};
|
|
53
|
-
for (const dir of dirs) {
|
|
54
|
-
const dirPath = PATH.resolve(skillsDir, dir);
|
|
55
|
-
const files = readdirSync(dirPath, { recursive: true, encoding: "utf8" });
|
|
56
|
-
result[dir] = {};
|
|
57
|
-
for (const file of files) {
|
|
58
|
-
if (statSync(PATH.resolve(dirPath, file)).isFile()) {
|
|
59
|
-
result[dir][file] = readFileSync(PATH.resolve(dirPath, file), "utf8");
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return result;
|
|
64
|
-
};
|
|
65
|
-
var claudeMdProjectTemplate = () => readFileSync(PATH.resolve(templatesDir, "CLAUDE-project.md"), "utf8");
|
|
66
|
-
var claudeMdLocalTemplate = () => readFileSync(PATH.resolve(templatesDir, "CLAUDE-local.md"), "utf8");
|
|
67
|
-
|
|
68
|
-
// src/lib/createBuildConfig.ts
|
|
69
|
-
import { readFileSync as readFileSync2 } from "fs";
|
|
70
|
-
|
|
71
|
-
// src/lib/defaultBuildConfig.ts
|
|
72
|
-
var defaultBuildConfig = {
|
|
73
|
-
compilerOptions: {
|
|
74
|
-
rootDir: "src",
|
|
75
|
-
rootDirs: ["package.json"]
|
|
76
|
-
},
|
|
77
|
-
exclude: [
|
|
78
|
-
"**/build",
|
|
79
|
-
"**/dist",
|
|
80
|
-
"**/node_modules",
|
|
81
|
-
"**/*.spec.*",
|
|
82
|
-
"**/*.spec",
|
|
83
|
-
"**/*.stories.*",
|
|
84
|
-
"**/*.example.*",
|
|
85
|
-
"**/spec/*",
|
|
86
|
-
"**/stories/*"
|
|
87
|
-
],
|
|
88
|
-
include: ["src"]
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
// src/lib/createBuildConfig.ts
|
|
92
|
-
var getGeneralTypescriptConfig = (location) => {
|
|
93
|
-
let generalConfig;
|
|
94
|
-
try {
|
|
95
|
-
generalConfig = readFileSync2(`${location}/tsconfig.json`, { encoding: "utf8" });
|
|
96
|
-
} catch {
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
99
|
-
return JSON.parse(generalConfig);
|
|
100
|
-
};
|
|
101
|
-
var createBuildConfig = (location, module, target, outDirSuffix) => {
|
|
102
|
-
const generalConfigObject = getGeneralTypescriptConfig(location);
|
|
103
|
-
if (generalConfigObject === false) {
|
|
104
|
-
return void 0;
|
|
105
|
-
}
|
|
106
|
-
return {
|
|
107
|
-
...generalConfigObject,
|
|
108
|
-
compilerOptions: {
|
|
109
|
-
...defaultBuildConfig.compilerOptions,
|
|
110
|
-
...generalConfigObject.compilerOptions,
|
|
111
|
-
module,
|
|
112
|
-
outDir: `./${generalConfigObject.compilerOptions?.outDir ?? "dist"}/${outDirSuffix}`,
|
|
113
|
-
target
|
|
114
|
-
},
|
|
115
|
-
exclude: [...generalConfigObject.exclude ?? [], ...defaultBuildConfig.exclude],
|
|
116
|
-
include: [...generalConfigObject.include ?? [], ...defaultBuildConfig.include]
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
// src/lib/deleteGlob.ts
|
|
121
|
-
import fs from "fs";
|
|
122
|
-
import { glob } from "glob";
|
|
123
|
-
var deleteGlob = (globPath) => {
|
|
124
|
-
const files = glob.sync(globPath);
|
|
125
|
-
for (const file of files) {
|
|
126
|
-
fs.rmSync(file, { recursive: true, force: true });
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
// src/lib/dependencies/detectDuplicateDependencies.ts
|
|
131
|
-
import { execSync } from "child_process";
|
|
132
|
-
|
|
133
|
-
// src/lib/processEx.ts
|
|
134
|
-
import chalk2 from "chalk";
|
|
135
|
-
|
|
136
|
-
// src/lib/withError.ts
|
|
137
|
-
var withError = (ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
|
|
138
|
-
return predicate(ex) ? closure(ex) : void 0;
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
// src/lib/withErrnoException.ts
|
|
142
|
-
var withErrnoException = (ex, closure) => {
|
|
143
|
-
return withError(ex, closure, (ex2) => ex2.errno !== void 0);
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
// src/lib/processEx.ts
|
|
147
|
-
var processEx = (ex) => {
|
|
148
|
-
const error = typeof ex === "string" ? new Error(ex) : ex;
|
|
149
|
-
const exitCode = withErrnoException(error, (error2) => {
|
|
150
|
-
if (error2.code === "ENOENT") {
|
|
151
|
-
console.error(chalk2.red(`'${error2.path}' not found.`));
|
|
152
|
-
} else {
|
|
153
|
-
console.error(chalk2.red(`Errno: ${error2.code}`));
|
|
154
|
-
}
|
|
155
|
-
return error2.errno ?? -1;
|
|
156
|
-
}) ?? withError(error, (error2) => {
|
|
157
|
-
console.error(chalk2.red(`${error2.name}: ${error2.message}`));
|
|
158
|
-
return -1;
|
|
159
|
-
}) ?? (() => {
|
|
160
|
-
console.error(chalk2.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`));
|
|
161
|
-
return -1;
|
|
162
|
-
})();
|
|
163
|
-
process.exit(process.exitCode ?? exitCode);
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
// src/lib/safeExit.ts
|
|
167
|
-
var safeExit = (func, exitOnFail = true) => {
|
|
168
|
-
try {
|
|
169
|
-
const result = func();
|
|
170
|
-
if (result && exitOnFail) {
|
|
171
|
-
process.exit(result);
|
|
172
|
-
}
|
|
173
|
-
return result;
|
|
174
|
-
} catch (ex) {
|
|
175
|
-
return processEx(ex);
|
|
176
|
-
}
|
|
177
|
-
};
|
|
178
|
-
var safeExitAsync = async (func, exitOnFail = true) => {
|
|
179
|
-
try {
|
|
180
|
-
const result = await func();
|
|
181
|
-
if (result && exitOnFail) {
|
|
182
|
-
process.exit(result);
|
|
183
|
-
}
|
|
184
|
-
return result;
|
|
185
|
-
} catch (ex) {
|
|
186
|
-
return processEx(ex);
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
// src/lib/dependencies/DuplicateDetector.ts
|
|
191
|
-
import { EOL } from "os";
|
|
192
|
-
import chalk3 from "chalk";
|
|
193
|
-
|
|
194
|
-
// src/lib/jsonFormatters.ts
|
|
195
|
-
var multiLineToJSONArray = (output) => {
|
|
196
|
-
const withCommas = output.replaceAll("\r\n", "").replaceAll("\n", ",");
|
|
197
|
-
const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1));
|
|
198
|
-
const collection = `[${cleanCollection}]`;
|
|
199
|
-
return JSON.parse(collection);
|
|
200
|
-
};
|
|
201
|
-
|
|
202
|
-
// src/lib/dependencies/DuplicateDetector.ts
|
|
203
|
-
var trimVirtualMeta = (value) => {
|
|
204
|
-
const virtualParts = value.split("virtual:");
|
|
205
|
-
if (virtualParts.length > 1) {
|
|
206
|
-
const hashParts = virtualParts[1].split("#");
|
|
207
|
-
return virtualParts[0] + hashParts[1];
|
|
208
|
-
} else {
|
|
209
|
-
return value;
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
var trimObjectDependencyVirtualMeta = (obj) => {
|
|
213
|
-
const resultObj = {};
|
|
214
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
215
|
-
resultObj[trimVirtualMeta(key)] = {
|
|
216
|
-
descriptor: trimVirtualMeta(value.descriptor),
|
|
217
|
-
locator: trimVirtualMeta(value.locator)
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
return resultObj;
|
|
221
|
-
};
|
|
222
|
-
var trimDependencyVirtualMeta = (dependencies) => {
|
|
223
|
-
return dependencies.map((dependency) => {
|
|
224
|
-
return { children: trimObjectDependencyVirtualMeta(dependency.children), value: trimVirtualMeta(dependency.value) };
|
|
225
|
-
});
|
|
226
|
-
};
|
|
227
|
-
var DuplicateDetector = class {
|
|
228
|
-
dependency;
|
|
229
|
-
dependencyEntries;
|
|
230
|
-
constructor(output, dependency) {
|
|
231
|
-
this.dependency = dependency;
|
|
232
|
-
this.dependencyEntries = trimDependencyVirtualMeta(multiLineToJSONArray(output));
|
|
233
|
-
}
|
|
234
|
-
detect() {
|
|
235
|
-
const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency));
|
|
236
|
-
if (result.duplicateVersions.length > 0) {
|
|
237
|
-
console.log(chalk3.yellow(`${EOL}Duplicates found for: ${this.dependency}`));
|
|
238
|
-
const duplicateVersions = result.duplicateVersions.toString().replaceAll(",", `${EOL} `);
|
|
239
|
-
console.log(chalk3.grey(` ${duplicateVersions}`, EOL));
|
|
240
|
-
return 1;
|
|
241
|
-
} else {
|
|
242
|
-
console.log(`${this.dependency} - OK`);
|
|
243
|
-
return 0;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
detectReducer(acc, entry) {
|
|
247
|
-
const version = Object.entries(entry.children).map(([k]) => k)[0];
|
|
248
|
-
if (!acc.currentVersion) {
|
|
249
|
-
acc.currentVersion = version;
|
|
250
|
-
return acc;
|
|
251
|
-
}
|
|
252
|
-
if (acc.currentVersion && acc.currentVersion !== version && !version.includes("@virtual:")) {
|
|
253
|
-
if (acc.duplicateVersions.length === 0) {
|
|
254
|
-
acc.duplicateVersions.push(acc.currentVersion);
|
|
255
|
-
}
|
|
256
|
-
acc.duplicateVersions.push(version);
|
|
257
|
-
acc.duplicateVersions = [...new Set(acc.duplicateVersions)];
|
|
258
|
-
}
|
|
259
|
-
return acc;
|
|
260
|
-
}
|
|
261
|
-
resultsFactory = (dependency) => ({
|
|
262
|
-
currentVersion: void 0,
|
|
263
|
-
dependency,
|
|
264
|
-
duplicateVersions: []
|
|
265
|
-
});
|
|
266
|
-
};
|
|
267
|
-
|
|
268
|
-
// src/lib/dependencies/detectDuplicateDependencies.ts
|
|
269
|
-
var detectDuplicateDependencies = (depsFromPackageJSON, DefaultDependencies) => {
|
|
270
|
-
let exitCode = 0;
|
|
271
|
-
const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies;
|
|
272
|
-
return safeExit(() => {
|
|
273
|
-
if (dependencies) {
|
|
274
|
-
for (const dependency of dependencies) {
|
|
275
|
-
let output;
|
|
276
|
-
try {
|
|
277
|
-
const cmd = `yarn why ${dependency} --json`;
|
|
278
|
-
output = execSync(cmd).toString();
|
|
279
|
-
} catch (e) {
|
|
280
|
-
console.error(`Error running yarn why: ${e}`);
|
|
281
|
-
exitCode = 1;
|
|
282
|
-
continue;
|
|
283
|
-
}
|
|
284
|
-
if (output) {
|
|
285
|
-
exitCode = new DuplicateDetector(output, dependency).detect();
|
|
286
|
-
} else {
|
|
287
|
-
console.log(`${dependency} - N/A`);
|
|
288
|
-
if (depsFromPackageJSON) {
|
|
289
|
-
exitCode = 1;
|
|
290
|
-
console.log(`\u{1F6A8} Library ${dependency} was requested in package.json but not found`);
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
return exitCode;
|
|
295
|
-
} else {
|
|
296
|
-
console.log("\u{1F6A8} No dependencies where passed");
|
|
297
|
-
return exitCode;
|
|
298
|
-
}
|
|
299
|
-
});
|
|
300
|
-
};
|
|
301
|
-
|
|
302
|
-
// src/lib/file/constants.ts
|
|
303
|
-
var WINDOWS_NEWLINE_REGEX = /\r\n/g;
|
|
304
|
-
var CROSS_PLATFORM_NEWLINE = "\n";
|
|
305
|
-
|
|
306
|
-
// src/lib/file/fileLines.ts
|
|
307
|
-
import {
|
|
308
|
-
existsSync,
|
|
309
|
-
readFileSync as readFileSync3,
|
|
310
|
-
writeFileSync
|
|
311
|
-
} from "fs";
|
|
312
|
-
|
|
313
|
-
// src/lib/string/empty.ts
|
|
314
|
-
var empty = (value) => value?.trim().length === 0;
|
|
315
|
-
var notEmpty = (value) => !empty(value);
|
|
316
|
-
|
|
317
|
-
// src/lib/string/union.ts
|
|
318
|
-
var union = (a, b) => /* @__PURE__ */ new Set([...new Set(a), ...new Set(b)]);
|
|
319
|
-
|
|
320
|
-
// src/lib/file/ReadFileSyncOptions.ts
|
|
321
|
-
var defaultReadFileSyncOptions = { encoding: "utf8" };
|
|
322
|
-
|
|
323
|
-
// src/lib/file/fileLines.ts
|
|
324
|
-
var readLines = (uri, options = defaultReadFileSyncOptions) => existsSync(uri) ? readFileSync3(uri, options).replace(WINDOWS_NEWLINE_REGEX, CROSS_PLATFORM_NEWLINE).split(CROSS_PLATFORM_NEWLINE) : [];
|
|
325
|
-
var readNonEmptyLines = (uri, options = defaultReadFileSyncOptions) => readLines(uri, options).filter(notEmpty);
|
|
326
|
-
var writeLines = (uri, lines, options = defaultReadFileSyncOptions) => {
|
|
327
|
-
const existing = existsSync(uri) ? readFileSync3(uri, options) : void 0;
|
|
328
|
-
const desired = lines.join(CROSS_PLATFORM_NEWLINE);
|
|
329
|
-
if (existing !== desired) writeFileSync(uri, desired, options);
|
|
330
|
-
};
|
|
331
|
-
|
|
332
|
-
// src/lib/file/tryReadFileSync.ts
|
|
333
|
-
import { existsSync as existsSync2, readFileSync as readFileSync4 } from "fs";
|
|
334
|
-
var tryReadFileSync = (uri, options = defaultReadFileSyncOptions) => {
|
|
335
|
-
return existsSync2(uri) ? readFileSync4(uri, options) : void 0;
|
|
336
|
-
};
|
|
337
|
-
|
|
338
|
-
// src/lib/generateIgnoreFiles.ts
|
|
339
|
-
import chalk4 from "chalk";
|
|
340
|
-
|
|
341
1
|
// src/lib/yarn/isYarnVersionOrGreater.ts
|
|
342
2
|
import { spawnSync } from "child_process";
|
|
343
3
|
var isYarnVersionOrGreater = (major, minor, patch) => {
|
|
@@ -371,472 +31,8 @@ var yarnWorkspace = (pkg) => {
|
|
|
371
31
|
if (!workspace) throw new Error(`Workspace ${pkg} not found`);
|
|
372
32
|
return workspace;
|
|
373
33
|
};
|
|
374
|
-
|
|
375
|
-
// src/lib/yarn/yarnInitCwd.ts
|
|
376
|
-
var INIT_CWD = () => {
|
|
377
|
-
if (!process.env.INIT_CWD) console.error("Missing INIT_CWD");
|
|
378
|
-
return process.env.INIT_CWD;
|
|
379
|
-
};
|
|
380
|
-
|
|
381
|
-
// src/lib/generateIgnoreFiles.ts
|
|
382
|
-
var localeCompare = (a, b) => a.localeCompare(b);
|
|
383
|
-
var mergeEntries = (a, b) => [...union(a, b)].toSorted(localeCompare);
|
|
384
|
-
var generateIgnoreFiles = (filename, pkg) => {
|
|
385
|
-
console.log(chalk4.green(`Generate ${filename} Files`));
|
|
386
|
-
const cwd = INIT_CWD() ?? ".";
|
|
387
|
-
const workspaces = pkg ? [yarnWorkspace(pkg)] : yarnWorkspaces();
|
|
388
|
-
const readEntries = (location) => readNonEmptyLines(`${location}/${filename}`);
|
|
389
|
-
const writeEntries = (location, entries) => writeLines(`${location}/${filename}`, entries);
|
|
390
|
-
const results = workspaces.map(({ location, name }) => {
|
|
391
|
-
try {
|
|
392
|
-
writeEntries(location, mergeEntries(readEntries(cwd), readEntries(location)));
|
|
393
|
-
return 0;
|
|
394
|
-
} catch (ex) {
|
|
395
|
-
const error = ex;
|
|
396
|
-
console.error(`Generate ${filename} Files [${name}] [${error.message}]`);
|
|
397
|
-
return 1;
|
|
398
|
-
}
|
|
399
|
-
});
|
|
400
|
-
const succeeded = results.every((result) => result === 0);
|
|
401
|
-
return succeeded ? 0 : 1;
|
|
402
|
-
};
|
|
403
|
-
|
|
404
|
-
// src/lib/generateReadmeFiles.ts
|
|
405
|
-
import { execSync as execSync2 } from "child_process";
|
|
406
|
-
import FS, { readFileSync as readFileSync5 } from "fs";
|
|
407
|
-
import {
|
|
408
|
-
mkdir,
|
|
409
|
-
readFile,
|
|
410
|
-
writeFile
|
|
411
|
-
} from "fs/promises";
|
|
412
|
-
import { createRequire as createRequire2 } from "module";
|
|
413
|
-
import PATH2 from "path";
|
|
414
|
-
import { createInterface } from "readline";
|
|
415
|
-
import chalk5 from "chalk";
|
|
416
|
-
var require3 = createRequire2(import.meta.url);
|
|
417
|
-
var packageRoot2 = PATH2.dirname(require3.resolve("@xylabs/ts-scripts-yarn3/package.json"));
|
|
418
|
-
var readmeTemplatesDir = PATH2.resolve(packageRoot2, "templates", "readme");
|
|
419
|
-
function fillTemplate(template, data) {
|
|
420
|
-
const additionalData = { ...data, safeName: data.name.replaceAll("/", "__").replaceAll("@", "") };
|
|
421
|
-
return template.replaceAll(/\{\{(.*?)\}\}/g, (_, key) => additionalData[key.trim()] ?? "");
|
|
422
|
-
}
|
|
423
|
-
function generateTypedoc(packageLocation, entryPoints) {
|
|
424
|
-
const tempDir = PATH2.join(packageLocation, ".temp-typedoc");
|
|
425
|
-
try {
|
|
426
|
-
if (!FS.existsSync(tempDir)) {
|
|
427
|
-
FS.mkdirSync(tempDir, { recursive: true });
|
|
428
|
-
}
|
|
429
|
-
const typedocConfig = {
|
|
430
|
-
disableSources: true,
|
|
431
|
-
entryPointStrategy: "expand",
|
|
432
|
-
entryPoints: entryPoints.map((ep) => PATH2.resolve(packageLocation, ep)),
|
|
433
|
-
excludeExternals: true,
|
|
434
|
-
excludeInternal: true,
|
|
435
|
-
excludePrivate: true,
|
|
436
|
-
githubPages: false,
|
|
437
|
-
hideBreadcrumbs: true,
|
|
438
|
-
hideGenerator: true,
|
|
439
|
-
hidePageTitle: true,
|
|
440
|
-
out: tempDir,
|
|
441
|
-
plugin: ["typedoc-plugin-markdown"],
|
|
442
|
-
readme: "none",
|
|
443
|
-
skipErrorChecking: true,
|
|
444
|
-
sort: ["source-order"],
|
|
445
|
-
theme: "markdown",
|
|
446
|
-
useCodeBlocks: true
|
|
447
|
-
};
|
|
448
|
-
const typedocJsonPath = PATH2.join(tempDir, "typedoc.json");
|
|
449
|
-
FS.writeFileSync(typedocJsonPath, JSON.stringify(typedocConfig, null, 2));
|
|
450
|
-
try {
|
|
451
|
-
execSync2(`npx typedoc --options ${typedocJsonPath}`, {
|
|
452
|
-
cwd: process.cwd(),
|
|
453
|
-
stdio: ["ignore", "pipe", "pipe"]
|
|
454
|
-
});
|
|
455
|
-
} catch {
|
|
456
|
-
return "";
|
|
457
|
-
}
|
|
458
|
-
return consolidateMarkdown(tempDir);
|
|
459
|
-
} catch {
|
|
460
|
-
return "";
|
|
461
|
-
} finally {
|
|
462
|
-
try {
|
|
463
|
-
FS.rmSync(tempDir, { force: true, recursive: true });
|
|
464
|
-
} catch {
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
function consolidateMarkdown(tempDir) {
|
|
469
|
-
let consolidated = "## Reference\n\n";
|
|
470
|
-
const mainReadmePath = PATH2.join(tempDir, "README.md");
|
|
471
|
-
if (FS.existsSync(mainReadmePath)) {
|
|
472
|
-
const mainContent = FS.readFileSync(mainReadmePath, "utf8").replace(/^---(.|\n)*?---\n/, "").replace(/^# .+\n/, "").replaceAll(/\]\((.+?)\.md\)/g, "](#$1)");
|
|
473
|
-
consolidated += mainContent + "\n\n";
|
|
474
|
-
}
|
|
475
|
-
consolidated += processDirectory(tempDir);
|
|
476
|
-
return consolidated.replaceAll(/\n\n\n+/g, "\n\n").replaceAll(/^#### /gm, "### ").replaceAll(/^##### /gm, "#### ").replaceAll(/^###### /gm, "##### ");
|
|
477
|
-
}
|
|
478
|
-
function processDirectory(dir, level = 0) {
|
|
479
|
-
const indent = " ".repeat(level);
|
|
480
|
-
let content = "";
|
|
481
|
-
try {
|
|
482
|
-
const items = FS.readdirSync(dir, { withFileTypes: true });
|
|
483
|
-
for (const item of items) {
|
|
484
|
-
if (item.isDirectory()) continue;
|
|
485
|
-
if (item.name === "README.md" || !item.name.endsWith(".md")) continue;
|
|
486
|
-
const fileContent = FS.readFileSync(PATH2.join(dir, item.name), "utf8").replace(/^---(.|\n)*?---\n/, "");
|
|
487
|
-
const moduleName = item.name.replace(".md", "");
|
|
488
|
-
content += `
|
|
489
|
-
|
|
490
|
-
${indent}### <a id="${moduleName}"></a>${moduleName}
|
|
491
|
-
|
|
492
|
-
`;
|
|
493
|
-
content += fileContent.replace(/^# .+\n/, "").replaceAll(/\]\((.+?)\.md\)/g, "](#$1)");
|
|
494
|
-
}
|
|
495
|
-
for (const item of items) {
|
|
496
|
-
if (!item.isDirectory()) continue;
|
|
497
|
-
if (item.name === "spec" || item.name.includes(".spec")) continue;
|
|
498
|
-
content += `
|
|
499
|
-
|
|
500
|
-
${indent}### ${item.name}
|
|
501
|
-
`;
|
|
502
|
-
content += processDirectory(PATH2.join(dir, item.name), level + 1);
|
|
503
|
-
}
|
|
504
|
-
} catch {
|
|
505
|
-
}
|
|
506
|
-
return content;
|
|
507
|
-
}
|
|
508
|
-
function askConfirmation(question) {
|
|
509
|
-
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
510
|
-
return new Promise((resolve) => {
|
|
511
|
-
rl.question(question, (answer) => {
|
|
512
|
-
rl.close();
|
|
513
|
-
resolve(answer.toLowerCase() === "y" || answer.toLowerCase() === "yes");
|
|
514
|
-
});
|
|
515
|
-
});
|
|
516
|
-
}
|
|
517
|
-
var DEFAULT_README_TEMPLATE = readFileSync5(PATH2.resolve(readmeTemplatesDir, "README.template.md"), "utf8");
|
|
518
|
-
var DEFAULT_README_BODY = readFileSync5(PATH2.resolve(readmeTemplatesDir, "README.body.md"), "utf8");
|
|
519
|
-
function applyLogoConfig(template, logoUrl, logoLinkUrl) {
|
|
520
|
-
let result = template;
|
|
521
|
-
if (logoUrl) {
|
|
522
|
-
result = result.replace(/\[logo]: .+/, `[logo]: ${logoUrl}`);
|
|
523
|
-
if (logoLinkUrl) {
|
|
524
|
-
result = result.replace(/\[!\[logo]\[]][^)]*\)/, `[![logo][]](${logoLinkUrl})`);
|
|
525
|
-
}
|
|
526
|
-
} else {
|
|
527
|
-
result = result.replace(/\[!\[logo]\[]][^\n]*\n*/, "");
|
|
528
|
-
result = result.replace(/\[logo]: [^\n]*\n?/, "");
|
|
529
|
-
}
|
|
530
|
-
return result;
|
|
531
|
-
}
|
|
532
|
-
function resolveTemplatePath(templatePath) {
|
|
533
|
-
const cwd = INIT_CWD() ?? ".";
|
|
534
|
-
return templatePath ?? PATH2.join(cwd, ".xy", "README.template.md");
|
|
535
|
-
}
|
|
536
|
-
async function loadOrCreateTemplate(resolvedTemplatePath) {
|
|
537
|
-
try {
|
|
538
|
-
const template = await readFile(resolvedTemplatePath, "utf8");
|
|
539
|
-
return { created: false, template };
|
|
540
|
-
} catch {
|
|
541
|
-
console.log(chalk5.yellow(`Template not found: ${resolvedTemplatePath}`));
|
|
542
|
-
const shouldCreate = await askConfirmation("Would you like to create a stock template? (y/N) ");
|
|
543
|
-
if (!shouldCreate) {
|
|
544
|
-
throw new Error("Template creation declined");
|
|
545
|
-
}
|
|
546
|
-
const template = DEFAULT_README_TEMPLATE;
|
|
547
|
-
await scaffoldTemplate(resolvedTemplatePath, template);
|
|
548
|
-
return { created: true, template };
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
async function scaffoldTemplate(resolvedTemplatePath, template) {
|
|
552
|
-
const xyDir = PATH2.dirname(resolvedTemplatePath);
|
|
553
|
-
await mkdir(xyDir, { recursive: true });
|
|
554
|
-
await writeFile(resolvedTemplatePath, template);
|
|
555
|
-
console.log(chalk5.green(`Created template: ${resolvedTemplatePath}`));
|
|
556
|
-
const bodyPath = PATH2.join(xyDir, "README.body.md");
|
|
557
|
-
await writeFile(bodyPath, DEFAULT_README_BODY);
|
|
558
|
-
console.log(chalk5.green(`Created body template: ${bodyPath}`));
|
|
559
|
-
}
|
|
560
|
-
async function resolveBody(location, defaultBody) {
|
|
561
|
-
const localBodyPath = PATH2.join(location, "README.body.md");
|
|
562
|
-
try {
|
|
563
|
-
return await readFile(localBodyPath, "utf8");
|
|
564
|
-
} catch {
|
|
565
|
-
return defaultBody;
|
|
566
|
-
}
|
|
567
|
-
}
|
|
568
|
-
async function generateReadmeForWorkspace(location, name, template, defaultBody, typedoc, verbose) {
|
|
569
|
-
try {
|
|
570
|
-
const pkgJsonPath = PATH2.join(location, "package.json");
|
|
571
|
-
const pkgJson = JSON.parse(await readFile(pkgJsonPath, "utf8"));
|
|
572
|
-
const body = await resolveBody(location, defaultBody);
|
|
573
|
-
const typedocContent = typedoc ? generateTypedoc(location, ["src/index*.ts"]) : "";
|
|
574
|
-
const readmeContent = fillTemplate(template, {
|
|
575
|
-
...pkgJson,
|
|
576
|
-
body,
|
|
577
|
-
typedoc: typedocContent
|
|
578
|
-
});
|
|
579
|
-
await writeFile(PATH2.join(location, "README.md"), readmeContent);
|
|
580
|
-
if (verbose) console.log(chalk5.green(` ${name}`));
|
|
581
|
-
return true;
|
|
582
|
-
} catch (ex) {
|
|
583
|
-
const error = ex;
|
|
584
|
-
console.warn(chalk5.yellow(` Skipped ${location}: ${error.message}`));
|
|
585
|
-
return false;
|
|
586
|
-
}
|
|
587
|
-
}
|
|
588
|
-
async function generateReadmeFiles({
|
|
589
|
-
logoLinkUrl,
|
|
590
|
-
logoUrl,
|
|
591
|
-
pkg,
|
|
592
|
-
templatePath,
|
|
593
|
-
typedoc = false,
|
|
594
|
-
verbose = false
|
|
595
|
-
}) {
|
|
596
|
-
console.log(chalk5.green("Generate README Files"));
|
|
597
|
-
const resolvedTemplatePath = resolveTemplatePath(templatePath);
|
|
598
|
-
let template;
|
|
599
|
-
let templateCreated;
|
|
600
|
-
try {
|
|
601
|
-
({ template, created: templateCreated } = await loadOrCreateTemplate(resolvedTemplatePath));
|
|
602
|
-
} catch {
|
|
603
|
-
return 1;
|
|
604
|
-
}
|
|
605
|
-
template = applyLogoConfig(template, logoUrl, logoLinkUrl);
|
|
606
|
-
if (templateCreated) {
|
|
607
|
-
console.log(chalk5.green("Generating README files for all packages..."));
|
|
608
|
-
}
|
|
609
|
-
const xyDir = PATH2.dirname(resolvedTemplatePath);
|
|
610
|
-
const xyBodyPath = PATH2.join(xyDir, "README.body.md");
|
|
611
|
-
let defaultBody;
|
|
612
|
-
try {
|
|
613
|
-
defaultBody = await readFile(xyBodyPath, "utf8");
|
|
614
|
-
} catch {
|
|
615
|
-
defaultBody = DEFAULT_README_BODY;
|
|
616
|
-
}
|
|
617
|
-
const workspaces = pkg && !templateCreated ? [yarnWorkspace(pkg)] : yarnWorkspaces();
|
|
618
|
-
let failed = false;
|
|
619
|
-
for (const { location, name } of workspaces) {
|
|
620
|
-
const success = await generateReadmeForWorkspace(location, name, template, defaultBody, typedoc, verbose);
|
|
621
|
-
if (!success) failed = true;
|
|
622
|
-
}
|
|
623
|
-
return failed ? 1 : 0;
|
|
624
|
-
}
|
|
625
|
-
|
|
626
|
-
// src/lib/gitignoreTemplate.ts
|
|
627
|
-
import { readFileSync as readFileSync6 } from "fs";
|
|
628
|
-
import { createRequire as createRequire3 } from "module";
|
|
629
|
-
import PATH3 from "path";
|
|
630
|
-
var require4 = createRequire3(import.meta.url);
|
|
631
|
-
var packageRoot3 = PATH3.dirname(require4.resolve("@xylabs/ts-scripts-yarn3/package.json"));
|
|
632
|
-
var templatesDir2 = PATH3.resolve(packageRoot3, "templates", "gitignore");
|
|
633
|
-
var gitignoreTemplate = () => readFileSync6(PATH3.resolve(templatesDir2, "template.gitignore"), "utf8");
|
|
634
|
-
|
|
635
|
-
// src/lib/loadConfig.ts
|
|
636
|
-
import chalk6 from "chalk";
|
|
637
|
-
import { cosmiconfig } from "cosmiconfig";
|
|
638
|
-
import { TypeScriptLoader } from "cosmiconfig-typescript-loader";
|
|
639
|
-
import deepmerge from "deepmerge";
|
|
640
|
-
var config;
|
|
641
|
-
var loadConfig = async (params) => {
|
|
642
|
-
if (config === void 0) {
|
|
643
|
-
const cosmicConfigResult = await cosmiconfig("xy", { cache: true, loaders: { ".ts": TypeScriptLoader() } }).search();
|
|
644
|
-
config = cosmicConfigResult?.config;
|
|
645
|
-
const configFilePath = cosmicConfigResult?.filepath;
|
|
646
|
-
if (configFilePath !== void 0) {
|
|
647
|
-
console.log(chalk6.green(`Loaded config from ${configFilePath}`));
|
|
648
|
-
if (config.verbose) {
|
|
649
|
-
console.log(chalk6.gray(`${JSON.stringify(config, null, 2)}`));
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
|
-
}
|
|
653
|
-
return deepmerge(config, params ?? {});
|
|
654
|
-
};
|
|
655
|
-
|
|
656
|
-
// src/lib/parsedPackageJSON.ts
|
|
657
|
-
import { readFileSync as readFileSync7 } from "fs";
|
|
658
|
-
var parsedPackageJSON = (path) => {
|
|
659
|
-
const pathToPackageJSON = path ?? process.env.npm_package_json ?? "";
|
|
660
|
-
const packageJSON = readFileSync7(pathToPackageJSON).toString();
|
|
661
|
-
return JSON.parse(packageJSON);
|
|
662
|
-
};
|
|
663
|
-
|
|
664
|
-
// src/lib/runSteps.ts
|
|
665
|
-
import { spawnSync as spawnSync3 } from "child_process";
|
|
666
|
-
import { existsSync as existsSync3 } from "fs";
|
|
667
|
-
import chalk7 from "chalk";
|
|
668
|
-
var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
669
|
-
return safeExit(() => {
|
|
670
|
-
const pkgName = process.env.npm_package_name;
|
|
671
|
-
console.log(chalk7.green(`${name} [${pkgName}]`));
|
|
672
|
-
let totalStatus = 0;
|
|
673
|
-
for (const [i, [command, args, config2]] of steps.entries()) {
|
|
674
|
-
if (messages?.[i]) {
|
|
675
|
-
console.log(chalk7.gray(messages?.[i]));
|
|
676
|
-
}
|
|
677
|
-
const argList = Array.isArray(args) ? args : args.split(" ");
|
|
678
|
-
if (command === "node" && !existsSync3(argList[0])) {
|
|
679
|
-
throw new Error(`File not found [${argList[0]}]`);
|
|
680
|
-
}
|
|
681
|
-
const status = spawnSync3(command, Array.isArray(args) ? args : args.split(" "), {
|
|
682
|
-
...config2,
|
|
683
|
-
encoding: "utf8",
|
|
684
|
-
env: { FORCE_COLOR: "3", ...process.env },
|
|
685
|
-
shell: true,
|
|
686
|
-
stdio: "inherit"
|
|
687
|
-
}).status ?? 0;
|
|
688
|
-
checkResult(name, status, "error", exitOnFail);
|
|
689
|
-
totalStatus += status ?? 0;
|
|
690
|
-
}
|
|
691
|
-
return totalStatus;
|
|
692
|
-
}, !!exitOnFail);
|
|
693
|
-
};
|
|
694
|
-
|
|
695
|
-
// src/lib/runStepsAsync.ts
|
|
696
|
-
import { spawn } from "child_process";
|
|
697
|
-
import { existsSync as existsSync4 } from "fs";
|
|
698
|
-
import chalk8 from "chalk";
|
|
699
|
-
var runStepAsync = (name, step, exitOnFail = true, message) => {
|
|
700
|
-
return new Promise((resolve) => {
|
|
701
|
-
const [command, args, config2] = step;
|
|
702
|
-
if (message) {
|
|
703
|
-
console.log(chalk8.gray(message));
|
|
704
|
-
}
|
|
705
|
-
const argList = Array.isArray(args) ? args : args.split(" ");
|
|
706
|
-
if (command === "node" && !existsSync4(argList[0])) {
|
|
707
|
-
throw new Error(`File not found [${argList[0]}]`);
|
|
708
|
-
}
|
|
709
|
-
spawn(command, Array.isArray(args) ? args : args.split(" "), {
|
|
710
|
-
...config2,
|
|
711
|
-
env: { FORCE_COLOR: "3", ...process.env },
|
|
712
|
-
shell: true,
|
|
713
|
-
stdio: "inherit"
|
|
714
|
-
}).on("close", (code) => {
|
|
715
|
-
if (code) {
|
|
716
|
-
console.error(
|
|
717
|
-
chalk8.red(
|
|
718
|
-
`Command Exited With Non-Zero Result [${chalk8.gray(code)}] | ${chalk8.yellow(command)} ${chalk8.white(
|
|
719
|
-
Array.isArray(args) ? args.join(" ") : args
|
|
720
|
-
)}`
|
|
721
|
-
)
|
|
722
|
-
);
|
|
723
|
-
checkResult(name, code, "error", exitOnFail);
|
|
724
|
-
resolve(code);
|
|
725
|
-
} else {
|
|
726
|
-
resolve(0);
|
|
727
|
-
}
|
|
728
|
-
});
|
|
729
|
-
});
|
|
730
|
-
};
|
|
731
|
-
var runStepsAsync = async (name, steps, exitOnFail = true, messages) => {
|
|
732
|
-
return await safeExitAsync(async () => {
|
|
733
|
-
const pkgName = process.env.npm_package_name;
|
|
734
|
-
console.log(chalk8.green(`${name} [${pkgName}]`));
|
|
735
|
-
let result = 0;
|
|
736
|
-
for (const [i, step] of steps.entries()) {
|
|
737
|
-
result += await runStepAsync(name, step, exitOnFail, messages?.[i]);
|
|
738
|
-
}
|
|
739
|
-
return result;
|
|
740
|
-
});
|
|
741
|
-
};
|
|
742
|
-
|
|
743
|
-
// src/lib/runXy.ts
|
|
744
|
-
var runXy = (command) => {
|
|
745
|
-
return runSteps(
|
|
746
|
-
`XY [${command}]`,
|
|
747
|
-
[["yarn", ["xy", command, ...process.argv.filter((value, index) => index > 1 ? value : void 0)]]]
|
|
748
|
-
);
|
|
749
|
-
};
|
|
750
|
-
|
|
751
|
-
// src/lib/runXyWithWarning.ts
|
|
752
|
-
import chalk9 from "chalk";
|
|
753
|
-
var runXyWithWarning = (command) => {
|
|
754
|
-
const commandString = `yarn ${command}`;
|
|
755
|
-
const commandXyString = `yarn xy ${command}`;
|
|
756
|
-
console.warn(chalk9.yellow(`WARNING: [${chalk9.white(commandString)}] is deprecated for XY Labs Scripts.`));
|
|
757
|
-
console.warn(chalk9.gray(`Did you mean [${chalk9.magenta(commandXyString)}]?`));
|
|
758
|
-
return 1;
|
|
759
|
-
};
|
|
760
|
-
|
|
761
|
-
// src/lib/tryRunLocalScript.ts
|
|
762
|
-
import { spawnSync as spawnSync4 } from "child_process";
|
|
763
|
-
import { readFileSync as readFileSync8 } from "fs";
|
|
764
|
-
import PATH4 from "path";
|
|
765
|
-
import chalk10 from "chalk";
|
|
766
|
-
function tryRunLocalScript(commandName) {
|
|
767
|
-
if (process.env.XY_LOCAL_SCRIPT === "1") return void 0;
|
|
768
|
-
const rootPkgPath = PATH4.resolve(process.cwd(), "package.json");
|
|
769
|
-
let rootPkg;
|
|
770
|
-
try {
|
|
771
|
-
rootPkg = JSON.parse(readFileSync8(rootPkgPath, "utf8"));
|
|
772
|
-
} catch {
|
|
773
|
-
return void 0;
|
|
774
|
-
}
|
|
775
|
-
if (!rootPkg.scripts?.[commandName]) return void 0;
|
|
776
|
-
console.log(chalk10.blue(`Delegating "${commandName}" to local script`));
|
|
777
|
-
const result = spawnSync4("yarn", ["run", commandName], {
|
|
778
|
-
cwd: process.cwd(),
|
|
779
|
-
encoding: "utf8",
|
|
780
|
-
env: {
|
|
781
|
-
FORCE_COLOR: "3",
|
|
782
|
-
...process.env,
|
|
783
|
-
XY_LOCAL_SCRIPT: "1"
|
|
784
|
-
},
|
|
785
|
-
shell: true,
|
|
786
|
-
stdio: "inherit"
|
|
787
|
-
});
|
|
788
|
-
return result.status ?? 1;
|
|
789
|
-
}
|
|
790
34
|
export {
|
|
791
|
-
CROSS_PLATFORM_NEWLINE,
|
|
792
|
-
DEFAULT_README_BODY,
|
|
793
|
-
DEFAULT_README_TEMPLATE,
|
|
794
|
-
DuplicateDetector,
|
|
795
|
-
INIT_CWD,
|
|
796
|
-
LEGACY_COMMANDS_PREFIX,
|
|
797
|
-
WINDOWS_NEWLINE_REGEX,
|
|
798
|
-
XYLABS_COMMANDS_PREFIX,
|
|
799
|
-
XYLABS_RULES_PREFIX,
|
|
800
|
-
XYLABS_SKILLS_PREFIX,
|
|
801
|
-
applyLogoConfig,
|
|
802
|
-
checkResult,
|
|
803
|
-
claudeCommandTemplates,
|
|
804
|
-
claudeMdLocalTemplate,
|
|
805
|
-
claudeMdProjectTemplate,
|
|
806
|
-
claudeMdRuleTemplates,
|
|
807
|
-
claudeSkillTemplates,
|
|
808
|
-
createBuildConfig,
|
|
809
|
-
defaultBuildConfig,
|
|
810
|
-
defaultReadFileSyncOptions,
|
|
811
|
-
deleteGlob,
|
|
812
|
-
detectDuplicateDependencies,
|
|
813
|
-
empty,
|
|
814
|
-
generateIgnoreFiles,
|
|
815
|
-
generateReadmeFiles,
|
|
816
|
-
gitignoreTemplate,
|
|
817
35
|
isYarnVersionOrGreater,
|
|
818
|
-
loadConfig,
|
|
819
|
-
multiLineToJSONArray,
|
|
820
|
-
notEmpty,
|
|
821
|
-
parsedPackageJSON,
|
|
822
|
-
processEx,
|
|
823
|
-
readLines,
|
|
824
|
-
readNonEmptyLines,
|
|
825
|
-
resolveTemplatePath,
|
|
826
|
-
runStepAsync,
|
|
827
|
-
runSteps,
|
|
828
|
-
runStepsAsync,
|
|
829
|
-
runXy,
|
|
830
|
-
runXyWithWarning,
|
|
831
|
-
safeExit,
|
|
832
|
-
safeExitAsync,
|
|
833
|
-
scaffoldTemplate,
|
|
834
|
-
tryReadFileSync,
|
|
835
|
-
tryRunLocalScript,
|
|
836
|
-
union,
|
|
837
|
-
withErrnoException,
|
|
838
|
-
withError,
|
|
839
|
-
writeLines,
|
|
840
36
|
yarnWorkspace,
|
|
841
37
|
yarnWorkspaces
|
|
842
38
|
};
|