@xylabs/toolchain 7.10.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/analyze.mjs +140 -0
- package/dist/actions/analyze.mjs.map +1 -0
- package/dist/actions/build.mjs +173 -0
- package/dist/actions/build.mjs.map +1 -0
- package/dist/actions/claude-check.mjs +199 -0
- package/dist/actions/claude-check.mjs.map +1 -0
- package/dist/actions/claude-clean.mjs +70 -0
- package/dist/actions/claude-clean.mjs.map +1 -0
- package/dist/actions/claude-commands.mjs +126 -0
- package/dist/actions/claude-commands.mjs.map +1 -0
- package/dist/actions/claude-rules.mjs +151 -0
- package/dist/actions/claude-rules.mjs.map +1 -0
- package/dist/actions/claude-settings.mjs +99 -0
- package/dist/actions/claude-settings.mjs.map +1 -0
- package/dist/actions/claude-skills.mjs +131 -0
- package/dist/actions/claude-skills.mjs.map +1 -0
- package/dist/actions/clean-docs.mjs +66 -0
- package/dist/actions/clean-docs.mjs.map +1 -0
- package/dist/actions/clean-eslint.mjs +47 -0
- package/dist/actions/clean-eslint.mjs.map +1 -0
- package/dist/actions/clean.mjs +166 -0
- package/dist/actions/clean.mjs.map +1 -0
- package/dist/actions/compile.mjs +184 -0
- package/dist/actions/compile.mjs.map +1 -0
- package/dist/actions/copy-assets.mjs +81 -0
- package/dist/actions/copy-assets.mjs.map +1 -0
- package/dist/actions/cycle.mjs +275 -0
- package/dist/actions/cycle.mjs.map +1 -0
- package/dist/actions/dead.mjs +119 -0
- package/dist/actions/dead.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/checkPackage.mjs +1556 -0
- package/dist/actions/deplint/checkPackage/checkPackage.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/checkPackageTypes.mjs +1 -0
- package/dist/actions/deplint/checkPackage/checkPackageTypes.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getMismatchedPeerDevVersions.mjs +77 -0
- package/dist/actions/deplint/checkPackage/getMismatchedPeerDevVersions.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs +158 -0
- package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs +125 -0
- package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getUnnecessaryPeerDependencies.mjs +207 -0
- package/dist/actions/deplint/checkPackage/getUnnecessaryPeerDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getUnsatisfiedPeerDependencies.mjs +318 -0
- package/dist/actions/deplint/checkPackage/getUnsatisfiedPeerDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs +163 -0
- package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getUnusedDevDependencies.mjs +408 -0
- package/dist/actions/deplint/checkPackage/getUnusedDevDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs +75 -0
- package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/getWorkspaceVersionProblems.mjs +128 -0
- package/dist/actions/deplint/checkPackage/getWorkspaceVersionProblems.mjs.map +1 -0
- package/dist/actions/deplint/checkPackage/index.mjs +1609 -0
- package/dist/actions/deplint/checkPackage/index.mjs.map +1 -0
- package/dist/actions/deplint/deplint.mjs +1840 -0
- package/dist/actions/deplint/deplint.mjs.map +1 -0
- package/dist/actions/deplint/engine.mjs +1736 -0
- package/dist/actions/deplint/engine.mjs.map +1 -0
- package/dist/actions/deplint/findFiles.mjs +39 -0
- package/dist/actions/deplint/findFiles.mjs.map +1 -0
- package/dist/actions/deplint/findFilesByGlob.mjs +14 -0
- package/dist/actions/deplint/findFilesByGlob.mjs.map +1 -0
- package/dist/actions/deplint/fixer.mjs +103 -0
- package/dist/actions/deplint/fixer.mjs.map +1 -0
- package/dist/actions/deplint/getBasePackageName.mjs +13 -0
- package/dist/actions/deplint/getBasePackageName.mjs.map +1 -0
- package/dist/actions/deplint/getCliReferencedPackagesFromFiles.mjs +140 -0
- package/dist/actions/deplint/getCliReferencedPackagesFromFiles.mjs.map +1 -0
- package/dist/actions/deplint/getDependenciesFromPackageJson.mjs +29 -0
- package/dist/actions/deplint/getDependenciesFromPackageJson.mjs.map +1 -0
- package/dist/actions/deplint/getExtendsFromTsconfigs.mjs +68 -0
- package/dist/actions/deplint/getExtendsFromTsconfigs.mjs.map +1 -0
- package/dist/actions/deplint/getExternalImportsFromFiles.mjs +143 -0
- package/dist/actions/deplint/getExternalImportsFromFiles.mjs.map +1 -0
- package/dist/actions/deplint/getImportsFromFile.mjs +85 -0
- package/dist/actions/deplint/getImportsFromFile.mjs.map +1 -0
- package/dist/actions/deplint/getRequiredPeerDependencies.mjs +37 -0
- package/dist/actions/deplint/getRequiredPeerDependencies.mjs.map +1 -0
- package/dist/actions/deplint/getScriptReferencedPackages.mjs +83 -0
- package/dist/actions/deplint/getScriptReferencedPackages.mjs.map +1 -0
- package/dist/actions/deplint/implicitDevDependencies.mjs +116 -0
- package/dist/actions/deplint/implicitDevDependencies.mjs.map +1 -0
- package/dist/actions/deplint/index.mjs +1848 -0
- package/dist/actions/deplint/index.mjs.map +1 -0
- package/dist/actions/deplint/packageEditor.mjs +82 -0
- package/dist/actions/deplint/packageEditor.mjs.map +1 -0
- package/dist/actions/deplint/packageJsonEditor.mjs +101 -0
- package/dist/actions/deplint/packageJsonEditor.mjs.map +1 -0
- package/dist/actions/deplint/reporters.mjs +36 -0
- package/dist/actions/deplint/reporters.mjs.map +1 -0
- package/dist/actions/deplint/rules.mjs +1223 -0
- package/dist/actions/deplint/rules.mjs.map +1 -0
- package/dist/actions/deplint/snapshot.mjs +372 -0
- package/dist/actions/deplint/snapshot.mjs.map +1 -0
- package/dist/actions/deplint/tsScriptsAliases.mjs +20 -0
- package/dist/actions/deplint/tsScriptsAliases.mjs.map +1 -0
- package/dist/actions/deplint/types.mjs +1 -0
- package/dist/actions/deplint/types.mjs.map +1 -0
- package/dist/actions/deploy.mjs +194 -0
- package/dist/actions/deploy.mjs.map +1 -0
- package/dist/actions/dupdeps.mjs +226 -0
- package/dist/actions/dupdeps.mjs.map +1 -0
- package/dist/actions/eject.mjs +142 -0
- package/dist/actions/eject.mjs.map +1 -0
- package/dist/actions/fix.mjs +359 -0
- package/dist/actions/fix.mjs.map +1 -0
- package/dist/actions/gen-docs.mjs +155 -0
- package/dist/actions/gen-docs.mjs.map +1 -0
- package/dist/actions/gitignore.mjs +159 -0
- package/dist/actions/gitignore.mjs.map +1 -0
- package/dist/actions/gitlint-fix.mjs +27 -0
- package/dist/actions/gitlint-fix.mjs.map +1 -0
- package/dist/actions/gitlint.mjs +48 -0
- package/dist/actions/gitlint.mjs.map +1 -0
- package/dist/actions/index.mjs +8259 -0
- package/dist/actions/index.mjs.map +1 -0
- package/dist/actions/knip.mjs +119 -0
- package/dist/actions/knip.mjs.map +1 -0
- package/dist/actions/license.mjs +92 -0
- package/dist/actions/license.mjs.map +1 -0
- package/dist/actions/lint-init.mjs +275 -0
- package/dist/actions/lint-init.mjs.map +1 -0
- package/dist/actions/lint.mjs +356 -0
- package/dist/actions/lint.mjs.map +1 -0
- package/dist/actions/lintNext.mjs +209 -0
- package/dist/actions/lintNext.mjs.map +1 -0
- package/dist/actions/lintlint.mjs +341 -0
- package/dist/actions/lintlint.mjs.map +1 -0
- package/dist/actions/npmignore-gen.mjs +90 -0
- package/dist/actions/npmignore-gen.mjs.map +1 -0
- package/dist/actions/orphan.mjs +110 -0
- package/dist/actions/orphan.mjs.map +1 -0
- package/dist/actions/package/clean-outputs.mjs +50 -0
- package/dist/actions/package/clean-outputs.mjs.map +1 -0
- package/dist/actions/package/clean-typescript.mjs +50 -0
- package/dist/actions/package/clean-typescript.mjs.map +1 -0
- package/dist/actions/package/clean.mjs +69 -0
- package/dist/actions/package/clean.mjs.map +1 -0
- package/dist/actions/package/compile/XyConfig.mjs +32 -0
- package/dist/actions/package/compile/XyConfig.mjs.map +1 -0
- package/dist/actions/package/compile/buildEntries.mjs +53 -0
- package/dist/actions/package/compile/buildEntries.mjs.map +1 -0
- package/dist/actions/package/compile/compile.mjs +439 -0
- package/dist/actions/package/compile/compile.mjs.map +1 -0
- package/dist/actions/package/compile/copyTypeFiles.mjs +34 -0
- package/dist/actions/package/compile/copyTypeFiles.mjs.map +1 -0
- package/dist/actions/package/compile/deepMerge.mjs +27 -0
- package/dist/actions/package/compile/deepMerge.mjs.map +1 -0
- package/dist/actions/package/compile/getCompilerOptions.mjs +12 -0
- package/dist/actions/package/compile/getCompilerOptions.mjs.map +1 -0
- package/dist/actions/package/compile/index.mjs +472 -0
- package/dist/actions/package/compile/index.mjs.map +1 -0
- package/dist/actions/package/compile/inputs.mjs +22 -0
- package/dist/actions/package/compile/inputs.mjs.map +1 -0
- package/dist/actions/package/compile/packageCompileTsc.mjs +93 -0
- package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -0
- package/dist/actions/package/compile/packageCompileTscTypes.mjs +92 -0
- package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -0
- package/dist/actions/package/compile/packageCompileTsup.mjs +402 -0
- package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -0
- package/dist/actions/package/copy-assets.mjs +69 -0
- package/dist/actions/package/copy-assets.mjs.map +1 -0
- package/dist/actions/package/cycle.mjs +62 -0
- package/dist/actions/package/cycle.mjs.map +1 -0
- package/dist/actions/package/gen-docs.mjs +137 -0
- package/dist/actions/package/gen-docs.mjs.map +1 -0
- package/dist/actions/package/index.mjs +1131 -0
- package/dist/actions/package/index.mjs.map +1 -0
- package/dist/actions/package/lint.mjs +87 -0
- package/dist/actions/package/lint.mjs.map +1 -0
- package/dist/actions/package/publint.mjs +336 -0
- package/dist/actions/package/publint.mjs.map +1 -0
- package/dist/actions/package/recompile.mjs +510 -0
- package/dist/actions/package/recompile.mjs.map +1 -0
- package/dist/actions/package-lint-deps.mjs +348 -0
- package/dist/actions/package-lint-deps.mjs.map +1 -0
- package/dist/actions/package-lint.mjs +774 -0
- package/dist/actions/package-lint.mjs.map +1 -0
- package/dist/actions/packman/clean.mjs +144 -0
- package/dist/actions/packman/clean.mjs.map +1 -0
- package/dist/actions/packman/convert.mjs +1331 -0
- package/dist/actions/packman/convert.mjs.map +1 -0
- package/dist/actions/packman/convertToPnpm.mjs +295 -0
- package/dist/actions/packman/convertToPnpm.mjs.map +1 -0
- package/dist/actions/packman/convertToYarn.mjs +307 -0
- package/dist/actions/packman/convertToYarn.mjs.map +1 -0
- package/dist/actions/packman/index.mjs +1493 -0
- package/dist/actions/packman/index.mjs.map +1 -0
- package/dist/actions/packman/lint.mjs +109 -0
- package/dist/actions/packman/lint.mjs.map +1 -0
- package/dist/actions/packman/rewriteScripts.mjs +52 -0
- package/dist/actions/packman/rewriteScripts.mjs.map +1 -0
- package/dist/actions/packman/rewriteSourceImports.mjs +60 -0
- package/dist/actions/packman/rewriteSourceImports.mjs.map +1 -0
- package/dist/actions/packman/swapTsScriptsDependency.mjs +57 -0
- package/dist/actions/packman/swapTsScriptsDependency.mjs.map +1 -0
- package/dist/actions/publint.mjs +748 -0
- package/dist/actions/publint.mjs.map +1 -0
- package/dist/actions/publish.mjs +208 -0
- package/dist/actions/publish.mjs.map +1 -0
- package/dist/actions/reactTest.mjs +142 -0
- package/dist/actions/reactTest.mjs.map +1 -0
- package/dist/actions/readme-gen.mjs +362 -0
- package/dist/actions/readme-gen.mjs.map +1 -0
- package/dist/actions/readme-init.mjs +89 -0
- package/dist/actions/readme-init.mjs.map +1 -0
- package/dist/actions/readme-lint.mjs +147 -0
- package/dist/actions/readme-lint.mjs.map +1 -0
- package/dist/actions/rebuild.mjs +143 -0
- package/dist/actions/rebuild.mjs.map +1 -0
- package/dist/actions/recompile.mjs +196 -0
- package/dist/actions/recompile.mjs.map +1 -0
- package/dist/actions/reinstall.mjs +283 -0
- package/dist/actions/reinstall.mjs.map +1 -0
- package/dist/actions/relint.mjs +355 -0
- package/dist/actions/relint.mjs.map +1 -0
- package/dist/actions/repo-init.mjs +217 -0
- package/dist/actions/repo-init.mjs.map +1 -0
- package/dist/actions/retest.mjs +150 -0
- package/dist/actions/retest.mjs.map +1 -0
- package/dist/actions/sitemap.mjs +121 -0
- package/dist/actions/sitemap.mjs.map +1 -0
- package/dist/actions/sonar.mjs +119 -0
- package/dist/actions/sonar.mjs.map +1 -0
- package/dist/actions/start.mjs +142 -0
- package/dist/actions/start.mjs.map +1 -0
- package/dist/actions/statics.mjs +225 -0
- package/dist/actions/statics.mjs.map +1 -0
- package/dist/actions/test.mjs +144 -0
- package/dist/actions/test.mjs.map +1 -0
- package/dist/actions/up.mjs +140 -0
- package/dist/actions/up.mjs.map +1 -0
- package/dist/actions/updo.mjs +533 -0
- package/dist/actions/updo.mjs.map +1 -0
- package/dist/actions/upplug.mjs +124 -0
- package/dist/actions/upplug.mjs.map +1 -0
- package/dist/actions/upyarn.mjs +119 -0
- package/dist/actions/upyarn.mjs.map +1 -0
- package/dist/actions/yarn3only.mjs +60 -0
- package/dist/actions/yarn3only.mjs.map +1 -0
- package/dist/bin/package/build-only.mjs +451 -0
- package/dist/bin/package/build-only.mjs.map +1 -0
- package/dist/bin/package/build.mjs +451 -0
- package/dist/bin/package/build.mjs.map +1 -0
- package/dist/bin/package/clean-outputs.mjs +50 -0
- package/dist/bin/package/clean-outputs.mjs.map +1 -0
- package/dist/bin/package/clean-typescript.mjs +50 -0
- package/dist/bin/package/clean-typescript.mjs.map +1 -0
- package/dist/bin/package/clean.mjs +75 -0
- package/dist/bin/package/clean.mjs.map +1 -0
- package/dist/bin/package/compile-only.mjs +447 -0
- package/dist/bin/package/compile-only.mjs.map +1 -0
- package/dist/bin/package/compile-tsup.mjs +409 -0
- package/dist/bin/package/compile-tsup.mjs.map +1 -0
- package/dist/bin/package/compile.mjs +451 -0
- package/dist/bin/package/compile.mjs.map +1 -0
- package/dist/bin/package/copy-assets-cjs.mjs +75 -0
- package/dist/bin/package/copy-assets-cjs.mjs.map +1 -0
- package/dist/bin/package/copy-assets-esm.mjs +75 -0
- package/dist/bin/package/copy-assets-esm.mjs.map +1 -0
- package/dist/bin/package/cycle.mjs +72 -0
- package/dist/bin/package/cycle.mjs.map +1 -0
- package/dist/bin/package/fix.mjs +97 -0
- package/dist/bin/package/fix.mjs.map +1 -0
- package/dist/bin/package/gen-docs.mjs +142 -0
- package/dist/bin/package/gen-docs.mjs.map +1 -0
- package/dist/bin/package/lint-verbose.mjs +97 -0
- package/dist/bin/package/lint-verbose.mjs.map +1 -0
- package/dist/bin/package/lint.mjs +97 -0
- package/dist/bin/package/lint.mjs.map +1 -0
- package/dist/bin/package/publint.mjs +423 -0
- package/dist/bin/package/publint.mjs.map +1 -0
- package/dist/bin/package/recompile.mjs +516 -0
- package/dist/bin/package/recompile.mjs.map +1 -0
- package/dist/bin/package/relint.mjs +97 -0
- package/dist/bin/package/relint.mjs.map +1 -0
- package/dist/bin/run-or-exec.mjs +20 -0
- package/dist/bin/run-or-exec.mjs.map +1 -0
- package/dist/bin/xy.mjs +8885 -0
- package/dist/bin/xy.mjs.map +1 -0
- package/dist/index.d.ts +1102 -0
- package/dist/index.mjs +9986 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lib/checkResult.mjs +16 -0
- package/dist/lib/checkResult.mjs.map +1 -0
- package/dist/lib/claudeMdTemplate.mjs +69 -0
- package/dist/lib/claudeMdTemplate.mjs.map +1 -0
- package/dist/lib/concurrency.mjs +38 -0
- package/dist/lib/concurrency.mjs.map +1 -0
- package/dist/lib/createBuildConfig.mjs +55 -0
- package/dist/lib/createBuildConfig.mjs.map +1 -0
- package/dist/lib/defaultBuildConfig.mjs +23 -0
- package/dist/lib/defaultBuildConfig.mjs.map +1 -0
- package/dist/lib/deleteGlob.mjs +13 -0
- package/dist/lib/deleteGlob.mjs.map +1 -0
- package/dist/lib/dependencies/DuplicateDetector.mjs +99 -0
- package/dist/lib/dependencies/DuplicateDetector.mjs.map +1 -0
- package/dist/lib/dependencies/detectDuplicateDependencies.mjs +203 -0
- package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +1 -0
- package/dist/lib/dependencies/index.mjs +281 -0
- package/dist/lib/dependencies/index.mjs.map +1 -0
- package/dist/lib/dependencies/workspaceCycles.mjs +79 -0
- package/dist/lib/dependencies/workspaceCycles.mjs.map +1 -0
- package/dist/lib/file/ReadFileSyncOptions.mjs +6 -0
- package/dist/lib/file/ReadFileSyncOptions.mjs.map +1 -0
- package/dist/lib/file/constants.mjs +8 -0
- package/dist/lib/file/constants.mjs.map +1 -0
- package/dist/lib/file/fileLines.mjs +32 -0
- package/dist/lib/file/fileLines.mjs.map +1 -0
- package/dist/lib/file/index.mjs +42 -0
- package/dist/lib/file/index.mjs.map +1 -0
- package/dist/lib/file/tryReadFileSync.mjs +14 -0
- package/dist/lib/file/tryReadFileSync.mjs.map +1 -0
- package/dist/lib/fillTemplate.mjs +8 -0
- package/dist/lib/fillTemplate.mjs.map +1 -0
- package/dist/lib/generateIgnoreFiles.mjs +86 -0
- package/dist/lib/generateIgnoreFiles.mjs.map +1 -0
- package/dist/lib/generateReadmeFiles.mjs +323 -0
- package/dist/lib/generateReadmeFiles.mjs.map +1 -0
- package/dist/lib/gitignoreTemplate.mjs +12 -0
- package/dist/lib/gitignoreTemplate.mjs.map +1 -0
- package/dist/lib/index.mjs +1627 -0
- package/dist/lib/index.mjs.map +1 -0
- package/dist/lib/initCwd.mjs +8 -0
- package/dist/lib/initCwd.mjs.map +1 -0
- package/dist/lib/jsonFormatters.mjs +11 -0
- package/dist/lib/jsonFormatters.mjs.map +1 -0
- package/dist/lib/latestVersions.mjs +12 -0
- package/dist/lib/latestVersions.mjs.map +1 -0
- package/dist/lib/loadConfig.mjs +72 -0
- package/dist/lib/loadConfig.mjs.map +1 -0
- package/dist/lib/packageName.mjs +26 -0
- package/dist/lib/packageName.mjs.map +1 -0
- package/dist/lib/parsedPackageJSON.mjs +11 -0
- package/dist/lib/parsedPackageJSON.mjs.map +1 -0
- package/dist/lib/processEx.mjs +36 -0
- package/dist/lib/processEx.mjs.map +1 -0
- package/dist/lib/repoTemplates.mjs +34 -0
- package/dist/lib/repoTemplates.mjs.map +1 -0
- package/dist/lib/runInstall.mjs +30 -0
- package/dist/lib/runInstall.mjs.map +1 -0
- package/dist/lib/runSteps.mjs +118 -0
- package/dist/lib/runSteps.mjs.map +1 -0
- package/dist/lib/runStepsAsync.mjs +136 -0
- package/dist/lib/runStepsAsync.mjs.map +1 -0
- package/dist/lib/runXy.mjs +147 -0
- package/dist/lib/runXy.mjs.map +1 -0
- package/dist/lib/runXyWithWarning.mjs +36 -0
- package/dist/lib/runXyWithWarning.mjs.map +1 -0
- package/dist/lib/safeExit.mjs +61 -0
- package/dist/lib/safeExit.mjs.map +1 -0
- package/dist/lib/string/empty.mjs +8 -0
- package/dist/lib/string/empty.mjs.map +1 -0
- package/dist/lib/string/index.mjs +12 -0
- package/dist/lib/string/index.mjs.map +1 -0
- package/dist/lib/string/union.mjs +6 -0
- package/dist/lib/string/union.mjs.map +1 -0
- package/dist/lib/tryRunLocalScript.mjs +57 -0
- package/dist/lib/tryRunLocalScript.mjs.map +1 -0
- package/dist/lib/updo/applyUpdates.mjs +44 -0
- package/dist/lib/updo/applyUpdates.mjs.map +1 -0
- package/dist/lib/updo/collectWorkspaceDeps.mjs +48 -0
- package/dist/lib/updo/collectWorkspaceDeps.mjs.map +1 -0
- package/dist/lib/updo/fetchRegistryInfo.mjs +53 -0
- package/dist/lib/updo/fetchRegistryInfo.mjs.map +1 -0
- package/dist/lib/updo/index.mjs +594 -0
- package/dist/lib/updo/index.mjs.map +1 -0
- package/dist/lib/updo/interactiveSelect.mjs +185 -0
- package/dist/lib/updo/interactiveSelect.mjs.map +1 -0
- package/dist/lib/updo/interfaces.mjs +1 -0
- package/dist/lib/updo/interfaces.mjs.map +1 -0
- package/dist/lib/updo/renderTable.mjs +79 -0
- package/dist/lib/updo/renderTable.mjs.map +1 -0
- package/dist/lib/updo/resolveVersions.mjs +49 -0
- package/dist/lib/updo/resolveVersions.mjs.map +1 -0
- package/dist/lib/updo/runUpdo.mjs +511 -0
- package/dist/lib/updo/runUpdo.mjs.map +1 -0
- package/dist/lib/withErrnoException.mjs +13 -0
- package/dist/lib/withErrnoException.mjs.map +1 -0
- package/dist/lib/withError.mjs +8 -0
- package/dist/lib/withError.mjs.map +1 -0
- package/dist/lib/yarn/index.mjs +39 -0
- package/dist/lib/yarn/index.mjs.map +1 -0
- package/dist/lib/yarn/isYarnVersionOrGreater.mjs +18 -0
- package/dist/lib/yarn/isYarnVersionOrGreater.mjs.map +1 -0
- package/dist/lib/yarn/workspace/Workspace.mjs +1 -0
- package/dist/lib/yarn/workspace/Workspace.mjs.map +1 -0
- package/dist/lib/yarn/workspace/index.mjs +23 -0
- package/dist/lib/yarn/workspace/index.mjs.map +1 -0
- package/dist/lib/yarn/workspace/yarnWorkspace.mjs +22 -0
- package/dist/lib/yarn/workspace/yarnWorkspace.mjs.map +1 -0
- package/dist/lib/yarn/workspace/yarnWorkspaces.mjs +15 -0
- package/dist/lib/yarn/workspace/yarnWorkspaces.mjs.map +1 -0
- package/dist/lib/yarn/yarnInitCwd.mjs +8 -0
- package/dist/lib/yarn/yarnInitCwd.mjs.map +1 -0
- package/dist/loadPackageConfig.mjs +18 -0
- package/dist/loadPackageConfig.mjs.map +1 -0
- package/dist/pm/PackageManager.mjs +1 -0
- package/dist/pm/PackageManager.mjs.map +1 -0
- package/dist/pm/detectPackageManager.mjs +10 -0
- package/dist/pm/detectPackageManager.mjs.map +1 -0
- package/dist/pm/detectReact.mjs +52 -0
- package/dist/pm/detectReact.mjs.map +1 -0
- package/dist/pm/index.mjs +263 -0
- package/dist/pm/index.mjs.map +1 -0
- package/dist/pm/pnpmPackageManager.mjs +97 -0
- package/dist/pm/pnpmPackageManager.mjs.map +1 -0
- package/dist/pm/registry.mjs +27 -0
- package/dist/pm/registry.mjs.map +1 -0
- package/dist/pm/yarnPackageManager.mjs +112 -0
- package/dist/pm/yarnPackageManager.mjs.map +1 -0
- package/dist/types.d.mjs +1 -0
- package/dist/types.d.mjs.map +1 -0
- package/dist/xy/build/buildCommand.mjs +194 -0
- package/dist/xy/build/buildCommand.mjs.map +1 -0
- package/dist/xy/build/compileCommand.mjs +203 -0
- package/dist/xy/build/compileCommand.mjs.map +1 -0
- package/dist/xy/build/compileOnlyCommand.mjs +204 -0
- package/dist/xy/build/compileOnlyCommand.mjs.map +1 -0
- package/dist/xy/build/copyAssetsCommand.mjs +92 -0
- package/dist/xy/build/copyAssetsCommand.mjs.map +1 -0
- package/dist/xy/build/index.mjs +487 -0
- package/dist/xy/build/index.mjs.map +1 -0
- package/dist/xy/build/rebuildCommand.mjs +156 -0
- package/dist/xy/build/rebuildCommand.mjs.map +1 -0
- package/dist/xy/build/recompileCommand.mjs +215 -0
- package/dist/xy/build/recompileCommand.mjs.map +1 -0
- package/dist/xy/common/checkCommand.mjs +1909 -0
- package/dist/xy/common/checkCommand.mjs.map +1 -0
- package/dist/xy/common/claude/checkCommand.mjs +207 -0
- package/dist/xy/common/claude/checkCommand.mjs.map +1 -0
- package/dist/xy/common/claude/cleanCommand.mjs +78 -0
- package/dist/xy/common/claude/cleanCommand.mjs.map +1 -0
- package/dist/xy/common/claude/commandsCommand.mjs +134 -0
- package/dist/xy/common/claude/commandsCommand.mjs.map +1 -0
- package/dist/xy/common/claude/index.mjs +734 -0
- package/dist/xy/common/claude/index.mjs.map +1 -0
- package/dist/xy/common/claude/initCommand.mjs +458 -0
- package/dist/xy/common/claude/initCommand.mjs.map +1 -0
- package/dist/xy/common/claude/rulesCommand.mjs +167 -0
- package/dist/xy/common/claude/rulesCommand.mjs.map +1 -0
- package/dist/xy/common/claude/settingsCommand.mjs +115 -0
- package/dist/xy/common/claude/settingsCommand.mjs.map +1 -0
- package/dist/xy/common/claude/skillsCommand.mjs +140 -0
- package/dist/xy/common/claude/skillsCommand.mjs.map +1 -0
- package/dist/xy/common/cleanDocsCommand.mjs +74 -0
- package/dist/xy/common/cleanDocsCommand.mjs.map +1 -0
- package/dist/xy/common/deadCommand.mjs +137 -0
- package/dist/xy/common/deadCommand.mjs.map +1 -0
- package/dist/xy/common/genDocsCommand.mjs +175 -0
- package/dist/xy/common/genDocsCommand.mjs.map +1 -0
- package/dist/xy/common/gitignoreCommand.mjs +165 -0
- package/dist/xy/common/gitignoreCommand.mjs.map +1 -0
- package/dist/xy/common/gitlintCommand.mjs +89 -0
- package/dist/xy/common/gitlintCommand.mjs.map +1 -0
- package/dist/xy/common/index.mjs +4654 -0
- package/dist/xy/common/index.mjs.map +1 -0
- package/dist/xy/common/licenseCommand.mjs +108 -0
- package/dist/xy/common/licenseCommand.mjs.map +1 -0
- package/dist/xy/common/npmignoreGenCommand.mjs +100 -0
- package/dist/xy/common/npmignoreGenCommand.mjs.map +1 -0
- package/dist/xy/common/orphan/cleanCommand.mjs +102 -0
- package/dist/xy/common/orphan/cleanCommand.mjs.map +1 -0
- package/dist/xy/common/orphan/index.mjs +138 -0
- package/dist/xy/common/orphan/index.mjs.map +1 -0
- package/dist/xy/common/orphan/listCommand.mjs +100 -0
- package/dist/xy/common/orphan/listCommand.mjs.map +1 -0
- package/dist/xy/common/packmanCommand.mjs +1538 -0
- package/dist/xy/common/packmanCommand.mjs.map +1 -0
- package/dist/xy/common/readme/genCommand.mjs +395 -0
- package/dist/xy/common/readme/genCommand.mjs.map +1 -0
- package/dist/xy/common/readme/index.mjs +538 -0
- package/dist/xy/common/readme/index.mjs.map +1 -0
- package/dist/xy/common/readme/initCommand.mjs +109 -0
- package/dist/xy/common/readme/initCommand.mjs.map +1 -0
- package/dist/xy/common/readme/lintCommand.mjs +181 -0
- package/dist/xy/common/readme/lintCommand.mjs.map +1 -0
- package/dist/xy/common/repo/index.mjs +1070 -0
- package/dist/xy/common/repo/index.mjs.map +1 -0
- package/dist/xy/common/repo/initCommand.mjs +273 -0
- package/dist/xy/common/repo/initCommand.mjs.map +1 -0
- package/dist/xy/common/repo/lintCommand.mjs +789 -0
- package/dist/xy/common/repo/lintCommand.mjs.map +1 -0
- package/dist/xy/common/retestCommand.mjs +163 -0
- package/dist/xy/common/retestCommand.mjs.map +1 -0
- package/dist/xy/common/testCommand.mjs +157 -0
- package/dist/xy/common/testCommand.mjs.map +1 -0
- package/dist/xy/deploy/deployCommand.mjs +214 -0
- package/dist/xy/deploy/deployCommand.mjs.map +1 -0
- package/dist/xy/deploy/index.mjs +289 -0
- package/dist/xy/deploy/index.mjs.map +1 -0
- package/dist/xy/deploy/publishCommand.mjs +218 -0
- package/dist/xy/deploy/publishCommand.mjs.map +1 -0
- package/dist/xy/index.mjs +8887 -0
- package/dist/xy/index.mjs.map +1 -0
- package/dist/xy/install/cleanCommand.mjs +182 -0
- package/dist/xy/install/cleanCommand.mjs.map +1 -0
- package/dist/xy/install/dupdepsCommand.mjs +234 -0
- package/dist/xy/install/dupdepsCommand.mjs.map +1 -0
- package/dist/xy/install/index.mjs +1006 -0
- package/dist/xy/install/index.mjs.map +1 -0
- package/dist/xy/install/reinstallCommand.mjs +292 -0
- package/dist/xy/install/reinstallCommand.mjs.map +1 -0
- package/dist/xy/install/staticsCommand.mjs +233 -0
- package/dist/xy/install/staticsCommand.mjs.map +1 -0
- package/dist/xy/install/upCommand.mjs +150 -0
- package/dist/xy/install/upCommand.mjs.map +1 -0
- package/dist/xy/install/updoCommand.mjs +550 -0
- package/dist/xy/install/updoCommand.mjs.map +1 -0
- package/dist/xy/lint/cycleCommand.mjs +289 -0
- package/dist/xy/lint/cycleCommand.mjs.map +1 -0
- package/dist/xy/lint/deplintCommand.mjs +1897 -0
- package/dist/xy/lint/deplintCommand.mjs.map +1 -0
- package/dist/xy/lint/fixCommand.mjs +398 -0
- package/dist/xy/lint/fixCommand.mjs.map +1 -0
- package/dist/xy/lint/index.mjs +3759 -0
- package/dist/xy/lint/index.mjs.map +1 -0
- package/dist/xy/lint/knipCommand.mjs +142 -0
- package/dist/xy/lint/knipCommand.mjs.map +1 -0
- package/dist/xy/lint/lint/index.mjs +695 -0
- package/dist/xy/lint/lint/index.mjs.map +1 -0
- package/dist/xy/lint/lint/initCommand.mjs +282 -0
- package/dist/xy/lint/lint/initCommand.mjs.map +1 -0
- package/dist/xy/lint/lint/runCommand.mjs +405 -0
- package/dist/xy/lint/lint/runCommand.mjs.map +1 -0
- package/dist/xy/lint/lintCommand.mjs +695 -0
- package/dist/xy/lint/lintCommand.mjs.map +1 -0
- package/dist/xy/lint/lintlintCommand.mjs +359 -0
- package/dist/xy/lint/lintlintCommand.mjs.map +1 -0
- package/dist/xy/lint/publintCommand.mjs +778 -0
- package/dist/xy/lint/publintCommand.mjs.map +1 -0
- package/dist/xy/lint/relintCommand.mjs +381 -0
- package/dist/xy/lint/relintCommand.mjs.map +1 -0
- package/dist/xy/lint/sonarCommand.mjs +137 -0
- package/dist/xy/lint/sonarCommand.mjs.map +1 -0
- package/dist/xy/param.mjs +8 -0
- package/dist/xy/param.mjs.map +1 -0
- package/dist/xy/react/analyzeCommand.mjs +150 -0
- package/dist/xy/react/analyzeCommand.mjs.map +1 -0
- package/dist/xy/react/ejectCommand.mjs +150 -0
- package/dist/xy/react/ejectCommand.mjs.map +1 -0
- package/dist/xy/react/index.mjs +202 -0
- package/dist/xy/react/index.mjs.map +1 -0
- package/dist/xy/react/sitemapCommand.mjs +129 -0
- package/dist/xy/react/sitemapCommand.mjs.map +1 -0
- package/dist/xy/react/startCommand.mjs +150 -0
- package/dist/xy/react/startCommand.mjs.map +1 -0
- package/dist/xy/xy.mjs +8879 -0
- package/dist/xy/xy.mjs.map +1 -0
- package/dist/xy/xyParseOptions.mjs +117 -0
- package/dist/xy/xyParseOptions.mjs.map +1 -0
- package/dist/xy/yarn/index.mjs +188 -0
- package/dist/xy/yarn/index.mjs.map +1 -0
- package/dist/xy/yarn/upplugCommand.mjs +134 -0
- package/dist/xy/yarn/upplugCommand.mjs.map +1 -0
- package/dist/xy/yarn/upyarnCommand.mjs +129 -0
- package/dist/xy/yarn/upyarnCommand.mjs.map +1 -0
- package/dist/xy/yarn/yarn3OnlyCommand.mjs +70 -0
- package/dist/xy/yarn/yarn3OnlyCommand.mjs.map +1 -0
- package/package.json +119 -0
- package/templates/claude/CLAUDE-local.md +4 -0
- package/templates/claude/CLAUDE-project.md +4 -0
- package/templates/claude/commands/xy-build.md +7 -0
- package/templates/claude/commands/xy-clean.md +7 -0
- package/templates/claude/commands/xy-compile.md +7 -0
- package/templates/claude/commands/xy-cycle.md +7 -0
- package/templates/claude/commands/xy-dead.md +7 -0
- package/templates/claude/commands/xy-deplint.md +7 -0
- package/templates/claude/commands/xy-deps.md +24 -0
- package/templates/claude/commands/xy-dupdeps.md +7 -0
- package/templates/claude/commands/xy-fix.md +7 -0
- package/templates/claude/commands/xy-gen-docs.md +7 -0
- package/templates/claude/commands/xy-gitignore.md +7 -0
- package/templates/claude/commands/xy-gitlint.md +7 -0
- package/templates/claude/commands/xy-knip.md +7 -0
- package/templates/claude/commands/xy-license.md +7 -0
- package/templates/claude/commands/xy-lint-rules.md +44 -0
- package/templates/claude/commands/xy-lint.md +7 -0
- package/templates/claude/commands/xy-publint.md +7 -0
- package/templates/claude/commands/xy-rebuild.md +7 -0
- package/templates/claude/commands/xy-recompile.md +7 -0
- package/templates/claude/commands/xy-reinstall.md +7 -0
- package/templates/claude/commands/xy-relint.md +7 -0
- package/templates/claude/commands/xy-retest.md +7 -0
- package/templates/claude/commands/xy-sonar.md +7 -0
- package/templates/claude/commands/xy-test.md +7 -0
- package/templates/claude/commands/xy-up.md +9 -0
- package/templates/claude/rules/xylabs-architecture.md +8 -0
- package/templates/claude/rules/xylabs-git-workflow.md +7 -0
- package/templates/claude/rules/xylabs-naming.md +7 -0
- package/templates/claude/rules/xylabs-style.md +17 -0
- package/templates/claude/skills/xylabs-e2e-setup/SKILL.md +223 -0
- package/templates/claude/skills/xylabs-xy-cli/SKILL.md +236 -0
- package/templates/claude/skills/xylabs-xy-deplint-fix/SKILL.md +122 -0
- package/templates/gitignore/gitignore/template.gitignore +51 -0
- package/templates/gitignore/template.gitignore +51 -0
- package/templates/readme/README.body.md +25 -0
- package/templates/readme/README.template.md +22 -0
- package/templates/repo/cli/package/package.json.tmpl +63 -0
- package/templates/repo/cli/package/src/__packageName__.ts.tmpl +21 -0
- package/templates/repo/cli/package/src/actions/index.ts +1 -0
- package/templates/repo/cli/package/src/actions/printVersion.ts.tmpl +8 -0
- package/templates/repo/cli/package/src/bin/__packageName__.ts.tmpl +12 -0
- package/templates/repo/cli/package/src/commands/index.ts +1 -0
- package/templates/repo/cli/package/src/commands/versionCommand.ts.tmpl +11 -0
- package/templates/repo/cli/package/src/index.ts.tmpl +1 -0
- package/templates/repo/cli/package/tsconfig.build.json +25 -0
- package/templates/repo/cli/package/tsconfig.json +4 -0
- package/templates/repo/cli/package/tsup.config.ts +15 -0
- package/templates/repo/cli/package/xy.config.ts +3 -0
- package/templates/repo/cli/root/CLAUDE.md.tmpl +38 -0
- package/templates/repo/cli/root/cspell.json.tmpl +13 -0
- package/templates/repo/cli/root/eslint.config.ts +28 -0
- package/templates/repo/cli/root/github/workflows/build-pnpm.yml.tmpl +34 -0
- package/templates/repo/cli/root/github/workflows/build-yarn.yml.tmpl +32 -0
- package/templates/repo/cli/root/gitignore.tmpl +47 -0
- package/templates/repo/cli/root/knip.config.ts +16 -0
- package/templates/repo/cli/root/package.json.tmpl +54 -0
- package/templates/repo/cli/root/pnpm-workspace.yaml +2 -0
- package/templates/repo/cli/root/tsconfig.json +4 -0
- package/templates/repo/cli/root/vitest.config.ts +31 -0
- package/templates/repo/cli/root/xy.config.ts.tmpl +5 -0
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// src/bin/package/build-only.ts
|
|
4
|
+
import chalk7 from "chalk";
|
|
5
|
+
|
|
6
|
+
// src/lib/loadConfig.ts
|
|
7
|
+
import chalk from "chalk";
|
|
8
|
+
import { cosmiconfig } from "cosmiconfig";
|
|
9
|
+
import { TypeScriptLoader } from "cosmiconfig-typescript-loader";
|
|
10
|
+
import deepmerge from "deepmerge";
|
|
11
|
+
var config;
|
|
12
|
+
var rootConfigPath;
|
|
13
|
+
function createExplorer() {
|
|
14
|
+
return cosmiconfig("xy", { cache: true, loaders: { ".ts": TypeScriptLoader() } });
|
|
15
|
+
}
|
|
16
|
+
var loadConfig = async (params) => {
|
|
17
|
+
if (config === void 0) {
|
|
18
|
+
const cosmicConfigResult = await createExplorer().search();
|
|
19
|
+
config = cosmicConfigResult?.config ?? {};
|
|
20
|
+
rootConfigPath = cosmicConfigResult?.filepath;
|
|
21
|
+
const configFilePath = cosmicConfigResult?.filepath;
|
|
22
|
+
if (configFilePath !== void 0) {
|
|
23
|
+
console.log(chalk.green(`Loaded config from ${configFilePath}`));
|
|
24
|
+
if (config.verbose) {
|
|
25
|
+
console.log(chalk.gray(`${JSON.stringify(config, null, 2)}`));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return deepmerge(config, params ?? {});
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
// src/actions/package/compile/compile.ts
|
|
33
|
+
import { cwd as cwd4 } from "process";
|
|
34
|
+
import chalk6 from "chalk";
|
|
35
|
+
|
|
36
|
+
// src/actions/package/compile/packageCompileTsup.ts
|
|
37
|
+
import chalk5 from "chalk";
|
|
38
|
+
import { build, defineConfig } from "tsup";
|
|
39
|
+
|
|
40
|
+
// src/actions/package/compile/inputs.ts
|
|
41
|
+
import chalk2 from "chalk";
|
|
42
|
+
import { glob } from "glob";
|
|
43
|
+
var getAllInputs = (srcDir, verbose = false) => {
|
|
44
|
+
return [...glob.sync(`${srcDir}/**/*.ts`, { posix: true }).map((file) => {
|
|
45
|
+
const result = file.slice(Math.max(0, srcDir.length + 1));
|
|
46
|
+
if (verbose) {
|
|
47
|
+
console.log(chalk2.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
}), ...glob.sync(`${srcDir}/**/*.tsx`, { posix: true }).map((file) => {
|
|
51
|
+
const result = file.slice(Math.max(0, srcDir.length + 1));
|
|
52
|
+
if (verbose) {
|
|
53
|
+
console.log(chalk2.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
})];
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
// src/actions/package/compile/buildEntries.ts
|
|
60
|
+
var isSpecOrStory = (entry) => {
|
|
61
|
+
return entry.includes(".spec.") || entry.includes(".stories.") || entry.startsWith("spec/") || entry.includes("/spec/") || entry.startsWith("stories/") || entry.includes("/stories/") || entry === "spec.ts" || entry.endsWith("/spec.ts") || entry === "stories.ts" || entry.endsWith("/stories.ts");
|
|
62
|
+
};
|
|
63
|
+
var buildEntries = (srcDir, entryMode = "single", options, excludeSpecAndStories = true, verbose = false) => {
|
|
64
|
+
let entries;
|
|
65
|
+
switch (entryMode) {
|
|
66
|
+
case "platform": {
|
|
67
|
+
entries = ["index-node.ts", "index-browser.ts"];
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
case "all": {
|
|
71
|
+
entries = (excludeSpecAndStories ? getAllInputs(srcDir).filter((entry) => !isSpecOrStory(entry)) : getAllInputs(srcDir)).filter((entry) => !entry.endsWith(".d.ts"));
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
case "custom": {
|
|
75
|
+
entries = [];
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
default: {
|
|
79
|
+
entries = ["index.ts"];
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (typeof options !== "boolean" && Array.isArray(options?.entry)) {
|
|
84
|
+
entries.push(...options.entry);
|
|
85
|
+
}
|
|
86
|
+
if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`);
|
|
87
|
+
return entries;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
// src/actions/package/compile/deepMerge.ts
|
|
91
|
+
function deepMerge(target, source) {
|
|
92
|
+
if (!source || typeof source !== "object") return target;
|
|
93
|
+
for (const key of Object.keys(source)) {
|
|
94
|
+
const sourceVal = source[key];
|
|
95
|
+
if (typeof sourceVal === "object" && sourceVal !== null && !Array.isArray(sourceVal)) {
|
|
96
|
+
if (!target[key] || typeof target[key] !== "object") {
|
|
97
|
+
target[key] = {};
|
|
98
|
+
}
|
|
99
|
+
deepMerge(target[key], sourceVal);
|
|
100
|
+
} else {
|
|
101
|
+
target[key] = sourceVal;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return target;
|
|
105
|
+
}
|
|
106
|
+
function deepMergeObjects(objects) {
|
|
107
|
+
const result = {};
|
|
108
|
+
for (const obj of objects) {
|
|
109
|
+
deepMerge(result, obj);
|
|
110
|
+
}
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// src/actions/package/compile/packageCompileTsc.ts
|
|
115
|
+
import { cwd as cwd2 } from "process";
|
|
116
|
+
import chalk3 from "chalk";
|
|
117
|
+
import { createProgramFromConfig } from "tsc-prog";
|
|
118
|
+
import ts, {
|
|
119
|
+
DiagnosticCategory,
|
|
120
|
+
formatDiagnosticsWithColorAndContext,
|
|
121
|
+
getPreEmitDiagnostics,
|
|
122
|
+
sys
|
|
123
|
+
} from "typescript";
|
|
124
|
+
|
|
125
|
+
// src/actions/package/compile/getCompilerOptions.ts
|
|
126
|
+
import { cwd } from "process";
|
|
127
|
+
import deepmerge2 from "deepmerge";
|
|
128
|
+
import { getTsconfig } from "get-tsconfig";
|
|
129
|
+
var getCompilerOptions = (options = {}, fileName = "tsconfig.json") => {
|
|
130
|
+
const resolvedTsConfigCompilerOptions = getTsconfig(cwd(), fileName)?.config?.compilerOptions ?? {};
|
|
131
|
+
return deepmerge2(resolvedTsConfigCompilerOptions, options);
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
// src/actions/package/compile/packageCompileTsc.ts
|
|
135
|
+
var packageCompileTsc = (platform, entries, srcDir = "src", outDir = "dist", compilerOptionsParam, verbose = false) => {
|
|
136
|
+
const pkg = cwd2();
|
|
137
|
+
if (verbose) {
|
|
138
|
+
console.log(chalk3.cyan(`Validating code START: ${entries.length} files to ${outDir} from ${srcDir}`));
|
|
139
|
+
}
|
|
140
|
+
const configFilePath = ts.findConfigFile(
|
|
141
|
+
pkg,
|
|
142
|
+
(fileName) => ts.sys.fileExists(fileName),
|
|
143
|
+
"tsconfig.json"
|
|
144
|
+
);
|
|
145
|
+
if (configFilePath === void 0) {
|
|
146
|
+
throw new Error("Could not find tsconfig.json");
|
|
147
|
+
}
|
|
148
|
+
const compilerOptions = {
|
|
149
|
+
...getCompilerOptions({
|
|
150
|
+
removeComments: false,
|
|
151
|
+
skipDefaultLibCheck: true,
|
|
152
|
+
skipLibCheck: true,
|
|
153
|
+
sourceMap: false
|
|
154
|
+
}),
|
|
155
|
+
...compilerOptionsParam,
|
|
156
|
+
outDir: `${outDir}/${platform}`,
|
|
157
|
+
emitDeclarationOnly: true,
|
|
158
|
+
noEmit: false
|
|
159
|
+
};
|
|
160
|
+
console.log(chalk3.cyan(`Validating Files: ${entries.length}`));
|
|
161
|
+
if (verbose) {
|
|
162
|
+
for (const entry of entries) {
|
|
163
|
+
console.log(chalk3.grey(`Validating: ${entry}`));
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
try {
|
|
167
|
+
if (entries.length > 0) {
|
|
168
|
+
const program = createProgramFromConfig({
|
|
169
|
+
configFilePath,
|
|
170
|
+
basePath: pkg,
|
|
171
|
+
compilerOptions,
|
|
172
|
+
files: entries.map((entry) => `${srcDir}/${entry}`),
|
|
173
|
+
include: [`${srcDir}/**/*.*`]
|
|
174
|
+
});
|
|
175
|
+
const diagnostics = getPreEmitDiagnostics(program);
|
|
176
|
+
if (diagnostics.length > 0) {
|
|
177
|
+
const formattedDiagnostics = formatDiagnosticsWithColorAndContext(
|
|
178
|
+
diagnostics,
|
|
179
|
+
{
|
|
180
|
+
getCanonicalFileName: (fileName) => fileName,
|
|
181
|
+
getCurrentDirectory: () => srcDir,
|
|
182
|
+
getNewLine: () => sys.newLine
|
|
183
|
+
}
|
|
184
|
+
);
|
|
185
|
+
console.error(formattedDiagnostics);
|
|
186
|
+
}
|
|
187
|
+
const nonEmitPatterns = [".stories.", "/stories/", "/stories.", ".spec.", "/spec/", "/spec.", ".example."];
|
|
188
|
+
program.emit(void 0, (fileName, text, writeByteOrderMark) => {
|
|
189
|
+
if (nonEmitPatterns.some((pattern) => fileName.includes(pattern))) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
ts.sys.writeFile(fileName, text, writeByteOrderMark);
|
|
193
|
+
});
|
|
194
|
+
return diagnostics.reduce((acc, diag) => acc + (diag.category === DiagnosticCategory.Error ? 1 : 0), 0);
|
|
195
|
+
}
|
|
196
|
+
return 0;
|
|
197
|
+
} finally {
|
|
198
|
+
if (verbose) {
|
|
199
|
+
console.log(chalk3.cyan(`Validating code FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
// src/actions/package/compile/packageCompileTscTypes.ts
|
|
205
|
+
import path from "path";
|
|
206
|
+
import { cwd as cwd3 } from "process";
|
|
207
|
+
import chalk4 from "chalk";
|
|
208
|
+
import { rollup } from "rollup";
|
|
209
|
+
import dts from "rollup-plugin-dts";
|
|
210
|
+
import nodeExternals from "rollup-plugin-node-externals";
|
|
211
|
+
var ignoredWarningCodes = /* @__PURE__ */ new Set(["EMPTY_BUNDLE", "UNRESOLVED_IMPORT"]);
|
|
212
|
+
async function bundleDts(inputPath, outputPath, platform, options, verbose = false) {
|
|
213
|
+
const pkg = cwd3();
|
|
214
|
+
const tsconfigPath = path.resolve(pkg, "tsconfig.json");
|
|
215
|
+
const nodePlugIns = platform === "node" ? [nodeExternals()] : [];
|
|
216
|
+
try {
|
|
217
|
+
const bundle = await rollup({
|
|
218
|
+
input: inputPath,
|
|
219
|
+
plugins: [dts({
|
|
220
|
+
...options,
|
|
221
|
+
tsconfig: tsconfigPath,
|
|
222
|
+
compilerOptions: {
|
|
223
|
+
emitDeclarationOnly: true,
|
|
224
|
+
noEmit: false,
|
|
225
|
+
declarationMap: true
|
|
226
|
+
}
|
|
227
|
+
}), ...nodePlugIns],
|
|
228
|
+
onwarn(warning, warn) {
|
|
229
|
+
if (ignoredWarningCodes.has(warning.code ?? "")) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
console.warn(chalk4.yellow(`[${warning.code}] ${warning.message}`));
|
|
233
|
+
console.warn(chalk4.gray(inputPath));
|
|
234
|
+
warn(warning);
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
await bundle.write({
|
|
238
|
+
file: outputPath,
|
|
239
|
+
format: "es"
|
|
240
|
+
});
|
|
241
|
+
} catch (ex) {
|
|
242
|
+
const error = ex;
|
|
243
|
+
console.warn(chalk4.red(error));
|
|
244
|
+
console.warn(chalk4.gray(inputPath));
|
|
245
|
+
}
|
|
246
|
+
if (verbose) {
|
|
247
|
+
console.log(`Bundled declarations written to ${outputPath}`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
var packageCompileTscTypes = async (entries, outDir, platform, srcDir = "build", verbose = false) => {
|
|
251
|
+
if (verbose) {
|
|
252
|
+
console.log(chalk4.cyan(`Compiling Types START [${platform}]: ${entries.length} files to ${outDir} from ${srcDir}`));
|
|
253
|
+
console.log(`Entries: ${entries.join(", ")}`);
|
|
254
|
+
}
|
|
255
|
+
const pkg = cwd3();
|
|
256
|
+
const srcRoot = `${pkg}/${srcDir}/${platform}`;
|
|
257
|
+
const entryNameToTypeName = (entry) => {
|
|
258
|
+
const splitEntryName = entry.split(".");
|
|
259
|
+
const newEntryExtension = "d." + splitEntryName.at(-1);
|
|
260
|
+
return [...splitEntryName.slice(0, -1), newEntryExtension].join(".");
|
|
261
|
+
};
|
|
262
|
+
const compilerOptions = getCompilerOptions({
|
|
263
|
+
removeComments: false,
|
|
264
|
+
skipDefaultLibCheck: true,
|
|
265
|
+
skipLibCheck: true,
|
|
266
|
+
declarationMap: true,
|
|
267
|
+
emitDeclarationOnly: true,
|
|
268
|
+
noEmit: true
|
|
269
|
+
});
|
|
270
|
+
const entryNames = entries.map((entry) => entry.split(`${srcDir}/`).at(-1) ?? entry);
|
|
271
|
+
await Promise.all(entryNames.map(async (entryName) => {
|
|
272
|
+
const entryTypeName = entryNameToTypeName(entryName);
|
|
273
|
+
await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, { compilerOptions }, verbose);
|
|
274
|
+
}));
|
|
275
|
+
if (verbose) {
|
|
276
|
+
console.log(chalk4.cyan(`Compiling Types FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
|
|
277
|
+
}
|
|
278
|
+
return 0;
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
// src/actions/package/compile/packageCompileTsup.ts
|
|
282
|
+
var compileFolder = async (srcDir, entries, buildDir, options, bundleTypes = false, verbose) => {
|
|
283
|
+
const outDir = options?.outDir ?? "dist";
|
|
284
|
+
if (verbose) {
|
|
285
|
+
console.log(`compileFolder [${srcDir}, ${options?.outDir}]`);
|
|
286
|
+
}
|
|
287
|
+
if (entries.length === 0) {
|
|
288
|
+
console.warn(chalk5.yellow(`No entries found in ${srcDir} to compile`));
|
|
289
|
+
return 0;
|
|
290
|
+
}
|
|
291
|
+
if (verbose) {
|
|
292
|
+
console.log(chalk5.gray(`buildDir [${buildDir}]`));
|
|
293
|
+
}
|
|
294
|
+
const validationResult = packageCompileTsc(options?.platform ?? "neutral", entries, srcDir, buildDir, void 0, verbose);
|
|
295
|
+
if (validationResult !== 0) {
|
|
296
|
+
console.error(chalk5.red(`Compile:Validation had ${validationResult} errors`));
|
|
297
|
+
return validationResult;
|
|
298
|
+
}
|
|
299
|
+
const optionsParams = tsupOptions([{
|
|
300
|
+
bundle: true,
|
|
301
|
+
cjsInterop: true,
|
|
302
|
+
clean: false,
|
|
303
|
+
dts: false,
|
|
304
|
+
format: ["esm"],
|
|
305
|
+
outDir,
|
|
306
|
+
silent: true,
|
|
307
|
+
sourcemap: true,
|
|
308
|
+
splitting: false,
|
|
309
|
+
tsconfig: "tsconfig.json",
|
|
310
|
+
...options,
|
|
311
|
+
entry: entries.map((entry) => `${srcDir}/${entry}`)
|
|
312
|
+
}]);
|
|
313
|
+
const optionsResult = defineConfig(optionsParams);
|
|
314
|
+
const optionsList = (await Promise.all(
|
|
315
|
+
(Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap(async (options2) => {
|
|
316
|
+
const result = typeof options2 === "function" ? await options2({}) : [options2];
|
|
317
|
+
return Array.isArray(result) ? result : [result];
|
|
318
|
+
})
|
|
319
|
+
)).flat();
|
|
320
|
+
if (verbose) {
|
|
321
|
+
console.log(chalk5.cyan(`TSUP:build:start [${srcDir}]`));
|
|
322
|
+
console.log(chalk5.gray(`TSUP:build:options [${JSON.stringify(optionsList, null, 2)}]`));
|
|
323
|
+
}
|
|
324
|
+
await Promise.all(optionsList.map((options2) => build(options2)));
|
|
325
|
+
if (verbose) {
|
|
326
|
+
console.log(chalk5.cyan(`TSUP:build:stop [${srcDir}]`));
|
|
327
|
+
}
|
|
328
|
+
if (bundleTypes) {
|
|
329
|
+
await packageCompileTscTypes(entries, outDir, options?.platform ?? "neutral", buildDir, verbose);
|
|
330
|
+
}
|
|
331
|
+
return 0;
|
|
332
|
+
};
|
|
333
|
+
var tsupOptions = (options = []) => {
|
|
334
|
+
const standardLoaders = {
|
|
335
|
+
".gif": "copy",
|
|
336
|
+
".html": "copy",
|
|
337
|
+
".jpg": "copy",
|
|
338
|
+
".json": "json",
|
|
339
|
+
".png": "copy",
|
|
340
|
+
".svg": "text",
|
|
341
|
+
".webp": "copy"
|
|
342
|
+
};
|
|
343
|
+
const standardOptions = {
|
|
344
|
+
bundle: true,
|
|
345
|
+
format: ["esm"],
|
|
346
|
+
loader: standardLoaders,
|
|
347
|
+
outExtension: ({ format }) => format === "esm" ? { js: ".mjs" } : { js: ".cjs" },
|
|
348
|
+
skipNodeModulesBundle: true,
|
|
349
|
+
sourcemap: true,
|
|
350
|
+
target: "esnext"
|
|
351
|
+
};
|
|
352
|
+
return deepMergeObjects([standardOptions, ...options]);
|
|
353
|
+
};
|
|
354
|
+
var packageCompileTsup = async (config2) => {
|
|
355
|
+
const compile = config2?.compile;
|
|
356
|
+
const verbose = config2?.verbose ?? false;
|
|
357
|
+
const outDirAsBuildDir = compile?.outDirAsBuildDir ?? true;
|
|
358
|
+
const bundleTypes = compile?.bundleTypes ?? false;
|
|
359
|
+
if (verbose) {
|
|
360
|
+
console.log("Compiling with TSUP");
|
|
361
|
+
}
|
|
362
|
+
const compileForNode = compile?.node ?? { src: {} };
|
|
363
|
+
const compileForBrowser = compile?.browser ?? { src: {} };
|
|
364
|
+
const compileForNeutral = compile?.neutral ?? { src: {} };
|
|
365
|
+
return (await Promise.all(
|
|
366
|
+
Object.entries(compileForNode).map(async ([srcDir, options]) => {
|
|
367
|
+
const optionsObject = typeof options === "object" ? options : {};
|
|
368
|
+
const inEsBuildOptions = typeof compile?.node?.esbuildOptions === "object" ? compile?.node?.esbuildOptions : {};
|
|
369
|
+
const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
|
|
370
|
+
const platform = "node";
|
|
371
|
+
const rootOutDir = optionsObject.outDir ?? "dist";
|
|
372
|
+
const outDir = rootOutDir + "/" + platform;
|
|
373
|
+
return typeof srcDir === "string" ? await compileFolder(
|
|
374
|
+
srcDir,
|
|
375
|
+
entry,
|
|
376
|
+
outDirAsBuildDir ? rootOutDir : "build",
|
|
377
|
+
tsupOptions([
|
|
378
|
+
inEsBuildOptions,
|
|
379
|
+
compile?.tsup?.options ?? {},
|
|
380
|
+
typeof options === "object" ? options : {},
|
|
381
|
+
{ platform: "node", outDir }
|
|
382
|
+
]),
|
|
383
|
+
bundleTypes,
|
|
384
|
+
verbose
|
|
385
|
+
) : 0;
|
|
386
|
+
})
|
|
387
|
+
)).reduce((prev, value) => prev + value, 0) + (await Promise.all(
|
|
388
|
+
Object.entries(compileForBrowser).map(async ([srcDir, options]) => {
|
|
389
|
+
const optionsObject = typeof options === "object" ? options : {};
|
|
390
|
+
const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === "object" ? compile?.browser?.esbuildOptions : {};
|
|
391
|
+
const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
|
|
392
|
+
const platform = "browser";
|
|
393
|
+
const rootOutDir = optionsObject.outDir ?? "dist";
|
|
394
|
+
const outDir = rootOutDir + "/" + platform;
|
|
395
|
+
return typeof srcDir === "string" ? await compileFolder(
|
|
396
|
+
srcDir,
|
|
397
|
+
entry,
|
|
398
|
+
outDirAsBuildDir ? rootOutDir : "build",
|
|
399
|
+
tsupOptions([
|
|
400
|
+
inEsBuildOptions,
|
|
401
|
+
compile?.tsup?.options ?? {},
|
|
402
|
+
typeof options === "object" ? options : {},
|
|
403
|
+
{ platform: "browser", outDir }
|
|
404
|
+
]),
|
|
405
|
+
bundleTypes,
|
|
406
|
+
verbose
|
|
407
|
+
) : 0;
|
|
408
|
+
})
|
|
409
|
+
)).reduce((prev, value) => prev + value, 0) + (await Promise.all(
|
|
410
|
+
Object.entries(compileForNeutral).map(async ([srcDir, options]) => {
|
|
411
|
+
const optionsObject = typeof options === "object" ? options : {};
|
|
412
|
+
const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === "object" ? compile?.neutral?.esbuildOptions : {};
|
|
413
|
+
const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
|
|
414
|
+
const platform = "neutral";
|
|
415
|
+
const rootOutDir = optionsObject.outDir ?? "dist";
|
|
416
|
+
const outDir = rootOutDir + "/" + platform;
|
|
417
|
+
return typeof srcDir === "string" ? await compileFolder(
|
|
418
|
+
srcDir,
|
|
419
|
+
entry,
|
|
420
|
+
outDirAsBuildDir ? rootOutDir : "build",
|
|
421
|
+
tsupOptions([
|
|
422
|
+
inEsBuildOptions,
|
|
423
|
+
compile?.tsup?.options ?? {},
|
|
424
|
+
typeof options === "object" ? options : {},
|
|
425
|
+
{ platform: "neutral", outDir }
|
|
426
|
+
]),
|
|
427
|
+
bundleTypes,
|
|
428
|
+
verbose
|
|
429
|
+
) : 0;
|
|
430
|
+
})
|
|
431
|
+
)).reduce((prev, value) => prev + value, 0) + 0;
|
|
432
|
+
};
|
|
433
|
+
|
|
434
|
+
// src/actions/package/compile/compile.ts
|
|
435
|
+
var packageCompile = async (inConfig = {}) => {
|
|
436
|
+
const pkg = cwd4();
|
|
437
|
+
console.log(chalk6.green(`Compiling ${pkg}`));
|
|
438
|
+
const config2 = await loadConfig(inConfig);
|
|
439
|
+
return await packageCompileTsup(config2);
|
|
440
|
+
};
|
|
441
|
+
|
|
442
|
+
// src/bin/package/build-only.ts
|
|
443
|
+
packageCompile().then((value) => {
|
|
444
|
+
if (value !== 0) {
|
|
445
|
+
process.exit(value);
|
|
446
|
+
}
|
|
447
|
+
}).catch((reason) => {
|
|
448
|
+
console.error(chalk7.red(reason));
|
|
449
|
+
process.exit(-1);
|
|
450
|
+
});
|
|
451
|
+
//# sourceMappingURL=build-only.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/bin/package/build-only.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/compile/compile.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/deepMerge.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport chalk from 'chalk'\n\nimport { packageCompile } from '../../actions/index.ts'\n\npackageCompile()\n .then((value) => {\n if (value !== 0) {\n process.exit(value)\n }\n })\n .catch((reason) => {\n console.error(chalk.red(reason))\n process.exit(-1)\n })\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport { TypeScriptLoader } from 'cosmiconfig-typescript-loader'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\nlet rootConfigPath: string | undefined\n\nconst workspaceConfigCache = new Map<string, Record<string, unknown>>()\nconst deprecationWarned = new Set<string>()\n\nfunction createExplorer() {\n return cosmiconfig('xy', { cache: true, loaders: { '.ts': TypeScriptLoader() } })\n}\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config === undefined) {\n const cosmicConfigResult = await createExplorer().search()\n config = (cosmicConfigResult?.config ?? {}) as Record<string, unknown>\n rootConfigPath = cosmicConfigResult?.filepath\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath !== undefined) {\n console.log(chalk.green(`Loaded config from ${configFilePath}`))\n if (config.verbose) {\n console.log(chalk.gray(`${JSON.stringify(config, null, 2)}`))\n }\n }\n }\n return deepmerge(config, params ?? {}) as T\n}\n\n/**\n * Loads the xy.config from a specific workspace directory.\n * Returns an empty object if the workspace has no config or if\n * the found config is the root config (avoids double-applying).\n */\nasync function loadWorkspaceConfig(workspaceDir: string): Promise<Record<string, unknown>> {\n const cached = workspaceConfigCache.get(workspaceDir)\n if (cached !== undefined) return cached\n\n const result = await createExplorer().search(workspaceDir)\n\n // If no config found or it's the root config, no workspace override\n if (!result || result.filepath === rootConfigPath) {\n workspaceConfigCache.set(workspaceDir, {})\n return {}\n }\n\n const wsConfig = (result.config ?? {}) as Record<string, unknown>\n workspaceConfigCache.set(workspaceDir, wsConfig)\n return wsConfig\n}\n\n/** Deprecated top-level fields that should be under `commands`. */\nconst DEPRECATED_COMMAND_FIELDS = new Set(['deplint', 'publint'])\n\n/**\n * Resolves a command's config field from a config object.\n * Prefers `commands.[name]` over top-level `[name]`.\n * Warns once per config file when a deprecated top-level field is used.\n */\nfunction resolveCommandField(\n cfg: Record<string, unknown>,\n commandName: string,\n configPath?: string,\n): Record<string, unknown> {\n const commands = cfg.commands as Record<string, unknown> | undefined\n const fromCommands = commands?.[commandName]\n const fromTopLevel = cfg[commandName]\n\n if (fromCommands !== undefined && typeof fromCommands === 'object') {\n return fromCommands as Record<string, unknown>\n }\n\n if (fromTopLevel !== undefined && typeof fromTopLevel === 'object'\n && DEPRECATED_COMMAND_FIELDS.has(commandName)) {\n const key = `${configPath ?? 'unknown'}:${commandName}`\n if (!deprecationWarned.has(key)) {\n deprecationWarned.add(key)\n console.warn(chalk.yellow(\n `[xy] Deprecated: top-level \"${commandName}\" in ${configPath ?? 'xy.config'} — move to \"commands.${commandName}\"`,\n ))\n }\n return fromTopLevel as Record<string, unknown>\n }\n\n return {}\n}\n\n/**\n * Loads a command-specific config merged from root and workspace levels.\n * The root config provides defaults; the workspace config extends/overrides.\n * Arrays (e.g. `exclude`) are unioned and maps (e.g. `packages`) are merged\n * via deepmerge, with workspace entries overriding root entries for the same key.\n */\nexport async function loadWorkspaceCommandConfig<C>(\n workspaceDir: string,\n commandName: string,\n): Promise<C> {\n // Ensure root config is loaded\n const root = await loadConfig()\n const rootCmd = resolveCommandField(root as Record<string, unknown>, commandName, rootConfigPath)\n\n const wsConfig = await loadWorkspaceConfig(workspaceDir)\n const wsConfigPath = workspaceConfigCache.has(workspaceDir) ? workspaceDir : undefined\n const wsCmd = resolveCommandField(wsConfig, commandName, wsConfigPath)\n\n return deepmerge(rootCmd, wsCmd) as C\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport type { XyConfig } from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}): Promise<number> => {\n const pkg = cwd()\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n\n return await packageCompileTsup(config)\n}\n","import chalk from 'chalk'\nimport type { Loader } from 'esbuild'\nimport type { Options } from 'tsup'\nimport { build, defineConfig } from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { deepMergeObjects } from './deepMerge.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport type { XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n srcDir: string,\n entries: string[],\n buildDir: string,\n options?: Options,\n bundleTypes = false,\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (verbose) {\n console.log(`compileFolder [${srcDir}, ${options?.outDir}]`)\n }\n\n if (entries.length === 0) {\n console.warn(chalk.yellow(`No entries found in ${srcDir} to compile`))\n return 0\n }\n\n if (verbose) {\n console.log(chalk.gray(`buildDir [${buildDir}]`))\n }\n\n const validationResult = packageCompileTsc(options?.platform ?? 'neutral', entries, srcDir, buildDir, undefined, verbose)\n if (validationResult !== 0) {\n console.error(chalk.red(`Compile:Validation had ${validationResult} errors`))\n return validationResult\n }\n\n const optionsParams: Options = tsupOptions([{\n bundle: true,\n cjsInterop: true,\n clean: false,\n dts: false,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\n entry: entries.map(entry => `${srcDir}/${entry}`),\n }])\n\n const optionsResult = defineConfig(optionsParams)\n\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n if (verbose) {\n console.log(chalk.cyan(`TSUP:build:start [${srcDir}]`))\n console.log(chalk.gray(`TSUP:build:options [${JSON.stringify(optionsList, null, 2)}]`))\n }\n\n await Promise.all(optionsList.map(options => build(options)))\n\n if (verbose) {\n console.log(chalk.cyan(`TSUP:build:stop [${srcDir}]`))\n }\n if (bundleTypes) {\n await packageCompileTscTypes(entries, outDir, options?.platform ?? 'neutral', buildDir, verbose)\n }\n\n return 0\n}\n\nexport const tsupOptions = (options: Options[] = []): Options => {\n const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'text', '.webp': 'copy',\n }\n\n const standardOptions: Options = {\n bundle: true,\n format: ['esm'],\n loader: standardLoaders,\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n }\n\n return deepMergeObjects([standardOptions, ...options])\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const verbose = config?.verbose ?? false\n const outDirAsBuildDir = compile?.outDirAsBuildDir ?? true\n const bundleTypes = compile?.bundleTypes ?? false\n if (verbose) {\n console.log('Compiling with TSUP')\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n return (\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([srcDir, options]) => {\n const optionsObject: Options = typeof options === 'object' ? options : {}\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose)\n const platform = 'node'\n const rootOutDir = (optionsObject.outDir ?? 'dist')\n const outDir = rootOutDir + '/' + platform\n return typeof srcDir === 'string'\n ? await compileFolder(\n srcDir,\n entry,\n outDirAsBuildDir ? rootOutDir : 'build',\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'node', outDir }]),\n bundleTypes,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n + (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([srcDir, options]) => {\n const optionsObject: Options = typeof options === 'object' ? options : {}\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose)\n const platform = 'browser'\n const rootOutDir = (optionsObject.outDir ?? 'dist')\n const outDir = rootOutDir + '/' + platform\n return typeof srcDir === 'string'\n ? await compileFolder(\n srcDir,\n entry,\n outDirAsBuildDir ? rootOutDir : 'build',\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'browser', outDir }]),\n bundleTypes,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n + (\n await Promise.all(\n Object.entries(compileForNeutral).map(async ([srcDir, options]) => {\n const optionsObject: Options = typeof options === 'object' ? options : {}\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose)\n const platform = 'neutral'\n const rootOutDir = (optionsObject.outDir ?? 'dist')\n const outDir = rootOutDir + '/' + platform\n return typeof srcDir === 'string'\n ? await compileFolder(\n srcDir,\n entry,\n outDirAsBuildDir ? rootOutDir : 'build',\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'neutral', outDir }]),\n bundleTypes,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n + 0\n )\n}\n","import chalk from 'chalk'\nimport { glob } from 'glob'\n\nexport const getAllInputs = (srcDir: string, verbose = false) => {\n /* tsup wants posix paths */\n return [...glob.sync(`${srcDir}/**/*.ts`, { posix: true }).map((file) => {\n const result = file.slice(Math.max(0, srcDir.length + 1)) // Remove the folder prefix\n if (verbose) {\n console.log(chalk.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`))\n }\n return result\n }), ...glob.sync(`${srcDir}/**/*.tsx`, { posix: true }).map((file) => {\n const result = file.slice(Math.max(0, srcDir.length + 1)) // Remove the folder prefix\n if (verbose) {\n console.log(chalk.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`))\n }\n return result\n })]\n}\n","import type { Options } from 'tsup'\n\nimport { getAllInputs } from './inputs.ts'\nimport type { EntryMode } from './XyConfig.ts'\n\nconst isSpecOrStory = (entry: string) => {\n return entry.includes('.spec.') || entry.includes('.stories.')\n || entry.startsWith('spec/') || entry.includes('/spec/')\n || entry.startsWith('stories/') || entry.includes('/stories/')\n || entry === 'spec.ts' || entry.endsWith('/spec.ts')\n || entry === 'stories.ts' || entry.endsWith('/stories.ts')\n}\n\nexport const buildEntries = (srcDir: string, entryMode: EntryMode = 'single', options?: Options | boolean, excludeSpecAndStories = true, verbose = false) => {\n let entries: string[]\n switch (entryMode) {\n case 'platform': {\n entries = ['index-node.ts', 'index-browser.ts']\n break\n }\n case 'all': {\n entries = (excludeSpecAndStories\n ? getAllInputs(srcDir).filter(entry => !isSpecOrStory(entry))\n : getAllInputs(srcDir)).filter(entry => !entry.endsWith('.d.ts'))\n break\n }\n case 'custom': {\n entries = []\n break\n }\n default: {\n entries = ['index.ts']\n break\n }\n }\n\n if (typeof options !== 'boolean' && Array.isArray(options?.entry)) {\n entries.push(...options.entry)\n }\n\n if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`)\n return entries\n}\n","type AnyObject = Record<string, unknown>\n\nfunction deepMerge<T extends AnyObject>(target: AnyObject, source: AnyObject): T {\n if (!source || typeof source !== 'object') return target as T\n\n for (const key of Object.keys(source)) {\n const sourceVal = source[key]\n if (\n typeof sourceVal === 'object'\n && sourceVal !== null\n && !Array.isArray(sourceVal)\n ) {\n // Recursively merge nested objects\n if (!target[key] || typeof target[key] !== 'object') {\n target[key] = {}\n }\n deepMerge(target[key] as AnyObject, sourceVal as AnyObject)\n } else {\n // Overwrite with non-object values\n target[key] = sourceVal\n }\n }\n\n return target as T\n}\n\nexport function deepMergeObjects<T extends AnyObject>(objects: T[]): T {\n const result = {} as T\n for (const obj of objects) {\n deepMerge(result, obj)\n }\n return result\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport type { TsConfigCompilerOptions } from 'tsc-prog'\nimport { createProgramFromConfig } from 'tsc-prog'\nimport type { CompilerOptions } from 'typescript'\nimport ts, {\n DiagnosticCategory, formatDiagnosticsWithColorAndContext, getPreEmitDiagnostics, sys,\n} from 'typescript'\n\nimport { getCompilerOptions } from './getCompilerOptions.ts'\n\nexport const packageCompileTsc = (\n platform: 'browser' | 'neutral' | 'node',\n entries: string[],\n srcDir = 'src',\n outDir = 'dist',\n compilerOptionsParam?: CompilerOptions,\n verbose = false,\n): number => {\n const pkg = cwd()\n\n if (verbose) {\n console.log(chalk.cyan(`Validating code START: ${entries.length} files to ${outDir} from ${srcDir}`))\n }\n\n const configFilePath = ts.findConfigFile(\n pkg,\n (fileName: string) => ts.sys.fileExists(fileName),\n 'tsconfig.json',\n )\n\n if (configFilePath === undefined) {\n throw new Error('Could not find tsconfig.json')\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\n })),\n ...compilerOptionsParam,\n outDir: `${outDir}/${platform}`,\n emitDeclarationOnly: true,\n noEmit: false,\n } as TsConfigCompilerOptions\n\n console.log(chalk.cyan(`Validating Files: ${entries.length}`))\n if (verbose) {\n for (const entry of entries) {\n console.log(chalk.grey(`Validating: ${entry}`))\n }\n }\n\n try {\n if (entries.length > 0) {\n const program = createProgramFromConfig({\n configFilePath,\n basePath: pkg,\n compilerOptions,\n files: entries.map(entry => `${srcDir}/${entry}`),\n include: [`${srcDir}/**/*.*`],\n })\n\n const diagnostics = getPreEmitDiagnostics(program)\n\n if (diagnostics.length > 0) {\n const formattedDiagnostics = formatDiagnosticsWithColorAndContext(\n diagnostics,\n {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => srcDir,\n getNewLine: () => sys.newLine,\n },\n )\n console.error(formattedDiagnostics)\n }\n\n // We use a custom writeFile callback to prevent non-entry files (like\n // .stories.* and .spec.* files) from emitting .d.ts output into dist.\n //\n // Background: The `include` glob above intentionally brings ALL source\n // files into the TypeScript program so they get type-checked during build\n // (catching errors in storybook/test files too). However, we only want\n // .d.ts output for the actual library entries — not for stories, specs,\n // or examples. Without this filter, every file matched by the include\n // glob would produce a .d.ts file in the dist folder.\n const nonEmitPatterns = ['.stories.', '/stories/', '/stories.', '.spec.', '/spec/', '/spec.', '.example.']\n program.emit(undefined, (fileName, text, writeByteOrderMark) => {\n if (nonEmitPatterns.some(pattern => fileName.includes(pattern))) {\n return\n }\n ts.sys.writeFile(fileName, text, writeByteOrderMark)\n })\n return diagnostics.reduce((acc, diag) => acc + (diag.category === DiagnosticCategory.Error ? 1 : 0), 0)\n }\n return 0\n } finally {\n if (verbose) {\n console.log(chalk.cyan(`Validating code FINISH: ${entries.length} files to ${outDir} from ${srcDir}`))\n }\n }\n}\n","import { cwd } from 'node:process'\n\nimport deepmerge from 'deepmerge'\nimport { getTsconfig } from 'get-tsconfig'\nimport type { CompilerOptions } from 'typescript'\n\nexport const getCompilerOptions = (options: CompilerOptions = {}, fileName = 'tsconfig.json'): CompilerOptions => {\n const resolvedTsConfigCompilerOptions = getTsconfig(cwd(), fileName)?.config?.compilerOptions ?? {}\n\n return deepmerge(resolvedTsConfigCompilerOptions, options)\n}\n","import path from 'node:path'\nimport { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { rollup } from 'rollup'\nimport type { Options } from 'rollup-plugin-dts'\nimport dts from 'rollup-plugin-dts'\nimport nodeExternals from 'rollup-plugin-node-externals'\n\nimport { getCompilerOptions } from './getCompilerOptions.ts'\n\nconst ignoredWarningCodes = new Set(['EMPTY_BUNDLE', 'UNRESOLVED_IMPORT'])\n\nexport async function bundleDts(inputPath: string, outputPath: string, platform: 'node' | 'browser' | 'neutral', options?: Options, verbose = false) {\n // Find the tsconfig.json path\n const pkg = cwd()\n const tsconfigPath = path.resolve(pkg, 'tsconfig.json')\n\n const nodePlugIns = platform === 'node' ? [nodeExternals()] : []\n try {\n const bundle = await rollup({\n input: inputPath,\n\n plugins: [dts({\n ...options,\n tsconfig: tsconfigPath,\n compilerOptions: {\n emitDeclarationOnly: true, noEmit: false, declarationMap: true,\n },\n\n }), ...nodePlugIns],\n onwarn(warning, warn) {\n if (ignoredWarningCodes.has(warning.code ?? '')) {\n return\n }\n console.warn(chalk.yellow(`[${warning.code}] ${warning.message}`))\n console.warn(chalk.gray(inputPath))\n warn(warning)\n },\n })\n await bundle.write({\n file: outputPath,\n format: 'es',\n })\n } catch (ex) {\n const error = ex as Error\n console.warn(chalk.red(error))\n console.warn(chalk.gray(inputPath))\n }\n\n if (verbose) {\n console.log(`Bundled declarations written to ${outputPath}`)\n }\n}\n\nexport const packageCompileTscTypes = async (\n entries: string[],\n outDir: string,\n platform: 'node' | 'browser' | 'neutral',\n srcDir = 'build',\n verbose = false,\n): Promise<number> => {\n if (verbose) {\n console.log(chalk.cyan(`Compiling Types START [${platform}]: ${entries.length} files to ${outDir} from ${srcDir}`))\n console.log(`Entries: ${entries.join(', ')}`)\n }\n const pkg = cwd()\n const srcRoot = `${pkg}/${srcDir}/${platform}`\n\n const entryNameToTypeName = (entry: string): string => {\n const splitEntryName = entry.split('.')\n const newEntryExtension = 'd.' + splitEntryName.at(-1)\n return [...splitEntryName.slice(0, -1), newEntryExtension].join('.')\n }\n\n const compilerOptions = getCompilerOptions({\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n declarationMap: true,\n emitDeclarationOnly: true,\n noEmit: true,\n })\n\n const entryNames = entries.map(entry => entry.split(`${srcDir}/`).at(-1) ?? entry)\n\n await Promise.all(entryNames.map(async (entryName) => {\n const entryTypeName = entryNameToTypeName(entryName)\n await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, { compilerOptions }, verbose)\n }))\n\n if (verbose) {\n console.log(chalk.cyan(`Compiling Types FINISH: ${entries.length} files to ${outDir} from ${srcDir}`))\n }\n\n return 0\n}\n"],"mappings":"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","names":["chalk","cwd","chalk","chalk","chalk","cwd","chalk","deepmerge","cwd","chalk","cwd","chalk","cwd","chalk","chalk","options","config","cwd","chalk","config","chalk"]}
|