@sanity/pkg-utils 3.3.7 → 3.3.9-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/_chunks/{build-7mn5THX6.cjs → build-xtvcN4rn.cjs} +50 -61
  2. package/dist/_chunks/build-xtvcN4rn.cjs.map +1 -0
  3. package/dist/_chunks/{buildAction-fRHTIDmx.cjs → buildAction-lOl6hAY8.cjs} +5 -3
  4. package/dist/_chunks/{buildAction-fRHTIDmx.cjs.map → buildAction-lOl6hAY8.cjs.map} +1 -1
  5. package/dist/_chunks/check-5On74q2h.cjs +222 -0
  6. package/dist/_chunks/check-5On74q2h.cjs.map +1 -0
  7. package/dist/_chunks/{checkAction-0xA1q64g.cjs → checkAction-RYG9-Wqo.cjs} +5 -3
  8. package/dist/_chunks/checkAction-RYG9-Wqo.cjs.map +1 -0
  9. package/dist/_chunks/{consoleSpy-g4ZadSyB.cjs → consoleSpy-bV4ZI2h8.cjs} +181 -179
  10. package/dist/_chunks/{consoleSpy-g4ZadSyB.cjs.map → consoleSpy-bV4ZI2h8.cjs.map} +1 -1
  11. package/dist/_chunks/{handleError-esTdSrHu.cjs → handleError-fVK262CU.cjs} +6 -6
  12. package/dist/_chunks/handleError-fVK262CU.cjs.map +1 -0
  13. package/dist/_chunks/index-YSy1xob6.cjs +36038 -0
  14. package/dist/_chunks/{index-1Mfz_QDA.cjs.map → index-YSy1xob6.cjs.map} +1 -1
  15. package/dist/_chunks/init-tT7f7xkO.cjs +646 -0
  16. package/dist/_chunks/{init-U-HiL7BD.cjs.map → init-tT7f7xkO.cjs.map} +1 -1
  17. package/dist/_chunks/{initAction-QVQEhQh6.cjs → initAction-zkJJWu4U.cjs} +5 -3
  18. package/dist/_chunks/initAction-zkJJWu4U.cjs.map +1 -0
  19. package/dist/_chunks/{logger-iA0nC-kL.cjs → logger-c-JGqYo_.cjs} +45 -43
  20. package/dist/_chunks/logger-c-JGqYo_.cjs.map +1 -0
  21. package/dist/_chunks/watch-Mo2KRBJf.cjs +226 -0
  22. package/dist/_chunks/watch-Mo2KRBJf.cjs.map +1 -0
  23. package/dist/_chunks/{watchAction-JfAFOHP0.cjs → watchAction-7JsrPTEX.cjs} +5 -3
  24. package/dist/_chunks/watchAction-7JsrPTEX.cjs.map +1 -0
  25. package/dist/cli.cjs +14 -30
  26. package/dist/cli.cjs.map +1 -1
  27. package/dist/index.cjs +11 -10
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.js +37229 -1530
  30. package/dist/index.js.map +1 -1
  31. package/package.json +33 -28
  32. package/src/node/tasks/rollup/resolveRollupConfig.ts +6 -11
  33. package/dist/_chunks/build-7mn5THX6.cjs.map +0 -1
  34. package/dist/_chunks/check-pxYRC97N.cjs +0 -250
  35. package/dist/_chunks/check-pxYRC97N.cjs.map +0 -1
  36. package/dist/_chunks/checkAction-0xA1q64g.cjs.map +0 -1
  37. package/dist/_chunks/handleError-esTdSrHu.cjs.map +0 -1
  38. package/dist/_chunks/index-1Mfz_QDA.cjs +0 -2159
  39. package/dist/_chunks/init-U-HiL7BD.cjs +0 -500
  40. package/dist/_chunks/initAction-QVQEhQh6.cjs.map +0 -1
  41. package/dist/_chunks/logger-iA0nC-kL.cjs.map +0 -1
  42. package/dist/_chunks/watch-6xc8QXJF.cjs +0 -233
  43. package/dist/_chunks/watch-6xc8QXJF.cjs.map +0 -1
  44. package/dist/_chunks/watchAction-JfAFOHP0.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"init-U-HiL7BD.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 '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 '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":["promptsTypes","string","createFromTemplate","options","cwd","logger","packagePath","template","templateOrResolver","log","relative","templateOptions","templateOption","templateValidate","validate","res","prompts","default","type","name","message","description","prev","initial","onCancel","process","exit","parse","features","templateFeature","optional","concat","confirm","files","getFiles","sort","a","b","localeCompare","file","filePath","resolve","mkdirp","dirname","writeFile","contents","trim","success","defineTemplateOption","option","isEmptyDirectory","dirPath","readdir","length","RE_NAME","defaultTemplate","_ref","_gitConfig$user","_gitConfig$user2","gitConfig","parseGitConfig","v","gitUrlParse","err","result","source","owner","_options$repo","repo","match","exec","Error","scope","split","fullName","user","email","_filter$join","_options$description","pkgName","author","authorName","authorEmail","filter","Boolean","join","prettierConfig","prettier","bracketSpacing","plugins","printWidth","quoteProps","semi","singleQuote","tabWidth","overrides","pkgJson","license","types","typescript","import","require","node","push","outdent","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","format","JSON","stringify","repository","url","bugs","homepage","_pkgJson$exports","mainExport","exports","isRecord","scripts","devDependencies","eslint","eslintConfig","root","env","browser","es6","extends","parserOptions","ecmaVersion","sourceType","rules","location","terms","_templateObject4","lint","eslintConfigOverride","parser","project","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_pkgJson$dependencies","dependencies","resolveLatestDeps","error","warn","_pkgJson$devDependenc","filepath","input","prettierOptions","deps","depsEntries","Object","entries","latestDeps","entry","version","latestVersion","getLatestVersion","init","path","createLogger","ensurePackagePath","exists","fileExists","dir","lstat","isDirectory","empty"],"mappings":"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"}
