@xylabs/ts-scripts-yarn3 5.0.38 → 5.0.39
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/index.mjs +2 -2
- package/dist/actions/index.mjs.map +1 -1
- package/dist/actions/package/compile/buildEntries.mjs +1 -1
- package/dist/actions/package/compile/buildEntries.mjs.map +1 -1
- package/dist/actions/package/compile/compile.mjs +2 -2
- package/dist/actions/package/compile/compile.mjs.map +1 -1
- package/dist/actions/package/compile/index.mjs +2 -2
- package/dist/actions/package/compile/index.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTscTypes.mjs +2 -2
- package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTsup.mjs +2 -2
- package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
- package/dist/actions/package/index.mjs +2 -2
- package/dist/actions/package/index.mjs.map +1 -1
- package/dist/actions/package/recompile.mjs +2 -2
- package/dist/actions/package/recompile.mjs.map +1 -1
- package/dist/bin/package/build-only.mjs +2 -2
- package/dist/bin/package/build-only.mjs.map +1 -1
- package/dist/bin/package/build.mjs +2 -2
- package/dist/bin/package/build.mjs.map +1 -1
- package/dist/bin/package/compile-only.mjs +2 -2
- package/dist/bin/package/compile-only.mjs.map +1 -1
- package/dist/bin/package/compile-tsup.mjs +2 -2
- package/dist/bin/package/compile-tsup.mjs.map +1 -1
- package/dist/bin/package/compile.mjs +2 -2
- package/dist/bin/package/compile.mjs.map +1 -1
- package/dist/bin/package/recompile.mjs +2 -2
- package/dist/bin/package/recompile.mjs.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/actions/package/compile/buildEntries.ts +1 -1
- package/src/actions/package/compile/packageCompileTscTypes.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/package/clean-outputs.ts","../../../src/lib/checkResult.ts","../../../src/lib/deleteGlob.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/copy-assets.ts","../../../src/actions/package/deps.ts","../../../src/actions/package/gen-docs.ts","../../../src/actions/package/recompile.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanOutputs = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n for (let folder of folders) {\n deleteGlob(folder)\n }\n\n return 0\n}\n","import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import fs from 'node:fs'\n\nimport { glob } from 'glob'\n\nexport const deleteGlob = (globPath: string) => {\n // Find all files matching the glob pattern\n const files = glob.sync(globPath)\n\n // Remove each file or directory\n for (const file of files) {\n fs.rmSync(file, { recursive: true, force: true })\n }\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return deepmerge(config, params ?? {}) as T\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanTypescript = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n for (let file of files) {\n deleteGlob(file)\n }\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\nimport sortPackageJson from 'sort-package-json'\n\nexport interface PackagePublintParams { verbose?: boolean }\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n\n const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n await fs.writeFile(`${pkgDir}/package.json`, sortedPkg)\n\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import-x/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /* try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n } */\n }\n\n // we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter(message => message.type === 'error').length\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport {\n CompilerOptions,\n DiagnosticCategory,\n FormatDiagnosticsHost,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n LineAndCharacter,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport deepmerge from 'deepmerge'\nimport { TsConfig } from 'tsc-prog'\nimport {\n CompilerOptions,\n findConfigFile, readConfigFile, sys,\n} from 'typescript'\n\nconst getNested = (config: TsConfig): CompilerOptions => {\n if (config.extends) {\n const require = createRequire(import.meta.url)\n const opts = require(config.extends)\n return deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {\n const config = readConfigFile(filename, sys.readFile).config\n return getNested(config)\n}\n\nexport const getCompilerOptions = (options: CompilerOptions = {}, tsconfig: string = 'tsconfig.json'): CompilerOptions => {\n const configFileName = findConfigFile('./', sys.fileExists, tsconfig)\n const configFileCompilerOptions = (configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : undefined) ?? {}\n\n return deepmerge(configFileCompilerOptions, options)\n}\n","import { Loader } from 'esbuild'\nimport {\n build, defineConfig, Options,\n} from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (verbose) {\n console.log(`compileFolder [${folder}]`)\n }\n\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: types === 'tsup',\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\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(`TSUP:build:start [${folder}] ${types}`)\n }\n\n await Promise.all(optionsList.map(options => build(options)))\n\n if (verbose) {\n console.log(`TSUP:build:stop [${folder}] ${types}`)\n }\n\n if (types === 'tsc') {\n if (verbose) {\n console.log(`Calling packageCompileTscTypes [${folder}] ${types}`)\n }\n const errors = packageCompileTscTypes(folder, { verbose }, { outDir })\n if (errors) {\n return errors\n }\n }\n\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\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 (\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/node',\n platform: 'node',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } from './inputs.ts'\nimport { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode: EntryMode = 'single', verbose = false) => {\n let entries: string[] = []\n switch (entryMode) {\n case 'platform': {\n entries = [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n break\n }\n case 'all': {\n entries = getAllInputs(folder).filter(entry => !entry.includes('.spec.') && !entry.includes('.story.'))\n break\n }\n default: {\n entries = [`${folder}/index.ts`]\n break\n }\n }\n if (verbose) console.log(`buildEntries [${entryMode}] ${entries}`)\n return entries\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport { CompilerOptions, DiagnosticCategory } from 'typescript'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): number => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n if (verbose) {\n console.log(`Compiling types with TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\n })),\n ...compilerOptionsParam,\n emitDeclarationOnly: true,\n noEmit: false,\n } as TsConfigCompilerOptions\n\n // calling all here since the types do not get rolled up\n const files = buildEntries(folder, 'all', true)\n\n const result = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n files,\n }).emit()\n\n const diagResults = result.diagnostics.length\n for (const diag of result.diagnostics) {\n switch (diag.category) {\n case DiagnosticCategory.Error: {\n console.error(chalk.red(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Warning: {\n console.error(chalk.yellow(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Suggestion: {\n console.error(chalk.white(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n }\n }\n return diagResults\n}\n","import path from 'node:path/posix'\n\nimport chalk from 'chalk'\nimport cpy from 'cpy'\n\nexport interface PackageCopyAssetsParams { target?: 'esm' | 'cjs' }\n\nconst copyTargetAssets = async (target: 'esm' | 'cjs', name: string, location: string) => {\n try {\n const values = await cpy(\n ['**/*.jpg', '**/*.png', '**/*.gif', '**/*.svg', '**/*.webp', '**/*.sass', '**/*.scss', '**/*.gif', '**/*.css'],\n `../dist/${target}`,\n {\n cwd: path.join(location, 'src'),\n flat: false,\n },\n )\n if (values.length > 0) {\n console.log(chalk.green(`Copying Assets [${target.toUpperCase()}] - ${name} - ${location}`))\n }\n for (const value of values) {\n console.log(`${value.split('/').pop()} => ./dist/${target}`)\n }\n return 0\n } catch (ex) {\n const error = ex as Error\n console.log(`Copy Assets Failed: ${name}: ${error.message}`)\n return 1\n }\n}\n\nexport const packageCopyAssets = async ({ target }: PackageCopyAssetsParams) => {\n const pkg = process.env.INIT_CWD ?? './'\n const pkgName = process.env.npm_package_name ?? 'Unknown'\n switch (target) {\n case 'esm': {\n return await copyTargetAssets('esm', pkgName, pkg)\n }\n case 'cjs': {\n return await copyTargetAssets('cjs', pkgName, pkg)\n }\n default: {\n return (await copyTargetAssets('esm', pkgName, pkg)) || (await copyTargetAssets('cjs', pkgName, pkg))\n }\n }\n}\n","/* eslint-disable max-statements */\nimport { existsSync, readFileSync } from 'node:fs'\nimport { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport depcheck from 'depcheck'\nconst special = depcheck.special\n\nimport { checkResult } from '../../lib/index.ts'\n\nconst defaultIgnorePatterns = ['*.d.ts', 'dist', '.*', 'node_modules']\nconst defaultIgnoreDevDeps = [\n '@xylabs/ts-scripts-yarn3',\n '@xylabs/tsconfig',\n '@xylabs/tsconfig-dom',\n '@xylabs/tsconfig-react',\n 'typescript',\n]\nconst defaultIgnoreDevPatterns = ['*.stories.*', '*.spec.*', 'spec', 'stories', 'tsconfig.json']\n\nconst reportUnused = (name: string, unused: depcheck.Results['dependencies']) => {\n if (unused.length > 0) {\n const message = [chalk.yellow(`${unused.length} Unused ${name}`)]\n for (const value of unused) message.push(chalk.gray(` ${value}`))\n console.log(message.join('\\n'))\n }\n}\n\nconst reportMissing = (name: string, missing: depcheck.Results['missing']) => {\n if (Object.keys(missing).length > 0) {\n const message = [chalk.yellow(`${Object.entries(missing).length} Missing ${name}`)]\n for (const [key, value] of Object.entries(missing)) {\n message.push(`${key}`, chalk.gray(` ${value.at(0)}`))\n }\n console.log(chalk.yellow(message.join('\\n')))\n }\n}\n\nconst analyzeDeps = async (pkg: string, ignoreMatches: string[]) => {\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n const [srcUnused, allUnused] = await Promise.all([\n depcheck(`${pkg}/src`, {\n ignoreMatches,\n ignorePatterns: [...defaultIgnoreDevPatterns, ...defaultIgnorePatterns],\n package: packageContent,\n }),\n depcheck(`${pkg}/.`, {\n ignoreMatches: [...ignoreMatches, ...defaultIgnoreDevDeps],\n ignorePatterns: [...defaultIgnorePatterns],\n package: packageContent,\n specials: [special.eslint, special.babel, special.bin, special.prettier, special.jest, special.mocha],\n }),\n ])\n\n const unusedDeps = srcUnused.dependencies\n const unusedDevDeps = allUnused.devDependencies\n const usedDeps = srcUnused.using\n const usedDevDeps = allUnused.using\n const missing = { ...srcUnused.missing, ...allUnused.missing }\n const { invalidDirs, invalidFiles } = allUnused\n\n return {\n invalidDirs, invalidFiles, missing, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps,\n }\n}\n\nexport const packageDeps = async () => {\n const pkg = process.env.INIT_CWD ?? cwd()\n const pkgName = process.env.npm_package_name\n\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n\n const rawIgnore\n = existsSync(`${pkg}/.depcheckrc`) ? readFileSync(`${pkg}/.depcheckrc`, { encoding: 'utf8' }).replace('ignores:', '\"ignores\":') : undefined\n let ignoreMatches: string[] = []\n try {\n ignoreMatches = rawIgnore ? (JSON.parse(`{${rawIgnore}}`).ignores as string[]) : []\n } catch (ex) {\n const error = ex as Error\n console.log(`${pkgName} [${error.message}] Failed to parse .depcheckrc [${rawIgnore}]`)\n }\n\n const {\n invalidDirs, invalidFiles, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps, missing,\n } = await analyzeDeps(pkg, ignoreMatches)\n\n const declaredDeps = Object.keys(packageContent.dependencies ?? {})\n const declaredPeerDeps = Object.keys(packageContent.peerDependencies ?? {})\n const declaredDevDeps = Object.keys(packageContent.devDependencies ?? {})\n\n const missingDeps = Object.keys(usedDeps).filter(\n key => !declaredDeps.includes(key) && !declaredPeerDeps.includes(key) && !key.startsWith('@types/'),\n )\n\n const missingDevDeps = Object.keys(usedDevDeps).filter(key => !declaredDevDeps.includes(key) && !declaredDeps.includes(key))\n\n const missingDepsObject: Record<string, string[]> = {}\n for (const key of missingDeps) {\n missingDepsObject[key] = missing[key] ?? [`devDep should be dep [${key}]`]\n }\n\n const missingDevDepsObject: Record<string, string[]> = {}\n for (const key of missingDevDeps) {\n if (missing[key]) {\n missingDevDepsObject[key] = missing[key]\n }\n }\n\n const errorCounts = [\n unusedDeps.length,\n unusedDevDeps.length,\n Object.entries(invalidDirs).length,\n Object.entries(invalidFiles).length,\n Object.entries(missingDepsObject).length,\n Object.entries(missingDevDepsObject).length,\n ]\n\n const errorCount = errorCounts.reduce((prev, count) => prev + count, 0)\n\n if (errorCount > 0) {\n console.log(`Deps [${pkgName}] = (${JSON.stringify(errorCounts)})`)\n } else {\n console.log(`Deps [${pkgName}] - Ok`)\n }\n\n reportUnused('dependencies', unusedDeps)\n reportUnused('devDependencies', unusedDevDeps)\n\n if (Object.entries(invalidDirs).length > 0) {\n for (const [key, value] of Object.entries(invalidDirs)) console.warn(chalk.gray(`Invalid Dir: ${key}: ${value}`))\n }\n\n if (Object.entries(invalidFiles).length > 0) {\n for (const [key, value] of Object.entries(invalidFiles)) console.warn(chalk.gray(`Invalid File: ${key}: ${value}`))\n }\n\n reportMissing('dependencies', missingDepsObject)\n reportMissing('devDependencies', missingDevDepsObject)\n\n checkResult(`Deps [${pkgName}]`, errorCount, 'warn', false)\n\n // returning 0 here since we never want deps to be fatal\n return 0\n}\n","/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { existsSync } from 'node:fs'\nimport path from 'node:path'\n\nimport chalk from 'chalk'\nimport {\n Application, ArgumentsReader, TSConfigReader, TypeDocReader,\n} from 'typedoc'\n\nconst ExitCodes = {\n CompileError: 3,\n ExceptionThrown: 6,\n NoEntryPoints: 2,\n Ok: 0,\n OptionError: 1,\n OutputError: 5,\n ValidationError: 4,\n}\n\nexport const packageGenDocs = async () => {\n const pkg = process.env.INIT_CWD\n\n if (pkg && !existsSync(path.join(pkg, 'typedoc.json'))) {\n return\n }\n\n const app = await Application.bootstrap({\n entryPointStrategy: 'merge',\n entryPoints: [`${pkg}/src/**/*.ts`, `${pkg}/packages/*/dist/docs.json`],\n excludeExternals: true,\n json: `${pkg}/dist/docs.json`,\n logLevel: 'Error',\n tsconfig: `${pkg}/tsconfig.json`,\n })\n\n app.options.addReader(new ArgumentsReader(0))\n app.options.addReader(new TypeDocReader())\n app.options.addReader(new TSConfigReader())\n app.options.addReader(new ArgumentsReader(300))\n\n return await runTypeDoc(app)\n}\n\nconst runTypeDoc = async (app: Application) => {\n const pkgName = process.env.npm_package_name\n if (app.options.getValue('version')) {\n console.log(app.toString())\n return ExitCodes.Ok\n }\n\n if (app.options.getValue('showConfig')) {\n console.log(app.options.getRawValues())\n return ExitCodes.Ok\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OptionError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OptionError\n }\n\n if (app.options.getValue('entryPoints').length === 0) {\n app.logger.error('No entry points provided')\n return ExitCodes.NoEntryPoints\n }\n\n if (app.options.getValue('watch')) {\n await app.convertAndWatch(async (project) => {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n })\n return ExitCodes.Ok\n }\n\n const project = await app.convert()\n if (!project) {\n return ExitCodes.CompileError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.CompileError\n }\n\n app.validate(project)\n if (app.logger.hasErrors()) {\n return ExitCodes.ValidationError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.ValidationError\n }\n\n if (app.options.getValue('emit') !== 'none') {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OutputError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OutputError\n }\n }\n console.log(chalk.green(`${pkgName} - Ok`))\n return ExitCodes.Ok\n}\n","import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return await packageClean() || await packageCompile()\n}\n"],"mappings":"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","names":["path","chalk","chalk","checkResult","name","result","level","exitOnFail","exiting","chalkFunc","chalk","red","yellow","console","process","exit","fs","glob","deleteGlob","globPath","files","glob","sync","file","fs","rmSync","recursive","force","chalk","cosmiconfig","deepmerge","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","packageCleanOutputs","pkg","process","env","INIT_CWD","pkgName","npm_package_name","folders","path","join","console","log","chalk","green","folder","deleteGlob","path","chalk","packageCleanTypescript","pkg","process","env","INIT_CWD","pkgName","npm_package_name","console","log","chalk","green","files","path","join","file","deleteGlob","packageClean","Promise","all","packageCleanOutputs","packageCleanTypescript","reduce","prev","value","chalk","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","formatDiagnosticsWithColorAndContext","getLineAndCharacterOfPosition","getPreEmitDiagnostics","createRequire","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","entries","getAllInputs","filter","entry","includes","console","log","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","verbose","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","noEmit","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","compileFolder","folder","entryMode","options","types","verbose","outDir","console","log","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","errors","packageCompileTscTypes","packageCompileTsup","config","warn","compile","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","Object","entries","inEsBuildOptions","esbuildOptions","platform","tsup","reduce","prev","value","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","path","chalk","cpy","copyTargetAssets","target","name","location","values","cpy","cwd","path","join","flat","length","console","log","chalk","green","toUpperCase","value","split","pop","ex","error","message","packageCopyAssets","pkg","process","env","INIT_CWD","pkgName","npm_package_name","existsSync","readFileSync","cwd","chalk","depcheck","special","depcheck","defaultIgnorePatterns","defaultIgnoreDevDeps","defaultIgnoreDevPatterns","reportUnused","name","unused","length","message","chalk","yellow","value","push","gray","console","log","join","reportMissing","missing","Object","keys","entries","key","at","analyzeDeps","pkg","ignoreMatches","packageContent","existsSync","JSON","parse","readFileSync","encoding","undefined","srcUnused","allUnused","Promise","all","ignorePatterns","package","specials","eslint","babel","bin","prettier","jest","mocha","unusedDeps","dependencies","unusedDevDeps","devDependencies","usedDeps","using","usedDevDeps","invalidDirs","invalidFiles","packageDeps","process","env","INIT_CWD","cwd","pkgName","npm_package_name","rawIgnore","replace","ignores","ex","error","declaredDeps","declaredPeerDeps","peerDependencies","declaredDevDeps","missingDeps","filter","includes","startsWith","missingDevDeps","missingDepsObject","missingDevDepsObject","errorCounts","errorCount","reduce","prev","count","stringify","warn","checkResult","existsSync","path","chalk","Application","ArgumentsReader","TSConfigReader","TypeDocReader","ExitCodes","CompileError","ExceptionThrown","NoEntryPoints","Ok","OptionError","OutputError","ValidationError","packageGenDocs","pkg","process","env","INIT_CWD","existsSync","path","join","app","Application","bootstrap","entryPointStrategy","entryPoints","excludeExternals","json","logLevel","tsconfig","options","addReader","ArgumentsReader","TypeDocReader","TSConfigReader","runTypeDoc","pkgName","npm_package_name","getValue","console","log","toString","getRawValues","logger","hasErrors","hasWarnings","length","error","convertAndWatch","project","out","generateDocs","generateJson","convert","validate","chalk","green","packageRecompile","packageClean","packageCompile"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/package/clean-outputs.ts","../../../src/lib/checkResult.ts","../../../src/lib/deleteGlob.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/copy-assets.ts","../../../src/actions/package/deps.ts","../../../src/actions/package/gen-docs.ts","../../../src/actions/package/recompile.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanOutputs = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n for (let folder of folders) {\n deleteGlob(folder)\n }\n\n return 0\n}\n","import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import fs from 'node:fs'\n\nimport { glob } from 'glob'\n\nexport const deleteGlob = (globPath: string) => {\n // Find all files matching the glob pattern\n const files = glob.sync(globPath)\n\n // Remove each file or directory\n for (const file of files) {\n fs.rmSync(file, { recursive: true, force: true })\n }\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return deepmerge(config, params ?? {}) as T\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanTypescript = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n for (let file of files) {\n deleteGlob(file)\n }\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\nimport sortPackageJson from 'sort-package-json'\n\nexport interface PackagePublintParams { verbose?: boolean }\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n\n const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n await fs.writeFile(`${pkgDir}/package.json`, sortedPkg)\n\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import-x/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /* try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n } */\n }\n\n // we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter(message => message.type === 'error').length\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport {\n CompilerOptions,\n DiagnosticCategory,\n FormatDiagnosticsHost,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n LineAndCharacter,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport deepmerge from 'deepmerge'\nimport { TsConfig } from 'tsc-prog'\nimport {\n CompilerOptions,\n findConfigFile, readConfigFile, sys,\n} from 'typescript'\n\nconst getNested = (config: TsConfig): CompilerOptions => {\n if (config.extends) {\n const require = createRequire(import.meta.url)\n const opts = require(config.extends)\n return deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {\n const config = readConfigFile(filename, sys.readFile).config\n return getNested(config)\n}\n\nexport const getCompilerOptions = (options: CompilerOptions = {}, tsconfig: string = 'tsconfig.json'): CompilerOptions => {\n const configFileName = findConfigFile('./', sys.fileExists, tsconfig)\n const configFileCompilerOptions = (configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : undefined) ?? {}\n\n return deepmerge(configFileCompilerOptions, options)\n}\n","import { Loader } from 'esbuild'\nimport {\n build, defineConfig, Options,\n} from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (verbose) {\n console.log(`compileFolder [${folder}]`)\n }\n\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: types === 'tsup',\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\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(`TSUP:build:start [${folder}] ${types}`)\n }\n\n await Promise.all(optionsList.map(options => build(options)))\n\n if (verbose) {\n console.log(`TSUP:build:stop [${folder}] ${types}`)\n }\n\n if (types === 'tsc') {\n if (verbose) {\n console.log(`Calling packageCompileTscTypes [${folder}] ${types}`)\n }\n const errors = packageCompileTscTypes(folder, { verbose }, { outDir })\n if (errors) {\n return errors\n }\n }\n\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\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 (\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/node',\n platform: 'node',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } from './inputs.ts'\nimport { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode: EntryMode = 'single', verbose = false) => {\n let entries: string[] = []\n switch (entryMode) {\n case 'platform': {\n entries = [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n break\n }\n case 'all': {\n entries = getAllInputs(folder).filter(entry => !entry.includes('.spec.') && !entry.includes('.story.'))\n break\n }\n default: {\n entries = [`${folder}/index.ts`]\n break\n }\n }\n if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`)\n return entries\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport { CompilerOptions, DiagnosticCategory } from 'typescript'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): number => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n if (verbose) {\n console.log(`Compiling types with TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\n })),\n ...compilerOptionsParam,\n emitDeclarationOnly: true,\n noEmit: false,\n } as TsConfigCompilerOptions\n\n // calling all here since the types do not get rolled up\n const files = buildEntries(folder, 'all', verbose)\n\n const result = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n files,\n }).emit()\n\n const diagResults = result.diagnostics.length\n for (const diag of result.diagnostics) {\n switch (diag.category) {\n case DiagnosticCategory.Error: {\n console.error(chalk.red(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Warning: {\n console.error(chalk.yellow(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Suggestion: {\n console.error(chalk.white(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n }\n }\n return diagResults\n}\n","import path from 'node:path/posix'\n\nimport chalk from 'chalk'\nimport cpy from 'cpy'\n\nexport interface PackageCopyAssetsParams { target?: 'esm' | 'cjs' }\n\nconst copyTargetAssets = async (target: 'esm' | 'cjs', name: string, location: string) => {\n try {\n const values = await cpy(\n ['**/*.jpg', '**/*.png', '**/*.gif', '**/*.svg', '**/*.webp', '**/*.sass', '**/*.scss', '**/*.gif', '**/*.css'],\n `../dist/${target}`,\n {\n cwd: path.join(location, 'src'),\n flat: false,\n },\n )\n if (values.length > 0) {\n console.log(chalk.green(`Copying Assets [${target.toUpperCase()}] - ${name} - ${location}`))\n }\n for (const value of values) {\n console.log(`${value.split('/').pop()} => ./dist/${target}`)\n }\n return 0\n } catch (ex) {\n const error = ex as Error\n console.log(`Copy Assets Failed: ${name}: ${error.message}`)\n return 1\n }\n}\n\nexport const packageCopyAssets = async ({ target }: PackageCopyAssetsParams) => {\n const pkg = process.env.INIT_CWD ?? './'\n const pkgName = process.env.npm_package_name ?? 'Unknown'\n switch (target) {\n case 'esm': {\n return await copyTargetAssets('esm', pkgName, pkg)\n }\n case 'cjs': {\n return await copyTargetAssets('cjs', pkgName, pkg)\n }\n default: {\n return (await copyTargetAssets('esm', pkgName, pkg)) || (await copyTargetAssets('cjs', pkgName, pkg))\n }\n }\n}\n","/* eslint-disable max-statements */\nimport { existsSync, readFileSync } from 'node:fs'\nimport { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport depcheck from 'depcheck'\nconst special = depcheck.special\n\nimport { checkResult } from '../../lib/index.ts'\n\nconst defaultIgnorePatterns = ['*.d.ts', 'dist', '.*', 'node_modules']\nconst defaultIgnoreDevDeps = [\n '@xylabs/ts-scripts-yarn3',\n '@xylabs/tsconfig',\n '@xylabs/tsconfig-dom',\n '@xylabs/tsconfig-react',\n 'typescript',\n]\nconst defaultIgnoreDevPatterns = ['*.stories.*', '*.spec.*', 'spec', 'stories', 'tsconfig.json']\n\nconst reportUnused = (name: string, unused: depcheck.Results['dependencies']) => {\n if (unused.length > 0) {\n const message = [chalk.yellow(`${unused.length} Unused ${name}`)]\n for (const value of unused) message.push(chalk.gray(` ${value}`))\n console.log(message.join('\\n'))\n }\n}\n\nconst reportMissing = (name: string, missing: depcheck.Results['missing']) => {\n if (Object.keys(missing).length > 0) {\n const message = [chalk.yellow(`${Object.entries(missing).length} Missing ${name}`)]\n for (const [key, value] of Object.entries(missing)) {\n message.push(`${key}`, chalk.gray(` ${value.at(0)}`))\n }\n console.log(chalk.yellow(message.join('\\n')))\n }\n}\n\nconst analyzeDeps = async (pkg: string, ignoreMatches: string[]) => {\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n const [srcUnused, allUnused] = await Promise.all([\n depcheck(`${pkg}/src`, {\n ignoreMatches,\n ignorePatterns: [...defaultIgnoreDevPatterns, ...defaultIgnorePatterns],\n package: packageContent,\n }),\n depcheck(`${pkg}/.`, {\n ignoreMatches: [...ignoreMatches, ...defaultIgnoreDevDeps],\n ignorePatterns: [...defaultIgnorePatterns],\n package: packageContent,\n specials: [special.eslint, special.babel, special.bin, special.prettier, special.jest, special.mocha],\n }),\n ])\n\n const unusedDeps = srcUnused.dependencies\n const unusedDevDeps = allUnused.devDependencies\n const usedDeps = srcUnused.using\n const usedDevDeps = allUnused.using\n const missing = { ...srcUnused.missing, ...allUnused.missing }\n const { invalidDirs, invalidFiles } = allUnused\n\n return {\n invalidDirs, invalidFiles, missing, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps,\n }\n}\n\nexport const packageDeps = async () => {\n const pkg = process.env.INIT_CWD ?? cwd()\n const pkgName = process.env.npm_package_name\n\n const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, { encoding: 'utf8' })) : undefined\n\n const rawIgnore\n = existsSync(`${pkg}/.depcheckrc`) ? readFileSync(`${pkg}/.depcheckrc`, { encoding: 'utf8' }).replace('ignores:', '\"ignores\":') : undefined\n let ignoreMatches: string[] = []\n try {\n ignoreMatches = rawIgnore ? (JSON.parse(`{${rawIgnore}}`).ignores as string[]) : []\n } catch (ex) {\n const error = ex as Error\n console.log(`${pkgName} [${error.message}] Failed to parse .depcheckrc [${rawIgnore}]`)\n }\n\n const {\n invalidDirs, invalidFiles, unusedDeps, unusedDevDeps, usedDeps, usedDevDeps, missing,\n } = await analyzeDeps(pkg, ignoreMatches)\n\n const declaredDeps = Object.keys(packageContent.dependencies ?? {})\n const declaredPeerDeps = Object.keys(packageContent.peerDependencies ?? {})\n const declaredDevDeps = Object.keys(packageContent.devDependencies ?? {})\n\n const missingDeps = Object.keys(usedDeps).filter(\n key => !declaredDeps.includes(key) && !declaredPeerDeps.includes(key) && !key.startsWith('@types/'),\n )\n\n const missingDevDeps = Object.keys(usedDevDeps).filter(key => !declaredDevDeps.includes(key) && !declaredDeps.includes(key))\n\n const missingDepsObject: Record<string, string[]> = {}\n for (const key of missingDeps) {\n missingDepsObject[key] = missing[key] ?? [`devDep should be dep [${key}]`]\n }\n\n const missingDevDepsObject: Record<string, string[]> = {}\n for (const key of missingDevDeps) {\n if (missing[key]) {\n missingDevDepsObject[key] = missing[key]\n }\n }\n\n const errorCounts = [\n unusedDeps.length,\n unusedDevDeps.length,\n Object.entries(invalidDirs).length,\n Object.entries(invalidFiles).length,\n Object.entries(missingDepsObject).length,\n Object.entries(missingDevDepsObject).length,\n ]\n\n const errorCount = errorCounts.reduce((prev, count) => prev + count, 0)\n\n if (errorCount > 0) {\n console.log(`Deps [${pkgName}] = (${JSON.stringify(errorCounts)})`)\n } else {\n console.log(`Deps [${pkgName}] - Ok`)\n }\n\n reportUnused('dependencies', unusedDeps)\n reportUnused('devDependencies', unusedDevDeps)\n\n if (Object.entries(invalidDirs).length > 0) {\n for (const [key, value] of Object.entries(invalidDirs)) console.warn(chalk.gray(`Invalid Dir: ${key}: ${value}`))\n }\n\n if (Object.entries(invalidFiles).length > 0) {\n for (const [key, value] of Object.entries(invalidFiles)) console.warn(chalk.gray(`Invalid File: ${key}: ${value}`))\n }\n\n reportMissing('dependencies', missingDepsObject)\n reportMissing('devDependencies', missingDevDepsObject)\n\n checkResult(`Deps [${pkgName}]`, errorCount, 'warn', false)\n\n // returning 0 here since we never want deps to be fatal\n return 0\n}\n","/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { existsSync } from 'node:fs'\nimport path from 'node:path'\n\nimport chalk from 'chalk'\nimport {\n Application, ArgumentsReader, TSConfigReader, TypeDocReader,\n} from 'typedoc'\n\nconst ExitCodes = {\n CompileError: 3,\n ExceptionThrown: 6,\n NoEntryPoints: 2,\n Ok: 0,\n OptionError: 1,\n OutputError: 5,\n ValidationError: 4,\n}\n\nexport const packageGenDocs = async () => {\n const pkg = process.env.INIT_CWD\n\n if (pkg && !existsSync(path.join(pkg, 'typedoc.json'))) {\n return\n }\n\n const app = await Application.bootstrap({\n entryPointStrategy: 'merge',\n entryPoints: [`${pkg}/src/**/*.ts`, `${pkg}/packages/*/dist/docs.json`],\n excludeExternals: true,\n json: `${pkg}/dist/docs.json`,\n logLevel: 'Error',\n tsconfig: `${pkg}/tsconfig.json`,\n })\n\n app.options.addReader(new ArgumentsReader(0))\n app.options.addReader(new TypeDocReader())\n app.options.addReader(new TSConfigReader())\n app.options.addReader(new ArgumentsReader(300))\n\n return await runTypeDoc(app)\n}\n\nconst runTypeDoc = async (app: Application) => {\n const pkgName = process.env.npm_package_name\n if (app.options.getValue('version')) {\n console.log(app.toString())\n return ExitCodes.Ok\n }\n\n if (app.options.getValue('showConfig')) {\n console.log(app.options.getRawValues())\n return ExitCodes.Ok\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OptionError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OptionError\n }\n\n if (app.options.getValue('entryPoints').length === 0) {\n app.logger.error('No entry points provided')\n return ExitCodes.NoEntryPoints\n }\n\n if (app.options.getValue('watch')) {\n await app.convertAndWatch(async (project) => {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n })\n return ExitCodes.Ok\n }\n\n const project = await app.convert()\n if (!project) {\n return ExitCodes.CompileError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.CompileError\n }\n\n app.validate(project)\n if (app.logger.hasErrors()) {\n return ExitCodes.ValidationError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.ValidationError\n }\n\n if (app.options.getValue('emit') !== 'none') {\n const out = app.options.getValue('out')\n if (out) {\n await app.generateDocs(project, out)\n }\n const json = app.options.getValue('json')\n if (json) {\n await app.generateJson(project, json)\n }\n\n if (!out && !json) {\n await app.generateDocs(project, './docs')\n }\n\n if (app.logger.hasErrors()) {\n return ExitCodes.OutputError\n }\n if (app.options.getValue('treatWarningsAsErrors') && app.logger.hasWarnings()) {\n return ExitCodes.OutputError\n }\n }\n console.log(chalk.green(`${pkgName} - Ok`))\n return ExitCodes.Ok\n}\n","import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return await packageClean() || await packageCompile()\n}\n"],"mappings":"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","names":["path","chalk","chalk","checkResult","name","result","level","exitOnFail","exiting","chalkFunc","chalk","red","yellow","console","process","exit","fs","glob","deleteGlob","globPath","files","glob","sync","file","fs","rmSync","recursive","force","chalk","cosmiconfig","deepmerge","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","packageCleanOutputs","pkg","process","env","INIT_CWD","pkgName","npm_package_name","folders","path","join","console","log","chalk","green","folder","deleteGlob","path","chalk","packageCleanTypescript","pkg","process","env","INIT_CWD","pkgName","npm_package_name","console","log","chalk","green","files","path","join","file","deleteGlob","packageClean","Promise","all","packageCleanOutputs","packageCleanTypescript","reduce","prev","value","chalk","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","formatDiagnosticsWithColorAndContext","getLineAndCharacterOfPosition","getPreEmitDiagnostics","createRequire","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","entries","getAllInputs","filter","entry","includes","console","log","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","verbose","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","noEmit","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","compileFolder","folder","entryMode","options","types","verbose","outDir","console","log","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","errors","packageCompileTscTypes","packageCompileTsup","config","warn","compile","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","Object","entries","inEsBuildOptions","esbuildOptions","platform","tsup","reduce","prev","value","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","path","chalk","cpy","copyTargetAssets","target","name","location","values","cpy","cwd","path","join","flat","length","console","log","chalk","green","toUpperCase","value","split","pop","ex","error","message","packageCopyAssets","pkg","process","env","INIT_CWD","pkgName","npm_package_name","existsSync","readFileSync","cwd","chalk","depcheck","special","depcheck","defaultIgnorePatterns","defaultIgnoreDevDeps","defaultIgnoreDevPatterns","reportUnused","name","unused","length","message","chalk","yellow","value","push","gray","console","log","join","reportMissing","missing","Object","keys","entries","key","at","analyzeDeps","pkg","ignoreMatches","packageContent","existsSync","JSON","parse","readFileSync","encoding","undefined","srcUnused","allUnused","Promise","all","ignorePatterns","package","specials","eslint","babel","bin","prettier","jest","mocha","unusedDeps","dependencies","unusedDevDeps","devDependencies","usedDeps","using","usedDevDeps","invalidDirs","invalidFiles","packageDeps","process","env","INIT_CWD","cwd","pkgName","npm_package_name","rawIgnore","replace","ignores","ex","error","declaredDeps","declaredPeerDeps","peerDependencies","declaredDevDeps","missingDeps","filter","includes","startsWith","missingDevDeps","missingDepsObject","missingDevDepsObject","errorCounts","errorCount","reduce","prev","count","stringify","warn","checkResult","existsSync","path","chalk","Application","ArgumentsReader","TSConfigReader","TypeDocReader","ExitCodes","CompileError","ExceptionThrown","NoEntryPoints","Ok","OptionError","OutputError","ValidationError","packageGenDocs","pkg","process","env","INIT_CWD","existsSync","path","join","app","Application","bootstrap","entryPointStrategy","entryPoints","excludeExternals","json","logLevel","tsconfig","options","addReader","ArgumentsReader","TypeDocReader","TSConfigReader","runTypeDoc","pkgName","npm_package_name","getValue","console","log","toString","getRawValues","logger","hasErrors","hasWarnings","length","error","convertAndWatch","project","out","generateDocs","generateJson","convert","validate","chalk","green","packageRecompile","packageClean","packageCompile"]}
|
|
@@ -245,7 +245,7 @@ var buildEntries = /* @__PURE__ */ __name((folder, entryMode = "single", verbose
|
|
|
245
245
|
break;
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
|
-
if (verbose) console.log(`buildEntries [${entryMode}] ${entries}`);
|
|
248
|
+
if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`);
|
|
249
249
|
return entries;
|
|
250
250
|
}, "buildEntries");
|
|
251
251
|
|
|
@@ -273,7 +273,7 @@ var packageCompileTscTypes = /* @__PURE__ */ __name((folder = "src", { verbose }
|
|
|
273
273
|
emitDeclarationOnly: true,
|
|
274
274
|
noEmit: false
|
|
275
275
|
};
|
|
276
|
-
const files = buildEntries(folder, "all",
|
|
276
|
+
const files = buildEntries(folder, "all", verbose);
|
|
277
277
|
const result = createProgramFromConfig2({
|
|
278
278
|
basePath: pkg ?? cwd2(),
|
|
279
279
|
compilerOptions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/package/clean-outputs.ts","../../../src/lib/deleteGlob.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/recompile.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanOutputs = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n for (let folder of folders) {\n deleteGlob(folder)\n }\n\n return 0\n}\n","import fs from 'node:fs'\n\nimport { glob } from 'glob'\n\nexport const deleteGlob = (globPath: string) => {\n // Find all files matching the glob pattern\n const files = glob.sync(globPath)\n\n // Remove each file or directory\n for (const file of files) {\n fs.rmSync(file, { recursive: true, force: true })\n }\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return deepmerge(config, params ?? {}) as T\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanTypescript = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n for (let file of files) {\n deleteGlob(file)\n }\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\nimport sortPackageJson from 'sort-package-json'\n\nexport interface PackagePublintParams { verbose?: boolean }\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n\n const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n await fs.writeFile(`${pkgDir}/package.json`, sortedPkg)\n\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import-x/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /* try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n } */\n }\n\n // we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter(message => message.type === 'error').length\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport {\n CompilerOptions,\n DiagnosticCategory,\n FormatDiagnosticsHost,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n LineAndCharacter,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport deepmerge from 'deepmerge'\nimport { TsConfig } from 'tsc-prog'\nimport {\n CompilerOptions,\n findConfigFile, readConfigFile, sys,\n} from 'typescript'\n\nconst getNested = (config: TsConfig): CompilerOptions => {\n if (config.extends) {\n const require = createRequire(import.meta.url)\n const opts = require(config.extends)\n return deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {\n const config = readConfigFile(filename, sys.readFile).config\n return getNested(config)\n}\n\nexport const getCompilerOptions = (options: CompilerOptions = {}, tsconfig: string = 'tsconfig.json'): CompilerOptions => {\n const configFileName = findConfigFile('./', sys.fileExists, tsconfig)\n const configFileCompilerOptions = (configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : undefined) ?? {}\n\n return deepmerge(configFileCompilerOptions, options)\n}\n","import { Loader } from 'esbuild'\nimport {\n build, defineConfig, Options,\n} from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (verbose) {\n console.log(`compileFolder [${folder}]`)\n }\n\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: types === 'tsup',\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\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(`TSUP:build:start [${folder}] ${types}`)\n }\n\n await Promise.all(optionsList.map(options => build(options)))\n\n if (verbose) {\n console.log(`TSUP:build:stop [${folder}] ${types}`)\n }\n\n if (types === 'tsc') {\n if (verbose) {\n console.log(`Calling packageCompileTscTypes [${folder}] ${types}`)\n }\n const errors = packageCompileTscTypes(folder, { verbose }, { outDir })\n if (errors) {\n return errors\n }\n }\n\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\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 (\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/node',\n platform: 'node',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } from './inputs.ts'\nimport { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode: EntryMode = 'single', verbose = false) => {\n let entries: string[] = []\n switch (entryMode) {\n case 'platform': {\n entries = [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n break\n }\n case 'all': {\n entries = getAllInputs(folder).filter(entry => !entry.includes('.spec.') && !entry.includes('.story.'))\n break\n }\n default: {\n entries = [`${folder}/index.ts`]\n break\n }\n }\n if (verbose) console.log(`buildEntries [${entryMode}] ${entries}`)\n return entries\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport { CompilerOptions, DiagnosticCategory } from 'typescript'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): number => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n if (verbose) {\n console.log(`Compiling types with TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\n })),\n ...compilerOptionsParam,\n emitDeclarationOnly: true,\n noEmit: false,\n } as TsConfigCompilerOptions\n\n // calling all here since the types do not get rolled up\n const files = buildEntries(folder, 'all', true)\n\n const result = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n files,\n }).emit()\n\n const diagResults = result.diagnostics.length\n for (const diag of result.diagnostics) {\n switch (diag.category) {\n case DiagnosticCategory.Error: {\n console.error(chalk.red(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Warning: {\n console.error(chalk.yellow(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Suggestion: {\n console.error(chalk.white(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n }\n }\n return diagResults\n}\n","import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return await packageClean() || await packageCompile()\n}\n"],"mappings":"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","names":["path","chalk","fs","glob","deleteGlob","globPath","files","glob","sync","file","fs","rmSync","recursive","force","chalk","cosmiconfig","deepmerge","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","packageCleanOutputs","pkg","process","env","INIT_CWD","pkgName","npm_package_name","folders","path","join","console","log","chalk","green","folder","deleteGlob","path","chalk","packageCleanTypescript","pkg","process","env","INIT_CWD","pkgName","npm_package_name","console","log","chalk","green","files","path","join","file","deleteGlob","packageClean","Promise","all","packageCleanOutputs","packageCleanTypescript","reduce","prev","value","chalk","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","formatDiagnosticsWithColorAndContext","getLineAndCharacterOfPosition","getPreEmitDiagnostics","createRequire","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","entries","getAllInputs","filter","entry","includes","console","log","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","verbose","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","noEmit","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","compileFolder","folder","entryMode","options","types","verbose","outDir","console","log","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","errors","packageCompileTscTypes","packageCompileTsup","config","warn","compile","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","Object","entries","inEsBuildOptions","esbuildOptions","platform","tsup","reduce","prev","value","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","packageRecompile","packageClean","packageCompile"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/package/clean-outputs.ts","../../../src/lib/deleteGlob.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/recompile.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanOutputs = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n for (let folder of folders) {\n deleteGlob(folder)\n }\n\n return 0\n}\n","import fs from 'node:fs'\n\nimport { glob } from 'glob'\n\nexport const deleteGlob = (globPath: string) => {\n // Find all files matching the glob pattern\n const files = glob.sync(globPath)\n\n // Remove each file or directory\n for (const file of files) {\n fs.rmSync(file, { recursive: true, force: true })\n }\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return deepmerge(config, params ?? {}) as T\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanTypescript = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n for (let file of files) {\n deleteGlob(file)\n }\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\nimport sortPackageJson from 'sort-package-json'\n\nexport interface PackagePublintParams { verbose?: boolean }\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n\n const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n await fs.writeFile(`${pkgDir}/package.json`, sortedPkg)\n\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import-x/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /* try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n } */\n }\n\n // we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter(message => message.type === 'error').length\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport {\n CompilerOptions,\n DiagnosticCategory,\n FormatDiagnosticsHost,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n LineAndCharacter,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport deepmerge from 'deepmerge'\nimport { TsConfig } from 'tsc-prog'\nimport {\n CompilerOptions,\n findConfigFile, readConfigFile, sys,\n} from 'typescript'\n\nconst getNested = (config: TsConfig): CompilerOptions => {\n if (config.extends) {\n const require = createRequire(import.meta.url)\n const opts = require(config.extends)\n return deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {\n const config = readConfigFile(filename, sys.readFile).config\n return getNested(config)\n}\n\nexport const getCompilerOptions = (options: CompilerOptions = {}, tsconfig: string = 'tsconfig.json'): CompilerOptions => {\n const configFileName = findConfigFile('./', sys.fileExists, tsconfig)\n const configFileCompilerOptions = (configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : undefined) ?? {}\n\n return deepmerge(configFileCompilerOptions, options)\n}\n","import { Loader } from 'esbuild'\nimport {\n build, defineConfig, Options,\n} from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (verbose) {\n console.log(`compileFolder [${folder}]`)\n }\n\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: types === 'tsup',\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\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(`TSUP:build:start [${folder}] ${types}`)\n }\n\n await Promise.all(optionsList.map(options => build(options)))\n\n if (verbose) {\n console.log(`TSUP:build:stop [${folder}] ${types}`)\n }\n\n if (types === 'tsc') {\n if (verbose) {\n console.log(`Calling packageCompileTscTypes [${folder}] ${types}`)\n }\n const errors = packageCompileTscTypes(folder, { verbose }, { outDir })\n if (errors) {\n return errors\n }\n }\n\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\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 (\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/node',\n platform: 'node',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } from './inputs.ts'\nimport { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode: EntryMode = 'single', verbose = false) => {\n let entries: string[] = []\n switch (entryMode) {\n case 'platform': {\n entries = [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n break\n }\n case 'all': {\n entries = getAllInputs(folder).filter(entry => !entry.includes('.spec.') && !entry.includes('.story.'))\n break\n }\n default: {\n entries = [`${folder}/index.ts`]\n break\n }\n }\n if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`)\n return entries\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport { CompilerOptions, DiagnosticCategory } from 'typescript'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): number => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n if (verbose) {\n console.log(`Compiling types with TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\n })),\n ...compilerOptionsParam,\n emitDeclarationOnly: true,\n noEmit: false,\n } as TsConfigCompilerOptions\n\n // calling all here since the types do not get rolled up\n const files = buildEntries(folder, 'all', verbose)\n\n const result = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n files,\n }).emit()\n\n const diagResults = result.diagnostics.length\n for (const diag of result.diagnostics) {\n switch (diag.category) {\n case DiagnosticCategory.Error: {\n console.error(chalk.red(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Warning: {\n console.error(chalk.yellow(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Suggestion: {\n console.error(chalk.white(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n }\n }\n return diagResults\n}\n","import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return await packageClean() || await packageCompile()\n}\n"],"mappings":"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","names":["path","chalk","fs","glob","deleteGlob","globPath","files","glob","sync","file","fs","rmSync","recursive","force","chalk","cosmiconfig","deepmerge","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","packageCleanOutputs","pkg","process","env","INIT_CWD","pkgName","npm_package_name","folders","path","join","console","log","chalk","green","folder","deleteGlob","path","chalk","packageCleanTypescript","pkg","process","env","INIT_CWD","pkgName","npm_package_name","console","log","chalk","green","files","path","join","file","deleteGlob","packageClean","Promise","all","packageCleanOutputs","packageCleanTypescript","reduce","prev","value","chalk","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","formatDiagnosticsWithColorAndContext","getLineAndCharacterOfPosition","getPreEmitDiagnostics","createRequire","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","entries","getAllInputs","filter","entry","includes","console","log","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","verbose","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","noEmit","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","compileFolder","folder","entryMode","options","types","verbose","outDir","console","log","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","errors","packageCompileTscTypes","packageCompileTsup","config","warn","compile","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","Object","entries","inEsBuildOptions","esbuildOptions","platform","tsup","reduce","prev","value","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","packageRecompile","packageClean","packageCompile"]}
|
|
@@ -190,7 +190,7 @@ var buildEntries = /* @__PURE__ */ __name((folder, entryMode = "single", verbose
|
|
|
190
190
|
break;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
-
if (verbose) console.log(`buildEntries [${entryMode}] ${entries}`);
|
|
193
|
+
if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`);
|
|
194
194
|
return entries;
|
|
195
195
|
}, "buildEntries");
|
|
196
196
|
|
|
@@ -218,7 +218,7 @@ var packageCompileTscTypes = /* @__PURE__ */ __name((folder = "src", { verbose }
|
|
|
218
218
|
emitDeclarationOnly: true,
|
|
219
219
|
noEmit: false
|
|
220
220
|
};
|
|
221
|
-
const files = buildEntries(folder, "all",
|
|
221
|
+
const files = buildEntries(folder, "all", verbose);
|
|
222
222
|
const result = createProgramFromConfig2({
|
|
223
223
|
basePath: pkg ?? cwd2(),
|
|
224
224
|
compilerOptions,
|