@sanity/pkg-utils 4.2.6 → 4.2.8
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/_chunks/build-VF8OGFWI.cjs +158 -0
- package/dist/_chunks/{build-BxYgJfQq.cjs.map → build-VF8OGFWI.cjs.map} +1 -1
- package/dist/_chunks/{buildAction-KZkR53RZ.cjs → buildAction-BqCNrElB.cjs} +3 -7
- package/dist/_chunks/{buildAction-KZkR53RZ.cjs.map → buildAction-BqCNrElB.cjs.map} +1 -1
- package/dist/_chunks/check-BYmzjjzq.cjs +118 -0
- package/dist/_chunks/check-BYmzjjzq.cjs.map +1 -0
- package/dist/_chunks/{checkAction-B86PejBD.cjs → checkAction-BH_mZd8d.cjs} +3 -7
- package/dist/_chunks/{checkAction-B86PejBD.cjs.map → checkAction-BH_mZd8d.cjs.map} +1 -1
- package/dist/_chunks/consoleSpy-CHoeHT4P.cjs +369 -0
- package/dist/_chunks/consoleSpy-CHoeHT4P.cjs.map +1 -0
- package/dist/_chunks/handleError-CGQ2DXMR.cjs +11 -0
- package/dist/_chunks/handleError-CGQ2DXMR.cjs.map +1 -0
- package/dist/_chunks/index-DGGGzGO4.cjs +20000 -0
- package/dist/_chunks/{index-RwgAZs-y.cjs.map → index-DGGGzGO4.cjs.map} +1 -1
- package/dist/_chunks/{init-CZQh-Q_y.cjs → init-2mlaoNTF.cjs} +174 -261
- package/dist/_chunks/{init-CZQh-Q_y.cjs.map → init-2mlaoNTF.cjs.map} +1 -1
- package/dist/_chunks/{initAction-BYVnsbAj.cjs → initAction-BlTz_X1p.cjs} +3 -7
- package/dist/_chunks/{initAction-BYVnsbAj.cjs.map → initAction-BlTz_X1p.cjs.map} +1 -1
- package/dist/_chunks/{logger-CpjNjxqG.cjs → logger-CwHVwB-b.cjs} +11 -20
- package/dist/_chunks/logger-CwHVwB-b.cjs.map +1 -0
- package/dist/_chunks/watch-5pC_s_sw.cjs +156 -0
- package/dist/_chunks/{watch-JoaJL851.cjs.map → watch-5pC_s_sw.cjs.map} +1 -1
- package/dist/_chunks/{watchAction-DcoHeR8f.cjs → watchAction-DU24xubH.cjs} +3 -7
- package/dist/_chunks/{watchAction-DcoHeR8f.cjs.map → watchAction-DU24xubH.cjs.map} +1 -1
- package/dist/cli.cjs +18 -14
- package/dist/cli.cjs.map +1 -1
- package/dist/index.cjs +3 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +19895 -35943
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/node/resolveBuildContext.ts +6 -4
- package/src/node/tasks/rollup/resolveRollupConfig.ts +4 -1
- package/dist/_chunks/build-BxYgJfQq.cjs +0 -216
- package/dist/_chunks/check-Do7O9Mjo.cjs +0 -223
- package/dist/_chunks/check-Do7O9Mjo.cjs.map +0 -1
- package/dist/_chunks/consoleSpy-DnlN7UBk.cjs +0 -632
- package/dist/_chunks/consoleSpy-DnlN7UBk.cjs.map +0 -1
- package/dist/_chunks/handleError-DB8KmYKe.cjs +0 -19
- package/dist/_chunks/handleError-DB8KmYKe.cjs.map +0 -1
- package/dist/_chunks/index-RwgAZs-y.cjs +0 -35564
- package/dist/_chunks/logger-CpjNjxqG.cjs.map +0 -1
- package/dist/_chunks/watch-JoaJL851.cjs +0 -227
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-CZQh-Q_y.cjs","sources":["../../src/node/core/template/createFromTemplate.ts","../../src/node/core/template/define.ts","../../src/node/isEmptyDirectory.ts","../../src/node/templates/default/template.ts","../../src/node/init.ts"],"sourcesContent":["import {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {dirname, relative, resolve} from 'path'\nimport prompts from 'prompts'\n\nimport {Logger} from '../../logger'\nimport {PkgTemplate} from './types'\n\nconst promptsTypes = {\n string: 'text' as const,\n}\n\n/** @internal */\nexport async function createFromTemplate(options: {\n cwd: string\n logger: Logger\n packagePath: string\n template: PkgTemplate\n}): Promise<void> {\n const {cwd, logger, packagePath, template: templateOrResolver} = options\n\n const template =\n typeof templateOrResolver === 'function'\n ? await templateOrResolver({cwd, logger, packagePath})\n : templateOrResolver\n\n logger.log('create new package at', relative(cwd, packagePath))\n\n const templateOptions: Record<string, string> = {}\n\n for (const templateOption of template.options) {\n const templateValidate = templateOption.validate\n\n const res = await prompts(\n {\n type: promptsTypes[templateOption.type],\n name: templateOption.name,\n message: templateOption.description,\n validate: templateValidate ? (prev) => templateValidate(prev) : undefined,\n initial:\n typeof templateOption.initial === 'function'\n ? templateOption.initial(templateOptions)\n : templateOption.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n\n templateOptions[templateOption.name] = templateOption.parse\n ? templateOption.parse(res[templateOption.name])\n : res[templateOption.name]\n }\n\n const features: Record<string, boolean> = {}\n\n for (const templateFeature of template.features) {\n const res = templateFeature.optional\n ? await prompts(\n {\n type: 'confirm',\n name: 'confirm',\n message: `use ${templateFeature.name}?`,\n initial: templateFeature.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n : undefined\n\n features[templateFeature.name] = res?.confirm || !templateFeature.optional\n }\n\n const files = await template.getFiles(templateOptions, features)\n\n files.sort((a, b) => {\n return a.name.localeCompare(b.name)\n })\n\n for (const file of files) {\n const filePath = resolve(packagePath, file.name)\n\n await mkdirp(dirname(filePath))\n await writeFile(filePath, file.contents.trim() + '\\n')\n\n logger.success(`wrote ${relative(cwd, filePath)}`)\n }\n}\n","import {PkgTemplateOption} from './types'\n\n/** @public */\nexport function defineTemplateOption<T>(option: PkgTemplateOption<T>): PkgTemplateOption<T> {\n return option\n}\n","import {readdir} from 'fs/promises'\n\nexport async function isEmptyDirectory(dirPath: string): Promise<boolean> {\n return (await readdir(dirPath)).length === 0\n}\n","import getLatestVersion from 'get-latest-version'\nimport gitUrlParse from 'git-url-parse'\nimport {outdent} from 'outdent'\nimport parseGitConfig from 'parse-git-config'\nimport {resolve} from 'path'\nimport prettier, {Config as PrettierConfig} from 'prettier'\n\nimport {defineTemplateOption, isRecord, PackageJSON, PkgTemplate, PkgTemplateFile} from '../../core'\n\nconst RE_NAME = /^(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)\\/)?[a-z0-9-~][a-z0-9-._~]*$/i\n\nexport const defaultTemplate: PkgTemplate = async ({cwd, logger, packagePath}) => {\n const gitConfig = await parseGitConfig({cwd, type: 'global'})\n\n return {\n options: [\n defineTemplateOption<{owner: string; name: string}>({\n name: 'repo',\n type: 'string',\n description: 'git url',\n validate: (v) => {\n if (!v) return true\n\n try {\n gitUrlParse(v)\n\n return true\n } catch (err) {\n return 'invalid git url'\n }\n },\n parse: (v) => {\n if (!v) return null\n\n const result = gitUrlParse(v)\n\n return {source: result.source, owner: result.owner, name: result.name}\n },\n }),\n defineTemplateOption({\n name: 'pkgName',\n type: 'string',\n description: 'package name',\n initial: (options) => options.repo?.name || undefined,\n validate: (v) => {\n if (!v) return 'package name is required'\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n return 'invalid package name'\n }\n\n return true\n },\n parse: (v) => {\n if (!v) {\n throw new Error('package name is required')\n }\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n throw new Error('invalid package name')\n }\n\n const [scope, name] = v.split('/')\n\n return {scope, name, fullName: v}\n },\n }),\n defineTemplateOption({\n name: 'description',\n type: 'string',\n description: 'package description',\n }),\n defineTemplateOption({\n name: 'authorName',\n type: 'string',\n description: 'package author name',\n initial: gitConfig?.user?.name,\n }),\n defineTemplateOption({\n name: 'authorEmail',\n type: 'string',\n description: 'package author email',\n initial: gitConfig?.user?.email,\n }),\n defineTemplateOption({\n name: 'license',\n type: 'string',\n description: 'package license',\n initial: 'MIT',\n validate: (v) => {\n if (!v) return 'license is required'\n\n return true\n },\n }),\n ],\n\n features: [\n {\n name: 'eslint',\n optional: true,\n initial: true,\n },\n {\n name: 'prettier',\n optional: true,\n initial: true,\n },\n {\n name: 'typescript',\n optional: true,\n initial: true,\n },\n ],\n\n async getFiles(options, features) {\n const {pkgName, repo} = options\n const {fullName: name} = pkgName\n\n const author =\n [options.authorName, options.authorEmail && `<${options.authorEmail}>`]\n .filter(Boolean)\n .join(' ') ?? undefined\n\n const prettierConfig: PrettierConfig | undefined = features.prettier\n ? {\n bracketSpacing: false,\n plugins: ['prettier-plugin-packagejson'],\n printWidth: 100,\n quoteProps: 'consistent',\n semi: false,\n singleQuote: true,\n tabWidth: 2,\n overrides: [\n {\n files: ['*.yml'],\n options: {\n singleQuote: false,\n },\n },\n ],\n }\n : undefined\n\n const pkgJson: PackageJSON & {\n prettier?: PrettierConfig\n ['lint-staged']?: Record<string, string[]>\n } = {\n name,\n 'version': '0.0.0',\n 'description': options.description ?? undefined,\n 'keywords': [],\n 'homepage': undefined,\n 'bugs': undefined,\n 'repository': undefined,\n 'license': options.license,\n author,\n 'sideEffects': false,\n 'type': 'module',\n 'exports': {\n '.': {\n types: undefined,\n source: features.typescript ? './src/index.ts' : './src/index.js',\n import: './dist/index.js',\n require: './dist/index.cjs',\n default: './dist/index.js',\n },\n './package.json': './package.json',\n },\n 'main': './dist/index.cjs',\n 'module': './dist/index.js',\n 'source': features.typescript ? './src/index.ts' : './src/index.js',\n 'types': undefined,\n 'files': ['dist', 'src'],\n 'scripts': {\n 'build': 'run-s clean pkg:build pkg:check',\n 'clean': 'rimraf dist',\n 'format': features.prettier ? 'prettier --write --cache --ignore-unknown .' : undefined,\n 'pkg:build': 'pkg build --strict',\n 'pkg:check': 'pkg check --strict',\n },\n 'lint-staged': features.prettier\n ? {\n '*': ['prettier --write --cache --ignore-unknown'],\n }\n : undefined,\n // prettier: prettierConfig,\n 'browserslist': 'extends @sanity/browserslist-config',\n 'dependencies': {},\n 'devDependencies': {\n '@sanity/pkg-utils': '*',\n '@typescript-eslint/eslint-plugin': undefined,\n '@typescript-eslint/parser': undefined,\n 'eslint': undefined,\n 'eslint-config-prettier': undefined,\n 'eslint-plugin-import': undefined,\n 'eslint-plugin-prettier': undefined,\n 'eslint-plugin-simple-import-sort': undefined,\n 'lint-staged': '*',\n 'npm-run-all': '*',\n 'prettier': features.prettier ? '*' : undefined,\n 'prettier-plugin-packagejson': features.prettier ? '*' : undefined,\n 'rimraf': '*',\n 'typescript': undefined,\n },\n 'engines': {\n node: '>=18.0.0',\n },\n }\n\n const files: PkgTemplateFile[] = []\n\n // .editorconfig\n files.push({\n name: '.editorconfig',\n contents: outdent`\n root = true\n\n [*]\n charset = utf-8\n indent_style = space\n indent_size = 2\n end_of_line = lf\n insert_final_newline = true\n trim_trailing_whitespace = true\n `,\n })\n\n // .gitignore\n files.push({\n name: '.gitignore',\n contents: outdent`\n *.local\n *.log\n *.tgz\n\n .DS_Store\n dist\n etc\n node_modules\n `,\n })\n\n if (features.prettier) {\n files.push({\n name: '.prettierignore',\n contents: outdent`\n dist\n pnpm-lock.yaml\n `,\n })\n\n files.push({\n name: '.prettierrc',\n contents: await format(\n resolve(packagePath, '.prettierrc.json'),\n JSON.stringify(prettierConfig, null, 2) + '\\n',\n prettierConfig,\n ),\n })\n }\n\n if (repo) {\n pkgJson.repository = {\n type: 'git',\n url: `git+ssh://git@${repo.source}/${repo.owner}/${repo.name}.git`,\n }\n pkgJson.bugs = {\n url: `https://${repo.source}/${repo.owner}/${repo.name}/issues`,\n }\n pkgJson.homepage = `https://${repo.source}/${repo.owner}/${repo.name}#readme`\n }\n\n if (features.typescript) {\n pkgJson.types = './dist/index.d.ts'\n\n const mainExport = pkgJson.exports?.['.']\n\n if (isRecord(mainExport)) {\n mainExport.types = './dist/index.d.ts'\n }\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n ['ts:check']: 'tsc --build',\n }\n\n const devDependencies = pkgJson.devDependencies\n\n if (isRecord(devDependencies)) {\n devDependencies['typescript'] = '*'\n }\n }\n\n if (features.eslint) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfig: any = {\n root: true,\n env: {\n browser: true,\n es6: true,\n node: true,\n },\n extends: [\n 'eslint:recommended',\n features.prettier ? 'plugin:prettier/recommended' : undefined,\n ].filter(Boolean),\n parserOptions: {\n ecmaVersion: 2020,\n sourceType: 'module',\n },\n plugins: [\n 'import',\n 'simple-import-sort',\n features.prettier ? 'prettier' : undefined,\n ].filter(Boolean),\n rules: {\n 'no-console': 'error',\n 'no-shadow': 'error',\n 'no-warning-comments': ['warn', {location: 'start', terms: ['todo', 'fixme']}],\n 'quote-props': ['warn', 'consistent-as-needed'],\n 'simple-import-sort/exports': 'warn',\n 'simple-import-sort/imports': 'warn',\n 'strict': ['warn', 'global'],\n },\n }\n\n files.push({\n name: '.eslintignore',\n contents: outdent`\n dist\n `,\n })\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n lint: features.typescript\n ? 'eslint . --ext .cjs,.js,.ts,.tsx'\n : 'eslint . --ext .cjs,.js',\n }\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n 'eslint': '*',\n 'eslint-config-prettier': features.prettier ? '*' : undefined,\n 'eslint-plugin-simple-import-sort': '*',\n 'eslint-plugin-import': '*',\n 'eslint-plugin-prettier': features.prettier ? '*' : undefined,\n }\n\n if (features.typescript) {\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@typescript-eslint/eslint-plugin': '*',\n '@typescript-eslint/parser': '*',\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfigOverride: any = {\n files: ['**/*.ts', '**/*.tsx'],\n parser: '@typescript-eslint/parser',\n parserOptions: {\n project: ['./tsconfig.json'],\n },\n extends: [\n 'eslint:recommended',\n features.prettier ? 'plugin:prettier/recommended' : undefined,\n 'plugin:@typescript-eslint/eslint-recommended',\n 'plugin:@typescript-eslint/recommended',\n ].filter(Boolean),\n plugins: [\n 'import',\n '@typescript-eslint',\n 'simple-import-sort',\n features.prettier ? 'prettier' : undefined,\n ].filter(Boolean),\n rules: {\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/interface-name-prefix': 'off',\n '@typescript-eslint/member-delimiter-style': 'off',\n '@typescript-eslint/no-empty-interface': 'off',\n },\n }\n\n eslintConfig.overrides = [eslintConfigOverride]\n }\n\n files.push({\n name: '.eslintrc.cjs',\n contents: await format(\n resolve(packagePath, '.eslintrc.cjs'),\n outdent`\n 'use strict'\n\n /** @type import('eslint').Linter.Config */\n module.exports = ${JSON.stringify(eslintConfig, null, 2)}\n `,\n prettierConfig,\n ),\n })\n }\n\n if (features.typescript) {\n files.push({\n name: 'tsconfig.settings.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.settings.json'),\n outdent`\n {\n \"compilerOptions\": {\n // Completeness\n \"skipLibCheck\": true,\n\n // Interop constraints\n \"allowSyntheticDefaultImports\": true,\n \"esModuleInterop\": true,\n\n // Language and environment\n \"target\": \"ES2020\",\n\n // Modules\n \"module\": \"ES2020\",\n \"moduleResolution\": \"Node\",\n\n // Type checking\n \"alwaysStrict\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"noImplicitAny\": true,\n \"noImplicitReturns\": true,\n \"noImplicitThis\": true,\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"strict\": true,\n \"strictFunctionTypes\": true,\n \"strictNullChecks\": true,\n \"strictPropertyInitialization\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.dist.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.dist.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./src\"],\n \"exclude\": [\"./src/**/*.test.ts\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"resolveJsonModule\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./**/*.cjs\", \"./**/*.ts\", \"./**/*.tsx\"],\n \"exclude\": [\"./node_modules\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"noEmit\": true,\n \"allowJs\": true,\n \"resolveJsonModule\": true,\n }\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // source file\n if (features.typescript) {\n files.push({\n name: 'package.config.ts',\n contents: await format(\n resolve(packagePath, 'package.config.ts'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n // https://github.com/sanity-io/pkg-utils#configuration\n export default defineConfig({\n // the path to the tsconfig file for distributed builds\n tsconfig: 'tsconfig.dist.json',\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.ts',\n contents: await format(\n resolve(packagePath, 'src/index.ts'),\n outdent`\n /** @public */\n export function main(): void {\n //\n }\n `,\n prettierConfig,\n ),\n })\n } else {\n files.push({\n name: 'package.config.js',\n contents: await format(\n resolve(packagePath, 'package.config.js'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n export default defineConfig({\n extract: {\n rules: {\n // do not require internal members to be prefixed with \\`_\\`\n 'ae-internal-missing-underscore': 'off',\n },\n },\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.js',\n contents: await format(\n resolve(packagePath, 'src/index.js'),\n outdent`\n /** @public */\n export function main() {\n //\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // Resolve latest dependencies\n try {\n pkgJson.dependencies = await resolveLatestDeps(pkgJson.dependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n // Resolve latest devDependencies\n try {\n pkgJson.devDependencies = await resolveLatestDeps(pkgJson.devDependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n files.push({\n name: 'package.json',\n contents: await format(\n resolve(packagePath, 'package.json'),\n JSON.stringify(pkgJson, null, 2),\n prettierConfig,\n ),\n })\n\n return files\n },\n }\n}\n\nfunction format(filepath: string, input: string, prettierOptions: PrettierConfig | undefined) {\n return prettier.format(input, {...prettierOptions, plugins: [], filepath})\n}\n\nasync function resolveLatestDeps(deps: Record<string, string | undefined>) {\n const depsEntries = Object.entries(deps)\n const latestDeps: Record<string, string> = {}\n\n for (const entry of depsEntries) {\n const [name, version] = entry\n\n if (version) {\n const latestVersion = await getLatestVersion(name, version)\n\n latestDeps[name] = latestVersion ? `^${latestVersion}` : version\n }\n }\n\n return latestDeps\n}\n","import {lstat} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {resolve} from 'path'\n\nimport {createFromTemplate} from './core/template'\nimport {fileExists} from './fileExists'\nimport {isEmptyDirectory} from './isEmptyDirectory'\nimport {createLogger} from './logger'\nimport {defaultTemplate} from './templates'\n\n/** @public */\nexport async function init(options: {cwd: string; path: string}): Promise<void> {\n if (!options.cwd) {\n throw new Error('Missing required option: cwd')\n }\n\n if (!options.path) {\n throw new Error('Missing required option: path')\n }\n\n const logger = createLogger()\n\n const packagePath = resolve(options.cwd, options.path)\n\n await ensurePackagePath(packagePath)\n\n await createFromTemplate({\n cwd: options.cwd,\n logger,\n template: defaultTemplate,\n packagePath,\n })\n}\n\nasync function ensurePackagePath(packagePath: string): Promise<void> {\n const exists = fileExists(packagePath)\n\n if (!exists) {\n await mkdirp(packagePath)\n\n return\n }\n\n const dir = (await lstat(packagePath)).isDirectory()\n\n if (!dir) {\n throw new Error('the package path is a file, not a directory')\n }\n\n const empty = await isEmptyDirectory(packagePath)\n\n if (!empty) {\n throw new Error('the package directory is not empty')\n }\n}\n"],"names":["relative","prompts","resolve","mkdirp","dirname","writeFile","readdir","logger","parseGitConfig","gitUrlParse","outdent","isRecord","prettier","getLatestVersion","createLogger","fileExists","lstat"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init-2mlaoNTF.cjs","sources":["../../src/node/core/template/createFromTemplate.ts","../../src/node/core/template/define.ts","../../src/node/isEmptyDirectory.ts","../../src/node/templates/default/template.ts","../../src/node/init.ts"],"sourcesContent":["import {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {dirname, relative, resolve} from 'path'\nimport prompts from 'prompts'\n\nimport {Logger} from '../../logger'\nimport {PkgTemplate} from './types'\n\nconst promptsTypes = {\n string: 'text' as const,\n}\n\n/** @internal */\nexport async function createFromTemplate(options: {\n cwd: string\n logger: Logger\n packagePath: string\n template: PkgTemplate\n}): Promise<void> {\n const {cwd, logger, packagePath, template: templateOrResolver} = options\n\n const template =\n typeof templateOrResolver === 'function'\n ? await templateOrResolver({cwd, logger, packagePath})\n : templateOrResolver\n\n logger.log('create new package at', relative(cwd, packagePath))\n\n const templateOptions: Record<string, string> = {}\n\n for (const templateOption of template.options) {\n const templateValidate = templateOption.validate\n\n const res = await prompts(\n {\n type: promptsTypes[templateOption.type],\n name: templateOption.name,\n message: templateOption.description,\n validate: templateValidate ? (prev) => templateValidate(prev) : undefined,\n initial:\n typeof templateOption.initial === 'function'\n ? templateOption.initial(templateOptions)\n : templateOption.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n\n templateOptions[templateOption.name] = templateOption.parse\n ? templateOption.parse(res[templateOption.name])\n : res[templateOption.name]\n }\n\n const features: Record<string, boolean> = {}\n\n for (const templateFeature of template.features) {\n const res = templateFeature.optional\n ? await prompts(\n {\n type: 'confirm',\n name: 'confirm',\n message: `use ${templateFeature.name}?`,\n initial: templateFeature.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n : undefined\n\n features[templateFeature.name] = res?.confirm || !templateFeature.optional\n }\n\n const files = await template.getFiles(templateOptions, features)\n\n files.sort((a, b) => {\n return a.name.localeCompare(b.name)\n })\n\n for (const file of files) {\n const filePath = resolve(packagePath, file.name)\n\n await mkdirp(dirname(filePath))\n await writeFile(filePath, file.contents.trim() + '\\n')\n\n logger.success(`wrote ${relative(cwd, filePath)}`)\n }\n}\n","import {PkgTemplateOption} from './types'\n\n/** @public */\nexport function defineTemplateOption<T>(option: PkgTemplateOption<T>): PkgTemplateOption<T> {\n return option\n}\n","import {readdir} from 'fs/promises'\n\nexport async function isEmptyDirectory(dirPath: string): Promise<boolean> {\n return (await readdir(dirPath)).length === 0\n}\n","import getLatestVersion from 'get-latest-version'\nimport gitUrlParse from 'git-url-parse'\nimport {outdent} from 'outdent'\nimport parseGitConfig from 'parse-git-config'\nimport {resolve} from 'path'\nimport prettier, {Config as PrettierConfig} from 'prettier'\n\nimport {defineTemplateOption, isRecord, PackageJSON, PkgTemplate, PkgTemplateFile} from '../../core'\n\nconst RE_NAME = /^(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)\\/)?[a-z0-9-~][a-z0-9-._~]*$/i\n\nexport const defaultTemplate: PkgTemplate = async ({cwd, logger, packagePath}) => {\n const gitConfig = await parseGitConfig({cwd, type: 'global'})\n\n return {\n options: [\n defineTemplateOption<{owner: string; name: string}>({\n name: 'repo',\n type: 'string',\n description: 'git url',\n validate: (v) => {\n if (!v) return true\n\n try {\n gitUrlParse(v)\n\n return true\n } catch (err) {\n return 'invalid git url'\n }\n },\n parse: (v) => {\n if (!v) return null\n\n const result = gitUrlParse(v)\n\n return {source: result.source, owner: result.owner, name: result.name}\n },\n }),\n defineTemplateOption({\n name: 'pkgName',\n type: 'string',\n description: 'package name',\n initial: (options) => options.repo?.name || undefined,\n validate: (v) => {\n if (!v) return 'package name is required'\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n return 'invalid package name'\n }\n\n return true\n },\n parse: (v) => {\n if (!v) {\n throw new Error('package name is required')\n }\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n throw new Error('invalid package name')\n }\n\n const [scope, name] = v.split('/')\n\n return {scope, name, fullName: v}\n },\n }),\n defineTemplateOption({\n name: 'description',\n type: 'string',\n description: 'package description',\n }),\n defineTemplateOption({\n name: 'authorName',\n type: 'string',\n description: 'package author name',\n initial: gitConfig?.user?.name,\n }),\n defineTemplateOption({\n name: 'authorEmail',\n type: 'string',\n description: 'package author email',\n initial: gitConfig?.user?.email,\n }),\n defineTemplateOption({\n name: 'license',\n type: 'string',\n description: 'package license',\n initial: 'MIT',\n validate: (v) => {\n if (!v) return 'license is required'\n\n return true\n },\n }),\n ],\n\n features: [\n {\n name: 'eslint',\n optional: true,\n initial: true,\n },\n {\n name: 'prettier',\n optional: true,\n initial: true,\n },\n {\n name: 'typescript',\n optional: true,\n initial: true,\n },\n ],\n\n async getFiles(options, features) {\n const {pkgName, repo} = options\n const {fullName: name} = pkgName\n\n const author =\n [options.authorName, options.authorEmail && `<${options.authorEmail}>`]\n .filter(Boolean)\n .join(' ') ?? undefined\n\n const prettierConfig: PrettierConfig | undefined = features.prettier\n ? {\n bracketSpacing: false,\n plugins: ['prettier-plugin-packagejson'],\n printWidth: 100,\n quoteProps: 'consistent',\n semi: false,\n singleQuote: true,\n tabWidth: 2,\n overrides: [\n {\n files: ['*.yml'],\n options: {\n singleQuote: false,\n },\n },\n ],\n }\n : undefined\n\n const pkgJson: PackageJSON & {\n prettier?: PrettierConfig\n ['lint-staged']?: Record<string, string[]>\n } = {\n name,\n 'version': '0.0.0',\n 'description': options.description ?? undefined,\n 'keywords': [],\n 'homepage': undefined,\n 'bugs': undefined,\n 'repository': undefined,\n 'license': options.license,\n author,\n 'sideEffects': false,\n 'type': 'module',\n 'exports': {\n '.': {\n types: undefined,\n source: features.typescript ? './src/index.ts' : './src/index.js',\n import: './dist/index.js',\n require: './dist/index.cjs',\n default: './dist/index.js',\n },\n './package.json': './package.json',\n },\n 'main': './dist/index.cjs',\n 'module': './dist/index.js',\n 'source': features.typescript ? './src/index.ts' : './src/index.js',\n 'types': undefined,\n 'files': ['dist', 'src'],\n 'scripts': {\n 'build': 'run-s clean pkg:build pkg:check',\n 'clean': 'rimraf dist',\n 'format': features.prettier ? 'prettier --write --cache --ignore-unknown .' : undefined,\n 'pkg:build': 'pkg build --strict',\n 'pkg:check': 'pkg check --strict',\n },\n 'lint-staged': features.prettier\n ? {\n '*': ['prettier --write --cache --ignore-unknown'],\n }\n : undefined,\n // prettier: prettierConfig,\n 'browserslist': 'extends @sanity/browserslist-config',\n 'dependencies': {},\n 'devDependencies': {\n '@sanity/pkg-utils': '*',\n '@typescript-eslint/eslint-plugin': undefined,\n '@typescript-eslint/parser': undefined,\n 'eslint': undefined,\n 'eslint-config-prettier': undefined,\n 'eslint-plugin-import': undefined,\n 'eslint-plugin-prettier': undefined,\n 'eslint-plugin-simple-import-sort': undefined,\n 'lint-staged': '*',\n 'npm-run-all': '*',\n 'prettier': features.prettier ? '*' : undefined,\n 'prettier-plugin-packagejson': features.prettier ? '*' : undefined,\n 'rimraf': '*',\n 'typescript': undefined,\n },\n 'engines': {\n node: '>=18.0.0',\n },\n }\n\n const files: PkgTemplateFile[] = []\n\n // .editorconfig\n files.push({\n name: '.editorconfig',\n contents: outdent`\n root = true\n\n [*]\n charset = utf-8\n indent_style = space\n indent_size = 2\n end_of_line = lf\n insert_final_newline = true\n trim_trailing_whitespace = true\n `,\n })\n\n // .gitignore\n files.push({\n name: '.gitignore',\n contents: outdent`\n *.local\n *.log\n *.tgz\n\n .DS_Store\n dist\n etc\n node_modules\n `,\n })\n\n if (features.prettier) {\n files.push({\n name: '.prettierignore',\n contents: outdent`\n dist\n pnpm-lock.yaml\n `,\n })\n\n files.push({\n name: '.prettierrc',\n contents: await format(\n resolve(packagePath, '.prettierrc.json'),\n JSON.stringify(prettierConfig, null, 2) + '\\n',\n prettierConfig,\n ),\n })\n }\n\n if (repo) {\n pkgJson.repository = {\n type: 'git',\n url: `git+ssh://git@${repo.source}/${repo.owner}/${repo.name}.git`,\n }\n pkgJson.bugs = {\n url: `https://${repo.source}/${repo.owner}/${repo.name}/issues`,\n }\n pkgJson.homepage = `https://${repo.source}/${repo.owner}/${repo.name}#readme`\n }\n\n if (features.typescript) {\n pkgJson.types = './dist/index.d.ts'\n\n const mainExport = pkgJson.exports?.['.']\n\n if (isRecord(mainExport)) {\n mainExport.types = './dist/index.d.ts'\n }\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n ['ts:check']: 'tsc --build',\n }\n\n const devDependencies = pkgJson.devDependencies\n\n if (isRecord(devDependencies)) {\n devDependencies['typescript'] = '*'\n }\n }\n\n if (features.eslint) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfig: any = {\n root: true,\n env: {\n browser: true,\n es6: true,\n node: true,\n },\n extends: [\n 'eslint:recommended',\n features.prettier ? 'plugin:prettier/recommended' : undefined,\n ].filter(Boolean),\n parserOptions: {\n ecmaVersion: 2020,\n sourceType: 'module',\n },\n plugins: [\n 'import',\n 'simple-import-sort',\n features.prettier ? 'prettier' : undefined,\n ].filter(Boolean),\n rules: {\n 'no-console': 'error',\n 'no-shadow': 'error',\n 'no-warning-comments': ['warn', {location: 'start', terms: ['todo', 'fixme']}],\n 'quote-props': ['warn', 'consistent-as-needed'],\n 'simple-import-sort/exports': 'warn',\n 'simple-import-sort/imports': 'warn',\n 'strict': ['warn', 'global'],\n },\n }\n\n files.push({\n name: '.eslintignore',\n contents: outdent`\n dist\n `,\n })\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n lint: features.typescript\n ? 'eslint . --ext .cjs,.js,.ts,.tsx'\n : 'eslint . --ext .cjs,.js',\n }\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n 'eslint': '*',\n 'eslint-config-prettier': features.prettier ? '*' : undefined,\n 'eslint-plugin-simple-import-sort': '*',\n 'eslint-plugin-import': '*',\n 'eslint-plugin-prettier': features.prettier ? '*' : undefined,\n }\n\n if (features.typescript) {\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@typescript-eslint/eslint-plugin': '*',\n '@typescript-eslint/parser': '*',\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfigOverride: any = {\n files: ['**/*.ts', '**/*.tsx'],\n parser: '@typescript-eslint/parser',\n parserOptions: {\n project: ['./tsconfig.json'],\n },\n extends: [\n 'eslint:recommended',\n features.prettier ? 'plugin:prettier/recommended' : undefined,\n 'plugin:@typescript-eslint/eslint-recommended',\n 'plugin:@typescript-eslint/recommended',\n ].filter(Boolean),\n plugins: [\n 'import',\n '@typescript-eslint',\n 'simple-import-sort',\n features.prettier ? 'prettier' : undefined,\n ].filter(Boolean),\n rules: {\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/interface-name-prefix': 'off',\n '@typescript-eslint/member-delimiter-style': 'off',\n '@typescript-eslint/no-empty-interface': 'off',\n },\n }\n\n eslintConfig.overrides = [eslintConfigOverride]\n }\n\n files.push({\n name: '.eslintrc.cjs',\n contents: await format(\n resolve(packagePath, '.eslintrc.cjs'),\n outdent`\n 'use strict'\n\n /** @type import('eslint').Linter.Config */\n module.exports = ${JSON.stringify(eslintConfig, null, 2)}\n `,\n prettierConfig,\n ),\n })\n }\n\n if (features.typescript) {\n files.push({\n name: 'tsconfig.settings.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.settings.json'),\n outdent`\n {\n \"compilerOptions\": {\n // Completeness\n \"skipLibCheck\": true,\n\n // Interop constraints\n \"allowSyntheticDefaultImports\": true,\n \"esModuleInterop\": true,\n\n // Language and environment\n \"target\": \"ES2020\",\n\n // Modules\n \"module\": \"ES2020\",\n \"moduleResolution\": \"Node\",\n\n // Type checking\n \"alwaysStrict\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"noImplicitAny\": true,\n \"noImplicitReturns\": true,\n \"noImplicitThis\": true,\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"strict\": true,\n \"strictFunctionTypes\": true,\n \"strictNullChecks\": true,\n \"strictPropertyInitialization\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.dist.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.dist.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./src\"],\n \"exclude\": [\"./src/**/*.test.ts\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"resolveJsonModule\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./**/*.cjs\", \"./**/*.ts\", \"./**/*.tsx\"],\n \"exclude\": [\"./node_modules\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"noEmit\": true,\n \"allowJs\": true,\n \"resolveJsonModule\": true,\n }\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // source file\n if (features.typescript) {\n files.push({\n name: 'package.config.ts',\n contents: await format(\n resolve(packagePath, 'package.config.ts'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n // https://github.com/sanity-io/pkg-utils#configuration\n export default defineConfig({\n // the path to the tsconfig file for distributed builds\n tsconfig: 'tsconfig.dist.json',\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.ts',\n contents: await format(\n resolve(packagePath, 'src/index.ts'),\n outdent`\n /** @public */\n export function main(): void {\n //\n }\n `,\n prettierConfig,\n ),\n })\n } else {\n files.push({\n name: 'package.config.js',\n contents: await format(\n resolve(packagePath, 'package.config.js'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n export default defineConfig({\n extract: {\n rules: {\n // do not require internal members to be prefixed with \\`_\\`\n 'ae-internal-missing-underscore': 'off',\n },\n },\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.js',\n contents: await format(\n resolve(packagePath, 'src/index.js'),\n outdent`\n /** @public */\n export function main() {\n //\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // Resolve latest dependencies\n try {\n pkgJson.dependencies = await resolveLatestDeps(pkgJson.dependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n // Resolve latest devDependencies\n try {\n pkgJson.devDependencies = await resolveLatestDeps(pkgJson.devDependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n files.push({\n name: 'package.json',\n contents: await format(\n resolve(packagePath, 'package.json'),\n JSON.stringify(pkgJson, null, 2),\n prettierConfig,\n ),\n })\n\n return files\n },\n }\n}\n\nfunction format(filepath: string, input: string, prettierOptions: PrettierConfig | undefined) {\n return prettier.format(input, {...prettierOptions, plugins: [], filepath})\n}\n\nasync function resolveLatestDeps(deps: Record<string, string | undefined>) {\n const depsEntries = Object.entries(deps)\n const latestDeps: Record<string, string> = {}\n\n for (const entry of depsEntries) {\n const [name, version] = entry\n\n if (version) {\n const latestVersion = await getLatestVersion(name, version)\n\n latestDeps[name] = latestVersion ? `^${latestVersion}` : version\n }\n }\n\n return latestDeps\n}\n","import {lstat} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {resolve} from 'path'\n\nimport {createFromTemplate} from './core/template'\nimport {fileExists} from './fileExists'\nimport {isEmptyDirectory} from './isEmptyDirectory'\nimport {createLogger} from './logger'\nimport {defaultTemplate} from './templates'\n\n/** @public */\nexport async function init(options: {cwd: string; path: string}): Promise<void> {\n if (!options.cwd) {\n throw new Error('Missing required option: cwd')\n }\n\n if (!options.path) {\n throw new Error('Missing required option: path')\n }\n\n const logger = createLogger()\n\n const packagePath = resolve(options.cwd, options.path)\n\n await ensurePackagePath(packagePath)\n\n await createFromTemplate({\n cwd: options.cwd,\n logger,\n template: defaultTemplate,\n packagePath,\n })\n}\n\nasync function ensurePackagePath(packagePath: string): Promise<void> {\n const exists = fileExists(packagePath)\n\n if (!exists) {\n await mkdirp(packagePath)\n\n return\n }\n\n const dir = (await lstat(packagePath)).isDirectory()\n\n if (!dir) {\n throw new Error('the package path is a file, not a directory')\n }\n\n const empty = await isEmptyDirectory(packagePath)\n\n if (!empty) {\n throw new Error('the package directory is not empty')\n }\n}\n"],"names":["logger","relative","prompts","resolve","mkdirp","dirname","writeFile","readdir","parseGitConfig","gitUrlParse","outdent","isRecord","prettier","getLatestVersion","createLogger","fileExists","lstat"],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var init = require('./init-CZQh-Q_y.cjs');
|
|
4
|
-
var handleError = require('./handleError-DB8KmYKe.cjs');
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var init = require("./init-2mlaoNTF.cjs"), handleError = require("./handleError-CGQ2DXMR.cjs");
|
|
6
3
|
async function initAction(options) {
|
|
7
4
|
try {
|
|
8
5
|
await init.init({
|
|
@@ -13,6 +10,5 @@ async function initAction(options) {
|
|
|
13
10
|
handleError.handleError(err);
|
|
14
11
|
}
|
|
15
12
|
}
|
|
16
|
-
|
|
17
13
|
exports.initAction = initAction;
|
|
18
|
-
//# sourceMappingURL=initAction-
|
|
14
|
+
//# sourceMappingURL=initAction-BlTz_X1p.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initAction-
|
|
1
|
+
{"version":3,"file":"initAction-BlTz_X1p.cjs","sources":["../../src/cli/initAction.ts"],"sourcesContent":["import {init} from '../node/init'\nimport {handleError} from './handleError'\n\nexport async function initAction(options: {path: string}): Promise<void> {\n try {\n await init({\n cwd: process.cwd(),\n path: options.path,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["init","handleError"],"mappings":";;AAGA,eAAsB,WAAW,SAAwC;AACnE,MAAA;AACF,UAAMA,UAAK;AAAA,MACT,KAAK,QAAQ,IAAI;AAAA,MACjB,MAAM,QAAQ;AAAA,IAAA,CACf;AAAA,WACM,KAAK;AACZC,gBAAA,YAAY,GAAG;AAAA,EACjB;AACF;;"}
|
|
@@ -1,26 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
8
|
-
|
|
9
|
-
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var fs = require("fs"), zod = require("zod"), chalk = require("chalk");
|
|
3
|
+
function _interopDefaultCompat(e) {
|
|
4
|
+
return e && typeof e == "object" && "default" in e ? e : { default: e };
|
|
5
|
+
}
|
|
6
|
+
var chalk__default = /* @__PURE__ */ _interopDefaultCompat(chalk);
|
|
11
7
|
function fileExists(filePath) {
|
|
12
8
|
try {
|
|
13
|
-
fs.statSync(filePath);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return false;
|
|
9
|
+
return fs.statSync(filePath), !0;
|
|
10
|
+
} catch {
|
|
11
|
+
return !1;
|
|
17
12
|
}
|
|
18
13
|
}
|
|
19
|
-
|
|
20
14
|
function isRecord(value) {
|
|
21
|
-
return
|
|
15
|
+
return !!value && !Array.isArray(value) && typeof value == "object";
|
|
22
16
|
}
|
|
23
|
-
|
|
24
17
|
const pkgSchema = zod.z.object({
|
|
25
18
|
type: zod.z.optional(zod.z.enum(["commonjs", "module"])),
|
|
26
19
|
name: zod.z.string(),
|
|
@@ -71,7 +64,6 @@ const pkgSchema = zod.z.object({
|
|
|
71
64
|
function validatePkg(input) {
|
|
72
65
|
return pkgSchema.parse(input);
|
|
73
66
|
}
|
|
74
|
-
|
|
75
67
|
function createLogger() {
|
|
76
68
|
return {
|
|
77
69
|
/* eslint-disable no-console */
|
|
@@ -93,9 +85,8 @@ function createLogger() {
|
|
|
93
85
|
/* eslint-enable no-console */
|
|
94
86
|
};
|
|
95
87
|
}
|
|
96
|
-
|
|
97
88
|
exports.createLogger = createLogger;
|
|
98
89
|
exports.fileExists = fileExists;
|
|
99
90
|
exports.isRecord = isRecord;
|
|
100
91
|
exports.validatePkg = validatePkg;
|
|
101
|
-
//# sourceMappingURL=logger-
|
|
92
|
+
//# sourceMappingURL=logger-CwHVwB-b.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger-CwHVwB-b.cjs","sources":["../../src/node/fileExists.ts","../../src/node/core/isRecord.ts","../../src/node/core/pkg/validatePkg.ts","../../src/node/logger.ts"],"sourcesContent":["import {statSync} from 'fs'\n\n/** @internal */\nexport function fileExists(filePath: string): boolean {\n try {\n statSync(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","/** @internal */\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && !Array.isArray(value) && typeof value === 'object'\n}\n","import {z} from 'zod'\n\nimport {PackageJSON} from './types'\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['commonjs', 'module'])),\n name: z.string(),\n version: z.string(),\n license: z.string(),\n bin: z.optional(z.record(z.string())),\n dependencies: z.optional(z.record(z.string())),\n devDependencies: z.optional(z.record(z.string())),\n peerDependencies: z.optional(z.record(z.string())),\n source: z.optional(z.string()),\n main: z.optional(z.string()),\n browser: z.optional(z.record(z.string())),\n module: z.optional(z.string()),\n types: z.optional(z.string()),\n exports: z.optional(\n z.record(\n z.union([\n z.custom<`./${string}.json`>((val) => /^\\.\\/.*\\.json$/.test(val as string)),\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n browser: z.optional(\n z.object({\n source: z.string(),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n node: z.optional(\n z.object({\n source: z.optional(z.string()),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n default: z.string(),\n }),\n ]),\n ),\n ),\n browserslist: z.optional(z.union([z.string(), z.array(z.string())])),\n sideEffects: z.optional(z.union([z.boolean(), z.array(z.string())])),\n})\n\nexport function validatePkg(input: unknown): PackageJSON {\n return pkgSchema.parse(input)\n}\n","import chalk from 'chalk'\n\n/** @internal */\nexport interface Logger {\n log: (...args: unknown[]) => void\n info: (...args: unknown[]) => void\n warn: (...args: unknown[]) => void\n error: (...args: unknown[]) => void\n success: (...args: unknown[]) => void\n}\n\n/** @internal */\nexport function createLogger(): Logger {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue('[info]'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow('[warning]'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red('[error]'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green('[success]'), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n"],"names":["statSync","z","chalk"],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var path = require("path"), rxjs = require("rxjs"), consoleSpy = require("./consoleSpy-CHoeHT4P.cjs");
|
|
3
|
+
require("@sanity/browserslist-config");
|
|
4
|
+
require("fs/promises");
|
|
5
|
+
require("pkg-up");
|
|
6
|
+
var logger = require("./logger-CwHVwB-b.cjs");
|
|
7
|
+
require("mkdirp");
|
|
8
|
+
require("prompts");
|
|
9
|
+
require("typescript");
|
|
10
|
+
var fs = require("fs"), index = require("./index-DGGGzGO4.cjs"), operators = require("rxjs/operators"), globby = require("globby"), chokidar = require("chokidar");
|
|
11
|
+
function _interopDefaultCompat(e) {
|
|
12
|
+
return e && typeof e == "object" && "default" in e ? e : { default: e };
|
|
13
|
+
}
|
|
14
|
+
var path__default = /* @__PURE__ */ _interopDefaultCompat(path), fs__default = /* @__PURE__ */ _interopDefaultCompat(fs), globby__default = /* @__PURE__ */ _interopDefaultCompat(globby), chokidar__default = /* @__PURE__ */ _interopDefaultCompat(chokidar);
|
|
15
|
+
function resolveWatchTasks(ctx) {
|
|
16
|
+
const { config, cwd, pkg, target } = ctx, tasks = [], exports2 = Object.entries(ctx.exports || {}).map(
|
|
17
|
+
([_path, exp]) => ({ _path, ...exp })
|
|
18
|
+
), dtsTask = {
|
|
19
|
+
type: "watch:dts",
|
|
20
|
+
entries: []
|
|
21
|
+
}, rollupTasks = {};
|
|
22
|
+
function addRollupTaskEntry(format, runtime, entry) {
|
|
23
|
+
const buildId = `${format}:${runtime}`;
|
|
24
|
+
rollupTasks[buildId] ? rollupTasks[buildId].entries.push(entry) : rollupTasks[buildId] = {
|
|
25
|
+
type: "watch:js",
|
|
26
|
+
buildId,
|
|
27
|
+
entries: [entry],
|
|
28
|
+
runtime,
|
|
29
|
+
format,
|
|
30
|
+
target: target[runtime]
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
for (const exp of exports2) {
|
|
34
|
+
const importId = path__default.default.join(pkg.name, exp._path);
|
|
35
|
+
exp.types && dtsTask.entries.push({
|
|
36
|
+
importId,
|
|
37
|
+
exportPath: exp._path,
|
|
38
|
+
sourcePath: exp.source,
|
|
39
|
+
targetPath: exp.types
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
for (const exp of exports2) {
|
|
43
|
+
const output = exp.require;
|
|
44
|
+
output && addRollupTaskEntry("commonjs", ctx.runtime, {
|
|
45
|
+
path: exp._path,
|
|
46
|
+
source: exp.source,
|
|
47
|
+
output
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
for (const exp of exports2) {
|
|
51
|
+
const output = exp.browser?.require;
|
|
52
|
+
output && addRollupTaskEntry("commonjs", "browser", {
|
|
53
|
+
path: exp._path,
|
|
54
|
+
source: exp.browser?.source || exp.source,
|
|
55
|
+
output
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
for (const exp of exports2) {
|
|
59
|
+
const output = exp.import;
|
|
60
|
+
output && addRollupTaskEntry("esm", ctx.runtime, {
|
|
61
|
+
path: exp._path,
|
|
62
|
+
source: exp.source,
|
|
63
|
+
output
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
for (const exp of exports2) {
|
|
67
|
+
const output = exp.browser?.import;
|
|
68
|
+
output && addRollupTaskEntry("esm", "browser", {
|
|
69
|
+
path: exp._path,
|
|
70
|
+
source: exp.browser?.source || exp.source,
|
|
71
|
+
output
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
if (dtsTask.entries.length && tasks.push(dtsTask), tasks.push(...Object.values(rollupTasks)), config?.legacyExports) {
|
|
75
|
+
for (const exp of exports2)
|
|
76
|
+
if (exp._exported && exp._path !== ".") {
|
|
77
|
+
const relativeTargetPath = (exp.browser?.import || exp.import || "").replace(
|
|
78
|
+
/\.[^/.]+$/,
|
|
79
|
+
""
|
|
80
|
+
);
|
|
81
|
+
relativeTargetPath && fs__default.default.writeFileSync(
|
|
82
|
+
path__default.default.resolve(cwd, `${exp._path}.js`),
|
|
83
|
+
["// AUTO-GENERATED \u2013 DO NOT EDIT", `export * from '${relativeTargetPath}'`, ""].join(
|
|
84
|
+
`
|
|
85
|
+
`
|
|
86
|
+
)
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return tasks;
|
|
91
|
+
}
|
|
92
|
+
function globFiles(patterns) {
|
|
93
|
+
return globby__default.default(patterns.map((pattern) => pattern.split(path__default.default.sep).join(path__default.default.posix.sep)));
|
|
94
|
+
}
|
|
95
|
+
function watchFiles(patterns) {
|
|
96
|
+
return new rxjs.Observable((observer) => {
|
|
97
|
+
const watcher = chokidar__default.default.watch(patterns, {
|
|
98
|
+
ignoreInitial: !0
|
|
99
|
+
});
|
|
100
|
+
function handleFileEvent(type, file) {
|
|
101
|
+
observer.next({ type, file });
|
|
102
|
+
}
|
|
103
|
+
return watcher.on("all", handleFileEvent), () => {
|
|
104
|
+
watcher.off("all", handleFileEvent), watcher.close();
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
async function watchConfigFiles(options) {
|
|
109
|
+
const { cwd, logger: logger2 } = options, initialFiles = await globFiles([
|
|
110
|
+
path__default.default.resolve(cwd, "package.json"),
|
|
111
|
+
path__default.default.resolve(cwd, "package.config.cjs"),
|
|
112
|
+
path__default.default.resolve(cwd, "package.config.js"),
|
|
113
|
+
path__default.default.resolve(cwd, "package.config.ts")
|
|
114
|
+
]);
|
|
115
|
+
return watchFiles([
|
|
116
|
+
path__default.default.resolve(cwd, "package.json"),
|
|
117
|
+
path__default.default.resolve(cwd, "package.config.cjs"),
|
|
118
|
+
path__default.default.resolve(cwd, "package.config.js"),
|
|
119
|
+
path__default.default.resolve(cwd, "package.config.ts")
|
|
120
|
+
]).pipe(
|
|
121
|
+
operators.scan((files, fileEvent) => fileEvent.type === "add" ? files.concat(fileEvent.file) : fileEvent.type === "unlink" ? files.filter((f) => f !== fileEvent.file) : fileEvent.type === "change" ? (logger2.log(
|
|
122
|
+
"--------------------------------------------------------------------------------"
|
|
123
|
+
), logger2.info(path__default.default.relative(cwd, fileEvent.file), "changed"), logger2.log(""), files.slice(0)) : files, initialFiles),
|
|
124
|
+
operators.startWith(initialFiles),
|
|
125
|
+
operators.distinctUntilChanged()
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
async function watch(options) {
|
|
129
|
+
const { cwd, strict = !1, tsconfig: tsconfigOption } = options, logger$1 = logger.createLogger();
|
|
130
|
+
(await watchConfigFiles({ cwd, logger: logger$1 })).pipe(
|
|
131
|
+
rxjs.switchMap(async (configFiles) => {
|
|
132
|
+
if (!configFiles.map((f) => path__default.default.relative(cwd, f)).find((f) => f === "package.json"))
|
|
133
|
+
throw new Error("missing package.json");
|
|
134
|
+
const pkg = await consoleSpy.loadPkgWithReporting({ cwd, logger: logger$1 }), config = await consoleSpy.loadConfig({ cwd }), extMap = consoleSpy.getPkgExtMap({ legacyExports: config?.legacyExports ?? !1 }), tsconfig = tsconfigOption || config?.tsconfig || "tsconfig.json";
|
|
135
|
+
return consoleSpy.resolveBuildContext({ config, cwd, extMap, logger: logger$1, pkg, strict, tsconfig });
|
|
136
|
+
})
|
|
137
|
+
).subscribe(async (ctx) => {
|
|
138
|
+
const watchTasks = resolveWatchTasks(ctx);
|
|
139
|
+
for (const task of watchTasks) {
|
|
140
|
+
const handler = index.watchTaskHandlers[task.type];
|
|
141
|
+
handler.exec(ctx, task).subscribe({
|
|
142
|
+
error: (err) => {
|
|
143
|
+
ctx.logger.error(err), ctx.logger.log(), process.exit(1);
|
|
144
|
+
},
|
|
145
|
+
next: (result) => {
|
|
146
|
+
handler.complete(ctx, task, result);
|
|
147
|
+
},
|
|
148
|
+
complete: () => {
|
|
149
|
+
ctx.logger.success(handler.name(ctx, task)), ctx.logger.log();
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
exports.watch = watch;
|
|
156
|
+
//# sourceMappingURL=watch-5pC_s_sw.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch-JoaJL851.cjs","sources":["../../src/node/resolveWatchTasks.ts","../../src/node/globFiles.ts","../../src/node/watchFiles.ts","../../src/node/watchConfigFiles.ts","../../src/node/watch.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {DtsWatchTask, RollupTaskEntry, RollupWatchTask, WatchTask} from './tasks'\n\n/** @internal */\nexport function resolveWatchTasks(ctx: BuildContext): WatchTask[] {\n const {config, cwd, pkg, target} = ctx\n const tasks: WatchTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp}) as PkgExport & {_path: string},\n )\n\n const dtsTask: DtsWatchTask = {\n type: 'watch:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupWatchTask> = {}\n\n function addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'watch:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n '',\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n',\n ),\n )\n }\n }\n }\n }\n\n return tasks\n}\n","import globby from 'globby'\nimport path from 'path'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function watchFiles(patterns: string[]): Observable<FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string,\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', handleFileEvent)\n\n return () => {\n watcher.off('all', handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\n\nimport {globFiles} from './globFiles'\nimport {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = options\n\n const initialFiles = await globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n logger.log(\n '--------------------------------------------------------------------------------',\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged(),\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {TaskHandler, WatchTask, watchTaskHandlers} from './tasks'\nimport {watchConfigFiles} from './watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n }),\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["path","fs","globby","Observable","chokidar","scan","startWith","distinctUntilChanged","logger","createLogger","switchMap","loadPkgWithReporting","loadConfig","getPkgExtMap","resolveBuildContext","watchTaskHandlers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOO,SAAS,kBAAkB,GAAgC,EAAA;AAChE,EAAA,MAAM,EAAC,MAAA,EAAQ,GAAK,EAAA,GAAA,EAAK,QAAU,GAAA,GAAA,CAAA;AACnC,EAAA,MAAM,QAAqB,EAAC,CAAA;AAE5B,EAAA,MAAM,UAAU,MAAO,CAAA,OAAA,CAAQ,IAAI,OAAW,IAAA,EAAE,CAAE,CAAA,GAAA;AAAA,IAChD,CAAC,CAAC,KAAO,EAAA,GAAG,OAAO,EAAC,KAAA,EAAO,GAAG,GAAG,EAAA,CAAA;AAAA,GACnC,CAAA;AAEA,EAAA,MAAM,OAAwB,GAAA;AAAA,IAC5B,IAAM,EAAA,WAAA;AAAA,IACN,SAAS,EAAC;AAAA,GACZ,CAAA;AAEA,EAAA,MAAM,cAA+C,EAAC,CAAA;AAEtD,EAAS,SAAA,kBAAA,CAAmB,MAAmB,EAAA,OAAA,EAAqB,KAAwB,EAAA;AAC1F,IAAA,MAAM,OAAU,GAAA,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,CAAA;AAEpC,IAAI,IAAA,WAAA,CAAY,OAAO,CAAG,EAAA;AACxB,MAAA,WAAA,CAAY,OAAO,CAAA,CAAE,OAAQ,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AAAA,KAClC,MAAA;AACL,MAAA,WAAA,CAAY,OAAO,CAAI,GAAA;AAAA,QACrB,IAAM,EAAA,UAAA;AAAA,QACN,OAAA;AAAA,QACA,OAAA,EAAS,CAAC,KAAK,CAAA;AAAA,QACf,OAAA;AAAA,QACA,MAAA;AAAA,QACA,MAAA,EAAQ,OAAO,OAAO,CAAA;AAAA,OACxB,CAAA;AAAA,KACF;AAAA,GACF;AAGA,EAAA,KAAA,MAAW,OAAO,OAAS,EAAA;AACzB,IAAA,MAAM,WAAWA,qBAAK,CAAA,IAAA,CAAK,GAAI,CAAA,IAAA,EAAM,IAAI,KAAK,CAAA,CAAA;AAE9C,IAAA,IAAI,IAAI,KAAO,EAAA;AACb,MAAA,OAAA,CAAQ,QAAQ,IAAK,CAAA;AAAA,QACnB,QAAA;AAAA,QACA,YAAY,GAAI,CAAA,KAAA;AAAA,QAChB,YAAY,GAAI,CAAA,MAAA;AAAA,QAChB,YAAY,GAAI,CAAA,KAAA;AAAA,OACjB,CAAA,CAAA;AAAA,KACH;AAAA,GACF;AAGA,EAAA,KAAA,MAAW,OAAO,OAAS,EAAA;AACzB,IAAA,MAAM,SAAS,GAAI,CAAA,OAAA,CAAA;AAEnB,IAAA,IAAI,CAAC,MAAA;AAAQ,MAAA,SAAA;AAEb,IAAmB,kBAAA,CAAA,UAAA,EAAY,IAAI,OAAS,EAAA;AAAA,MAC1C,MAAM,GAAI,CAAA,KAAA;AAAA,MACV,QAAQ,GAAI,CAAA,MAAA;AAAA,MACZ,MAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAGA,EAAA,KAAA,MAAW,OAAO,OAAS,EAAA;AACzB,IAAM,MAAA,MAAA,GAAS,IAAI,OAAS,EAAA,OAAA,CAAA;AAE5B,IAAA,IAAI,CAAC,MAAA;AAAQ,MAAA,SAAA;AAEb,IAAA,kBAAA,CAAmB,YAAY,SAAW,EAAA;AAAA,MACxC,MAAM,GAAI,CAAA,KAAA;AAAA,MACV,MAAQ,EAAA,GAAA,CAAI,OAAS,EAAA,MAAA,IAAU,GAAI,CAAA,MAAA;AAAA,MACnC,MAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAGA,EAAA,KAAA,MAAW,OAAO,OAAS,EAAA;AACzB,IAAA,MAAM,SAAS,GAAI,CAAA,MAAA,CAAA;AAEnB,IAAA,IAAI,CAAC,MAAA;AAAQ,MAAA,SAAA;AAEb,IAAmB,kBAAA,CAAA,KAAA,EAAO,IAAI,OAAS,EAAA;AAAA,MACrC,MAAM,GAAI,CAAA,KAAA;AAAA,MACV,QAAQ,GAAI,CAAA,MAAA;AAAA,MACZ,MAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAGA,EAAA,KAAA,MAAW,OAAO,OAAS,EAAA;AACzB,IAAM,MAAA,MAAA,GAAS,IAAI,OAAS,EAAA,MAAA,CAAA;AAE5B,IAAA,IAAI,CAAC,MAAA;AAAQ,MAAA,SAAA;AAEb,IAAA,kBAAA,CAAmB,OAAO,SAAW,EAAA;AAAA,MACnC,MAAM,GAAI,CAAA,KAAA;AAAA,MACV,MAAQ,EAAA,GAAA,CAAI,OAAS,EAAA,MAAA,IAAU,GAAI,CAAA,MAAA;AAAA,MACnC,MAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAEA,EAAI,IAAA,OAAA,CAAQ,QAAQ,MAAQ,EAAA;AAC1B,IAAA,KAAA,CAAM,KAAK,OAAO,CAAA,CAAA;AAAA,GACpB;AAEA,EAAA,KAAA,CAAM,IAAK,CAAA,GAAG,MAAO,CAAA,MAAA,CAAO,WAAW,CAAC,CAAA,CAAA;AAGxC,EAAA,IAAI,QAAQ,aAAe,EAAA;AACzB,IAAA,KAAA,MAAW,OAAO,OAAS,EAAA;AACzB,MAAA,IAAI,GAAI,CAAA,SAAA,IAAa,GAAI,CAAA,KAAA,KAAU,GAAK,EAAA;AACtC,QAAA,MAAM,sBAAsB,GAAI,CAAA,OAAA,EAAS,MAAU,IAAA,GAAA,CAAI,UAAU,EAAI,EAAA,OAAA;AAAA,UACnE,WAAA;AAAA,UACA,EAAA;AAAA,SACF,CAAA;AAEA,QAAA,IAAI,kBAAoB,EAAA;AACtB,UAAGC,mBAAA,CAAA,aAAA;AAAA,YACDD,sBAAK,OAAQ,CAAA,GAAA,EAAK,CAAG,EAAA,GAAA,CAAI,KAAK,CAAK,GAAA,CAAA,CAAA;AAAA,YACnC,CAAC,CAAmC,oCAAA,CAAA,EAAA,CAAA,eAAA,EAAkB,kBAAkB,CAAA,CAAA,CAAA,EAAK,EAAE,CAAE,CAAA,IAAA;AAAA,cAC/E,IAAA;AAAA,aACF;AAAA,WACF,CAAA;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAAA,GACF;AAEA,EAAO,OAAA,KAAA,CAAA;AACT;;AClIO,SAAS,UAAU,QAAuC,EAAA;AAC/D,EAAA,OAAOE,uBAAO,CAAA,QAAA,CAAS,GAAI,CAAA,CAAC,YAAY,OAAQ,CAAA,KAAA,CAAMF,qBAAK,CAAA,GAAG,EAAE,IAAK,CAAAA,qBAAA,CAAK,KAAM,CAAA,GAAG,CAAC,CAAC,CAAA,CAAA;AACvF;;ACGO,SAAS,WAAW,QAA2C,EAAA;AACpE,EAAO,OAAA,IAAIG,eAAW,CAAA,CAAC,QAAa,KAAA;AAClC,IAAM,MAAA,OAAA,GAAUC,yBAAS,CAAA,KAAA,CAAM,QAAU,EAAA;AAAA,MACvC,aAAe,EAAA,IAAA;AAAA,KAChB,CAAA,CAAA;AAED,IAAS,SAAA,eAAA,CACP,MACA,IACA,EAAA;AACA,MAAA,QAAA,CAAS,IAAK,CAAA,EAAC,IAAM,EAAA,IAAA,EAAK,CAAA,CAAA;AAAA,KAC5B;AAEA,IAAQ,OAAA,CAAA,EAAA,CAAG,OAAO,eAAe,CAAA,CAAA;AAEjC,IAAA,OAAO,MAAM;AACX,MAAQ,OAAA,CAAA,GAAA,CAAI,OAAO,eAAe,CAAA,CAAA;AAClC,MAAA,OAAA,CAAQ,KAAM,EAAA,CAAA;AAAA,KAChB,CAAA;AAAA,GACD,CAAA,CAAA;AACH;;ACpBA,eAAsB,iBAAiB,OAGL,EAAA;AAChC,EAAM,MAAA,EAAC,GAAK,EAAA,MAAA,EAAU,GAAA,OAAA,CAAA;AAEtB,EAAM,MAAA,YAAA,GAAe,MAAM,SAAU,CAAA;AAAA,IACnCJ,qBAAA,CAAK,OAAQ,CAAA,GAAA,EAAK,cAAc,CAAA;AAAA,IAChCA,qBAAA,CAAK,OAAQ,CAAA,GAAA,EAAK,oBAAoB,CAAA;AAAA,IACtCA,qBAAA,CAAK,OAAQ,CAAA,GAAA,EAAK,mBAAmB,CAAA;AAAA,IACrCA,qBAAA,CAAK,OAAQ,CAAA,GAAA,EAAK,mBAAmB,CAAA;AAAA,GACtC,CAAA,CAAA;AAED,EAAA,MAAM,aAAa,UAAW,CAAA;AAAA,IAC5BA,qBAAA,CAAK,OAAQ,CAAA,GAAA,EAAK,cAAc,CAAA;AAAA,IAChCA,qBAAA,CAAK,OAAQ,CAAA,GAAA,EAAK,oBAAoB,CAAA;AAAA,IACtCA,qBAAA,CAAK,OAAQ,CAAA,GAAA,EAAK,mBAAmB,CAAA;AAAA,IACrCA,qBAAA,CAAK,OAAQ,CAAA,GAAA,EAAK,mBAAmB,CAAA;AAAA,GACtC,CAAA,CAAA;AAED,EAAA,OAAO,UAAW,CAAA,IAAA;AAAA,IAChBK,cAAA,CAAK,CAAC,KAAA,EAAO,SAAc,KAAA;AACzB,MAAI,IAAA,SAAA,CAAU,SAAS,KAAO,EAAA;AAC5B,QAAO,OAAA,KAAA,CAAM,MAAO,CAAA,SAAA,CAAU,IAAI,CAAA,CAAA;AAAA,OACpC;AAEA,MAAI,IAAA,SAAA,CAAU,SAAS,QAAU,EAAA;AAC/B,QAAA,OAAO,MAAM,MAAO,CAAA,CAAC,CAAM,KAAA,CAAA,KAAM,UAAU,IAAI,CAAA,CAAA;AAAA,OACjD;AAEA,MAAI,IAAA,SAAA,CAAU,SAAS,QAAU,EAAA;AAC/B,QAAO,MAAA,CAAA,GAAA;AAAA,UACL,kFAAA;AAAA,SACF,CAAA;AACA,QAAA,MAAA,CAAO,KAAKL,qBAAK,CAAA,QAAA,CAAS,KAAK,SAAU,CAAA,IAAI,GAAG,SAAS,CAAA,CAAA;AACzD,QAAA,MAAA,CAAO,IAAI,EAAE,CAAA,CAAA;AAEb,QAAO,OAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAAA,OACtB;AAEA,MAAO,OAAA,KAAA,CAAA;AAAA,OACN,YAAY,CAAA;AAAA,IACfM,oBAAU,YAAY,CAAA;AAAA,IACtBC,8BAAqB,EAAA;AAAA,GACvB,CAAA;AACF;;AC1CA,eAAsB,MAAM,OAIV,EAAA;AAChB,EAAA,MAAM,EAAC,GAAK,EAAA,MAAA,GAAS,KAAO,EAAA,QAAA,EAAU,gBAAkB,GAAA,OAAA,CAAA;AAExD,EAAA,MAAMC,WAASC,mBAAa,EAAA,CAAA;AAE5B,EAAA,MAAM,eAAe,MAAM,gBAAA,CAAiB,EAAC,GAAA,UAAKD,UAAO,CAAA,CAAA;AAEzD,EAAA,MAAM,OAAO,YAAa,CAAA,IAAA;AAAA,IACxBE,cAAA,CAAU,OAAO,WAAgB,KAAA;AAC/B,MAAM,MAAA,KAAA,GAAQ,YAAY,GAAI,CAAA,CAAC,MAAMV,qBAAK,CAAA,QAAA,CAAS,GAAK,EAAA,CAAC,CAAC,CAAA,CAAA;AAE1D,MAAA,MAAM,kBAAkB,KAAM,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,MAAM,cAAc,CAAA,CAAA;AAE9D,MAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,QAAM,MAAA,IAAI,MAAM,sBAAsB,CAAA,CAAA;AAAA,OACxC;AAEA,MAAA,MAAM,MAAM,MAAMW,+BAAA,CAAqB,EAAC,GAAA,UAAKH,UAAO,CAAA,CAAA;AACpD,MAAA,MAAM,MAAS,GAAA,MAAMI,qBAAW,CAAA,EAAC,KAAI,CAAA,CAAA;AACrC,MAAA,MAAM,SAASC,uBAAa,CAAA,EAAC,eAAe,MAAQ,EAAA,aAAA,IAAiB,OAAM,CAAA,CAAA;AAC3E,MAAM,MAAA,QAAA,GAAW,cAAkB,IAAA,MAAA,EAAQ,QAAY,IAAA,eAAA,CAAA;AAEvD,MAAO,OAAAC,8BAAA,CAAoB,EAAC,MAAQ,EAAA,GAAA,EAAK,gBAAQN,QAAQ,EAAA,GAAA,EAAK,MAAQ,EAAA,QAAA,EAAS,CAAA,CAAA;AAAA,KAChF,CAAA;AAAA,GACH,CAAA;AAEA,EAAK,IAAA,CAAA,SAAA,CAAU,OAAO,GAAQ,KAAA;AAC5B,IAAM,MAAA,UAAA,GAAa,kBAAkB,GAAG,CAAA,CAAA;AAExC,IAAA,KAAA,MAAW,QAAQ,UAAY,EAAA;AAC7B,MAAM,MAAA,OAAA,GAAUO,uBAAkB,CAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AAC3C,MAAA,MAAM,OAAU,GAAA,OAAA,CAAQ,IAAK,CAAA,GAAA,EAAK,IAAI,CAAA,CAAA;AAEtC,MAAA,OAAA,CAAQ,SAAU,CAAA;AAAA,QAChB,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,UAAI,GAAA,CAAA,MAAA,CAAO,MAAM,GAAG,CAAA,CAAA;AACpB,UAAA,GAAA,CAAI,OAAO,GAAI,EAAA,CAAA;AAEf,UAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AAAA,SAChB;AAAA,QACA,IAAA,EAAM,CAAC,MAAW,KAAA;AAChB,UAAQ,OAAA,CAAA,QAAA,CAAS,GAAK,EAAA,IAAA,EAAM,MAAM,CAAA,CAAA;AAAA,SACpC;AAAA,QACA,UAAU,MAAM;AACd,UAAA,GAAA,CAAI,OAAO,OAAQ,CAAA,OAAA,CAAQ,IAAK,CAAA,GAAA,EAAK,IAAI,CAAC,CAAA,CAAA;AAC1C,UAAA,GAAA,CAAI,OAAO,GAAI,EAAA,CAAA;AAAA,SACjB;AAAA,OACD,CAAA,CAAA;AAAA,KACH;AAAA,GACD,CAAA,CAAA;AACH;;;;"}
|
|
1
|
+
{"version":3,"file":"watch-5pC_s_sw.cjs","sources":["../../src/node/resolveWatchTasks.ts","../../src/node/globFiles.ts","../../src/node/watchFiles.ts","../../src/node/watchConfigFiles.ts","../../src/node/watch.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {DtsWatchTask, RollupTaskEntry, RollupWatchTask, WatchTask} from './tasks'\n\n/** @internal */\nexport function resolveWatchTasks(ctx: BuildContext): WatchTask[] {\n const {config, cwd, pkg, target} = ctx\n const tasks: WatchTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp}) as PkgExport & {_path: string},\n )\n\n const dtsTask: DtsWatchTask = {\n type: 'watch:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupWatchTask> = {}\n\n function addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'watch:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n '',\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n',\n ),\n )\n }\n }\n }\n }\n\n return tasks\n}\n","import globby from 'globby'\nimport path from 'path'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function watchFiles(patterns: string[]): Observable<FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string,\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', handleFileEvent)\n\n return () => {\n watcher.off('all', handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\n\nimport {globFiles} from './globFiles'\nimport {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = options\n\n const initialFiles = await globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n logger.log(\n '--------------------------------------------------------------------------------',\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged(),\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {TaskHandler, WatchTask, watchTaskHandlers} from './tasks'\nimport {watchConfigFiles} from './watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n }),\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["exports","path","fs","globby","Observable","chokidar","logger","scan","startWith","distinctUntilChanged","createLogger","switchMap","loadPkgWithReporting","loadConfig","getPkgExtMap","resolveBuildContext","watchTaskHandlers"],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var watch = require('./watch-JoaJL851.cjs');
|
|
4
|
-
var handleError = require('./handleError-DB8KmYKe.cjs');
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var watch = require("./watch-5pC_s_sw.cjs"), handleError = require("./handleError-CGQ2DXMR.cjs");
|
|
6
3
|
async function watchAction(options) {
|
|
7
4
|
try {
|
|
8
5
|
await watch.watch({
|
|
@@ -14,6 +11,5 @@ async function watchAction(options) {
|
|
|
14
11
|
handleError.handleError(err);
|
|
15
12
|
}
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
exports.watchAction = watchAction;
|
|
19
|
-
//# sourceMappingURL=watchAction-
|
|
15
|
+
//# sourceMappingURL=watchAction-DU24xubH.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchAction-
|
|
1
|
+
{"version":3,"file":"watchAction-DU24xubH.cjs","sources":["../../src/cli/watchAction.ts"],"sourcesContent":["import {watch} from '../node/watch'\nimport {handleError} from './handleError'\n\nexport async function watchAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await watch({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["watch","handleError"],"mappings":";;AAGA,eAAsB,YAAY,SAA+D;AAC3F,MAAA;AACF,UAAMA,YAAM;AAAA,MACV,KAAK,QAAQ,IAAI;AAAA,MACjB,QAAQ,QAAQ;AAAA,MAChB,UAAU,QAAQ;AAAA,IAAA,CACnB;AAAA,WACM,KAAK;AACZC,gBAAA,YAAY,GAAG;AAAA,EACjB;AACF;;"}
|
package/dist/cli.cjs
CHANGED
|
@@ -1,30 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var cac__default = /*#__PURE__*/_interopDefaultCompat(cac);
|
|
8
|
-
|
|
9
|
-
var version = "4.2.6";
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var cac = require("cac");
|
|
3
|
+
function _interopDefaultCompat(e) {
|
|
4
|
+
return e && typeof e == "object" && "default" in e ? e : { default: e };
|
|
5
|
+
}
|
|
6
|
+
var cac__default = /* @__PURE__ */ _interopDefaultCompat(cac), version = "4.2.8";
|
|
11
7
|
const cli = cac__default.default();
|
|
12
8
|
cli.command("", "Check").alias("check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async (options) => {
|
|
13
|
-
const { checkAction } = await Promise.resolve().then(function
|
|
9
|
+
const { checkAction } = await Promise.resolve().then(function() {
|
|
10
|
+
return require("./_chunks/checkAction-BH_mZd8d.cjs");
|
|
11
|
+
});
|
|
14
12
|
return checkAction(options);
|
|
15
13
|
});
|
|
16
14
|
cli.command("build", "Build package").option("--emitDeclarationOnly", "Emit d.ts only").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async (options) => {
|
|
17
|
-
const { buildAction } = await Promise.resolve().then(function
|
|
15
|
+
const { buildAction } = await Promise.resolve().then(function() {
|
|
16
|
+
return require("./_chunks/buildAction-BqCNrElB.cjs");
|
|
17
|
+
});
|
|
18
18
|
return buildAction(options);
|
|
19
19
|
});
|
|
20
20
|
cli.command("init [path]", "Initialize package").action(async (p) => {
|
|
21
|
-
const { initAction } = await Promise.resolve().then(function
|
|
21
|
+
const { initAction } = await Promise.resolve().then(function() {
|
|
22
|
+
return require("./_chunks/initAction-BlTz_X1p.cjs");
|
|
23
|
+
});
|
|
22
24
|
return initAction({
|
|
23
25
|
path: p
|
|
24
26
|
});
|
|
25
27
|
});
|
|
26
28
|
cli.command("watch", "Watch package").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async (options) => {
|
|
27
|
-
const { watchAction } = await Promise.resolve().then(function
|
|
29
|
+
const { watchAction } = await Promise.resolve().then(function() {
|
|
30
|
+
return require("./_chunks/watchAction-DU24xubH.cjs");
|
|
31
|
+
});
|
|
28
32
|
return watchAction(options);
|
|
29
33
|
});
|
|
30
34
|
cli.help();
|
package/dist/cli.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.cjs","sources":["../src/cli/index.ts"],"sourcesContent":["import cac from 'cac'\n\nimport {version} from '../../package.json'\n\nconst cli = cac()\n\ncli\n .command('', 'Check')\n .alias('check') // alias to align with the action name\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {checkAction} = await import('./checkAction')\n\n return checkAction(options)\n })\n\ncli\n .command('build', 'Build package')\n .option('--emitDeclarationOnly', 'Emit d.ts only')\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {buildAction} = await import('./buildAction')\n\n return buildAction(options)\n })\n\ncli.command('init [path]', 'Initialize package').action(async (p) => {\n const {initAction} = await import('./initAction')\n\n return initAction({\n path: p,\n })\n})\n\ncli\n .command('watch', 'Watch package')\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {watchAction} = await import('./watchAction')\n\n return watchAction(options)\n })\n\n// Display help message when `-h` or `--help` appears\ncli.help()\n\n// Display version number when `-v` or `--version` appears\n// It's also used in help message\ncli.version(version)\n\ncli.parse()\n"],"names":["cac"],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.cjs","sources":["../src/cli/index.ts"],"sourcesContent":["import cac from 'cac'\n\nimport {version} from '../../package.json'\n\nconst cli = cac()\n\ncli\n .command('', 'Check')\n .alias('check') // alias to align with the action name\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {checkAction} = await import('./checkAction')\n\n return checkAction(options)\n })\n\ncli\n .command('build', 'Build package')\n .option('--emitDeclarationOnly', 'Emit d.ts only')\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {buildAction} = await import('./buildAction')\n\n return buildAction(options)\n })\n\ncli.command('init [path]', 'Initialize package').action(async (p) => {\n const {initAction} = await import('./initAction')\n\n return initAction({\n path: p,\n })\n})\n\ncli\n .command('watch', 'Watch package')\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {watchAction} = await import('./watchAction')\n\n return watchAction(options)\n })\n\n// Display help message when `-h` or `--help` appears\ncli.help()\n\n// Display version number when `-v` or `--version` appears\n// It's also used in help message\ncli.version(version)\n\ncli.parse()\n"],"names":["cac"],"mappings":";;;;;;AAIA,MAAM,MAAMA,aAAI,QAAA;AAEhB,IACG,QAAQ,IAAI,OAAO,EACnB,MAAM,OAAO,EACb,OAAO,YAAY,aAAa,EAChC,OAAO,yBAAyB,wBAAwB,EACxD,OAAO,OAAO,YAAY;AACzB,QAAM,EAAC,YAAA,IAAe,MAAM,QAAA,QAAA,EAAA,KAAA,WAAA;AAAA,WAAA,QAAO,oCAAe;AAAA,EAAA,CAAA;AAElD,SAAO,YAAY,OAAO;AAC5B,CAAC;AAEH,IACG,QAAQ,SAAS,eAAe,EAChC,OAAO,yBAAyB,gBAAgB,EAChD,OAAO,YAAY,aAAa,EAChC,OAAO,yBAAyB,wBAAwB,EACxD,OAAO,OAAO,YAAY;AACzB,QAAM,EAAC,YAAA,IAAe,MAAM,QAAA,QAAA,EAAA,KAAA,WAAA;AAAA,WAAA,QAAO,oCAAe;AAAA,EAAA,CAAA;AAElD,SAAO,YAAY,OAAO;AAC5B,CAAC;AAEH,IAAI,QAAQ,eAAe,oBAAoB,EAAE,OAAO,OAAO,MAAM;AACnE,QAAM,EAAC,WAAA,IAAc,MAAM,QAAA,QAAA,EAAA,KAAA,WAAA;AAAA,WAAA,QAAO,mCAAc;AAAA,EAAA,CAAA;AAEhD,SAAO,WAAW;AAAA,IAChB,MAAM;AAAA,EAAA,CACP;AACH,CAAC;AAED,IACG,QAAQ,SAAS,eAAe,EAChC,OAAO,YAAY,aAAa,EAChC,OAAO,yBAAyB,wBAAwB,EACxD,OAAO,OAAO,YAAY;AACzB,QAAM,EAAC,YAAA,IAAe,MAAM,QAAA,QAAA,EAAA,KAAA,WAAA;AAAA,WAAA,QAAO,oCAAe;AAAA,EAAA,CAAA;AAElD,SAAO,YAAY,OAAO;AAC5B,CAAC;AAGH,IAAI,KAAK;AAIT,IAAI,QAAQ,OAAO;AAEnB,IAAI,MAAM;"}
|