1
+ {"version":3,"file":"init-tT7f7xkO.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 '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 '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,7 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var init = require('./init-U-HiL7BD.cjs');
4
- var handleError = require('./handleError-esTdSrHu.cjs');
3
+ var init = require('./init-tT7f7xkO.cjs');
4
+ var handleError = require('./handleError-fVK262CU.cjs');
5
+
5
6
  async function initAction(options) {
6
7
  try {
7
8
  await init.init({
@@ -12,5 +13,6 @@ async function initAction(options) {
12
13
  handleError.handleError(err);
13
14
  }
14
15
  }
16
+
15
17
  exports.initAction = initAction;
16
- //# sourceMappingURL=initAction-QVQEhQh6.cjs.map
18
+ //# sourceMappingURL=initAction-zkJJWu4U.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initAction-zkJJWu4U.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,OAAwC,EAAA;AACvE,EAAI,IAAA;AACF,IAAA,MAAMA,SAAK,CAAA;AAAA,MACT,GAAA,EAAK,QAAQ,GAAI,EAAA;AAAA,MACjB,MAAM,OAAQ,CAAA,IAAA;AAAA,KACf,CAAA,CAAA;AAAA,WACM,GAAK,EAAA;AACZ,IAAAC,uBAAA,CAAY,GAAG,CAAA,CAAA;AAAA,GACjB;AACF;;;;"}
@@ -3,12 +3,11 @@
3
3
  var fs = require('fs');
4
4
  var zod = require('zod');
5
5
  var chalk = require('chalk');
6
- function _interopDefaultCompat(e) {
7
- return e && typeof e === 'object' && 'default' in e ? e : {
8
- default: e
9
- };
10
- }
6
+
7
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
8
+
11
9
  var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
10
+
12
11
  function fileExists(filePath) {
13
12
  try {
14
13
  fs.statSync(filePath);
@@ -17,9 +16,11 @@ function fileExists(filePath) {
17
16
  return false;
18
17
  }
19
18
  }
19
+
20
20
  function isRecord(value) {
21
21
  return Boolean(value) && !Array.isArray(value) && typeof value === "object";
22
22
  }
23
+
23
24
  const pkgSchema = zod.z.object({
24
25
  type: zod.z.optional(zod.z.enum(["commonjs", "module"])),
25
26
  name: zod.z.string(),
@@ -34,65 +35,66 @@ const pkgSchema = zod.z.object({
34
35
  browser: zod.z.optional(zod.z.record(zod.z.string())),
35
36
  module: zod.z.optional(zod.z.string()),
36
37
  types: zod.z.optional(zod.z.string()),
37
- exports: zod.z.optional(zod.z.record(zod.z.union([zod.z.custom(val => /^\.\/.*\.json$/.test(val)), zod.z.object({
38
- types: zod.z.optional(zod.z.string()),
39
- source: zod.z.string(),
40
- browser: zod.z.optional(zod.z.object({
41
- source: zod.z.string(),
42
- import: zod.z.optional(zod.z.string()),
43
- require: zod.z.optional(zod.z.string())
44
- })),
45
- node: zod.z.optional(zod.z.object({
46
- source: zod.z.optional(zod.z.string()),
47
- module: zod.z.optional(zod.z.string()),
48
- import: zod.z.optional(zod.z.string()),
49
- require: zod.z.optional(zod.z.string())
50
- })),
51
- module: zod.z.optional(zod.z.string()),
52
- import: zod.z.optional(zod.z.string()),
53
- require: zod.z.optional(zod.z.string()),
54
- default: zod.z.string()
55
- })]))),
38
+ exports: zod.z.optional(
39
+ zod.z.record(
40
+ zod.z.union([
41
+ zod.z.custom((val) => /^\.\/.*\.json$/.test(val)),
42
+ zod.z.object({
43
+ types: zod.z.optional(zod.z.string()),
44
+ source: zod.z.string(),
45
+ browser: zod.z.optional(
46
+ zod.z.object({
47
+ source: zod.z.string(),
48
+ import: zod.z.optional(zod.z.string()),
49
+ require: zod.z.optional(zod.z.string())
50
+ })
51
+ ),
52
+ node: zod.z.optional(
53
+ zod.z.object({
54
+ source: zod.z.optional(zod.z.string()),
55
+ module: zod.z.optional(zod.z.string()),
56
+ import: zod.z.optional(zod.z.string()),
57
+ require: zod.z.optional(zod.z.string())
58
+ })
59
+ ),
60
+ module: zod.z.optional(zod.z.string()),
61
+ import: zod.z.optional(zod.z.string()),
62
+ require: zod.z.optional(zod.z.string()),
63
+ default: zod.z.string()
64
+ })
65
+ ])
66
+ )
67
+ ),
56
68
  browserslist: zod.z.optional(zod.z.array(zod.z.string()))
57
69
  });
58
70
  function validatePkg(input) {
59
71
  return pkgSchema.parse(input);
60
72
  }
73
+
61
74
  function createLogger() {
62
75
  return {
63
76
  /* eslint-disable no-console */
64
- log: function () {
65
- console.log(...arguments);
77
+ log: (...args) => {
78
+ console.log(...args);
66
79
  },
67
- info: function () {
68
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
69
- args[_key] = arguments[_key];
70
- }
80
+ info: (...args) => {
71
81
  console.log(chalk__default.default.blue("[info]"), ...args);
72
82
  },
73
- warn: function () {
74
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
75
- args[_key2] = arguments[_key2];
76
- }
83
+ warn: (...args) => {
77
84
  console.log(chalk__default.default.yellow("[warning]"), ...args);
78
85
  },
79
- error: function () {
80
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
81
- args[_key3] = arguments[_key3];
82
- }
86
+ error: (...args) => {
83
87
  console.log(chalk__default.default.red("[error]"), ...args);
84
88
  },
85
- success: function () {
86
- for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
87
- args[_key4] = arguments[_key4];
88
- }
89
+ success: (...args) => {
89
90
  console.log(chalk__default.default.green("[success]"), ...args);
90
91
  }
91
92
  /* eslint-enable no-console */
92
93
  };
93
94
  }
95
+
94
96
  exports.createLogger = createLogger;
95
97
  exports.fileExists = fileExists;
96
98
  exports.isRecord = isRecord;
97
99
  exports.validatePkg = validatePkg;
98
- //# sourceMappingURL=logger-iA0nC-kL.cjs.map
100
+ //# sourceMappingURL=logger-c-JGqYo_.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-c-JGqYo_.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.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,226 @@
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var rxjs = require('rxjs');
5
+ var consoleSpy = require('./consoleSpy-bV4ZI2h8.cjs');
6
+ require('fs/promises');
7
+ require('pkg-up');
8
+ var logger = require('./logger-c-JGqYo_.cjs');
9
+ require('mkdirp');
10
+ require('prompts');
11
+ require('typescript');
12
+ var fs = require('fs');
13
+ var index = require('./index-YSy1xob6.cjs');
14
+ var operators = require('rxjs/operators');
15
+ var globby = require('globby');
16
+ var chokidar = require('chokidar');
17
+
18
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
19
+
20
+ var path__default = /*#__PURE__*/_interopDefaultCompat(path);
21
+ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
22
+ var globby__default = /*#__PURE__*/_interopDefaultCompat(globby);
23
+ var chokidar__default = /*#__PURE__*/_interopDefaultCompat(chokidar);
24
+
25
+ function resolveWatchTasks(ctx) {
26
+ const { config, cwd, pkg, target } = ctx;
27
+ const tasks = [];
28
+ const exports = Object.entries(ctx.exports || {}).map(
29
+ ([_path, exp]) => ({ _path, ...exp })
30
+ );
31
+ const dtsTask = {
32
+ type: "watch:dts",
33
+ entries: []
34
+ };
35
+ const rollupTasks = {};
36
+ function addRollupTaskEntry(format, runtime, entry) {
37
+ const buildId = `${format}:${runtime}`;
38
+ if (rollupTasks[buildId]) {
39
+ rollupTasks[buildId].entries.push(entry);
40
+ } else {
41
+ rollupTasks[buildId] = {
42
+ type: "watch:js",
43
+ buildId,
44
+ entries: [entry],
45
+ runtime,
46
+ format,
47
+ target: target[runtime]
48
+ };
49
+ }
50
+ }
51
+ for (const exp of exports) {
52
+ const importId = path__default.default.join(pkg.name, exp._path);
53
+ if (exp.types) {
54
+ dtsTask.entries.push({
55
+ importId,
56
+ exportPath: exp._path,
57
+ sourcePath: exp.source,
58
+ targetPath: exp.types
59
+ });
60
+ }
61
+ }
62
+ for (const exp of exports) {
63
+ const output = exp.require;
64
+ if (!output)
65
+ continue;
66
+ addRollupTaskEntry("commonjs", ctx.runtime, {
67
+ path: exp._path,
68
+ source: exp.source,
69
+ output
70
+ });
71
+ }
72
+ for (const exp of exports) {
73
+ const output = exp.browser?.require;
74
+ if (!output)
75
+ continue;
76
+ addRollupTaskEntry("commonjs", "browser", {
77
+ path: exp._path,
78
+ source: exp.browser?.source || exp.source,
79
+ output
80
+ });
81
+ }
82
+ for (const exp of exports) {
83
+ const output = exp.import;
84
+ if (!output)
85
+ continue;
86
+ addRollupTaskEntry("esm", ctx.runtime, {
87
+ path: exp._path,
88
+ source: exp.source,
89
+ output
90
+ });
91
+ }
92
+ for (const exp of exports) {
93
+ const output = exp.browser?.import;
94
+ if (!output)
95
+ continue;
96
+ addRollupTaskEntry("esm", "browser", {
97
+ path: exp._path,
98
+ source: exp.browser?.source || exp.source,
99
+ output
100
+ });
101
+ }
102
+ if (dtsTask.entries.length) {
103
+ tasks.push(dtsTask);
104
+ }
105
+ tasks.push(...Object.values(rollupTasks));
106
+ if (config?.legacyExports) {
107
+ for (const exp of exports) {
108
+ if (exp._exported && exp._path !== ".") {
109
+ const relativeTargetPath = (exp.browser?.import || exp.import || "").replace(
110
+ /\.[^/.]+$/,
111
+ ""
112
+ );
113
+ if (relativeTargetPath) {
114
+ fs__default.default.writeFileSync(
115
+ path__default.default.resolve(cwd, `${exp._path}.js`),
116
+ [`// AUTO-GENERATED \u2013 DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(
117
+ "\n"
118
+ )
119
+ );
120
+ }
121
+ }
122
+ }
123
+ }
124
+ return tasks;
125
+ }
126
+
127
+ function globFiles(patterns) {
128
+ return globby__default.default(patterns.map((pattern) => pattern.split(path__default.default.sep).join(path__default.default.posix.sep)));
129
+ }
130
+
131
+ function watchFiles(patterns) {
132
+ return new rxjs.Observable((observer) => {
133
+ const watcher = chokidar__default.default.watch(patterns, {
134
+ ignoreInitial: true
135
+ });
136
+ function handleFileEvent(type, file) {
137
+ observer.next({ type, file });
138
+ }
139
+ watcher.on("all", handleFileEvent);
140
+ return () => {
141
+ watcher.off("all", handleFileEvent);
142
+ watcher.close();
143
+ };
144
+ });
145
+ }
146
+
147
+ async function watchConfigFiles(options) {
148
+ const { cwd, logger } = options;
149
+ const initialFiles = await globFiles([
150
+ path__default.default.resolve(cwd, "package.json"),
151
+ path__default.default.resolve(cwd, "package.config.cjs"),
152
+ path__default.default.resolve(cwd, "package.config.js"),
153
+ path__default.default.resolve(cwd, "package.config.ts")
154
+ ]);
155
+ const fileEvent$ = watchFiles([
156
+ path__default.default.resolve(cwd, "package.json"),
157
+ path__default.default.resolve(cwd, "package.config.cjs"),
158
+ path__default.default.resolve(cwd, "package.config.js"),
159
+ path__default.default.resolve(cwd, "package.config.ts")
160
+ ]);
161
+ return fileEvent$.pipe(
162
+ operators.scan((files, fileEvent) => {
163
+ if (fileEvent.type === "add") {
164
+ return files.concat(fileEvent.file);
165
+ }
166
+ if (fileEvent.type === "unlink") {
167
+ return files.filter((f) => f !== fileEvent.file);
168
+ }
169
+ if (fileEvent.type === "change") {
170
+ logger.log(
171
+ "--------------------------------------------------------------------------------"
172
+ );
173
+ logger.info(path__default.default.relative(cwd, fileEvent.file), "changed");
174
+ logger.log("");
175
+ return files.slice(0);
176
+ }
177
+ return files;
178
+ }, initialFiles),
179
+ operators.startWith(initialFiles),
180
+ operators.distinctUntilChanged()
181
+ );
182
+ }
183
+
184
+ async function watch(options) {
185
+ const { cwd, strict = false, tsconfig: tsconfigOption } = options;
186
+ const logger$1 = logger.createLogger();
187
+ const configFiles$ = await watchConfigFiles({ cwd, logger: logger$1 });
188
+ const ctx$ = configFiles$.pipe(
189
+ rxjs.switchMap(async (configFiles) => {
190
+ const files = configFiles.map((f) => path__default.default.relative(cwd, f));
191
+ const packageJsonPath = files.find((f) => f === "package.json");
192
+ if (!packageJsonPath) {
193
+ throw new Error("missing package.json");
194
+ }
195
+ const pkg = await consoleSpy.loadPkgWithReporting({ cwd, logger: logger$1 });
196
+ const config = await consoleSpy.loadConfig({ cwd });
197
+ const extMap = consoleSpy.getPkgExtMap({ legacyExports: config?.legacyExports ?? false });
198
+ const tsconfig = tsconfigOption || config?.tsconfig || "tsconfig.json";
199
+ return consoleSpy.resolveBuildContext({ config, cwd, extMap, logger: logger$1, pkg, strict, tsconfig });
200
+ })
201
+ );
202
+ ctx$.subscribe(async (ctx) => {
203
+ const watchTasks = resolveWatchTasks(ctx);
204
+ for (const task of watchTasks) {
205
+ const handler = index.watchTaskHandlers[task.type];
206
+ const result$ = handler.exec(ctx, task);
207
+ result$.subscribe({
208
+ error: (err) => {
209
+ ctx.logger.error(err);
210
+ ctx.logger.log();
211
+ process.exit(1);
212
+ },
213
+ next: (result) => {
214
+ handler.complete(ctx, task, result);
215
+ },
216
+ complete: () => {
217
+ ctx.logger.success(handler.name(ctx, task));
218
+ ctx.logger.log();
219
+ }
220
+ });
221
+ }
222
+ });
223
+ }
224
+
225
+ exports.watch = watch;
226
+ //# sourceMappingURL=watch-Mo2KRBJf.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-Mo2KRBJf.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":"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"}