@sanity/pkg-utils 4.1.4 → 4.2.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 (37) hide show
  1. package/dist/_chunks/{build-AuLlgQCD.cjs → build-reUEgRgP.cjs} +4 -4
  2. package/dist/_chunks/{build-AuLlgQCD.cjs.map → build-reUEgRgP.cjs.map} +1 -1
  3. package/dist/_chunks/{buildAction-aKVmXTPP.cjs → buildAction-0e9Huyk4.cjs} +2 -2
  4. package/dist/_chunks/{buildAction-aKVmXTPP.cjs.map → buildAction-0e9Huyk4.cjs.map} +1 -1
  5. package/dist/_chunks/{check-j5YR3hUi.cjs → check-vTB_Son_.cjs} +3 -3
  6. package/dist/_chunks/{check-j5YR3hUi.cjs.map → check-vTB_Son_.cjs.map} +1 -1
  7. package/dist/_chunks/{checkAction-AD9RJftD.cjs → checkAction-_R3dD5NA.cjs} +2 -2
  8. package/dist/_chunks/{checkAction-AD9RJftD.cjs.map → checkAction-_R3dD5NA.cjs.map} +1 -1
  9. package/dist/_chunks/{consoleSpy-HqQIfX7k.cjs → consoleSpy-xoMYHDlT.cjs} +8 -3
  10. package/dist/_chunks/consoleSpy-xoMYHDlT.cjs.map +1 -0
  11. package/dist/_chunks/{index-FaD5mo-6.cjs → index-uxwLE9j-.cjs} +8 -5
  12. package/dist/_chunks/{index-FaD5mo-6.cjs.map → index-uxwLE9j-.cjs.map} +1 -1
  13. package/dist/_chunks/{init-9DSt45GN.cjs → init-rbgAMmKr.cjs} +4 -2
  14. package/dist/_chunks/init-rbgAMmKr.cjs.map +1 -0
  15. package/dist/_chunks/{initAction-sChm6v2i.cjs → initAction-orBx0sEb.cjs} +2 -2
  16. package/dist/_chunks/{initAction-sChm6v2i.cjs.map → initAction-orBx0sEb.cjs.map} +1 -1
  17. package/dist/_chunks/{logger-L4V-Be7d.cjs → logger-jZqHSvqU.cjs} +3 -2
  18. package/dist/_chunks/logger-jZqHSvqU.cjs.map +1 -0
  19. package/dist/_chunks/{watch-fXO97GL2.cjs → watch-J9ZMu2iI.cjs} +4 -4
  20. package/dist/_chunks/{watch-fXO97GL2.cjs.map → watch-J9ZMu2iI.cjs.map} +1 -1
  21. package/dist/_chunks/{watchAction-SAJ1nU-a.cjs → watchAction-LlWtHddm.cjs} +2 -2
  22. package/dist/_chunks/{watchAction-SAJ1nU-a.cjs.map → watchAction-LlWtHddm.cjs.map} +1 -1
  23. package/dist/cli.cjs +5 -5
  24. package/dist/index.cjs +7 -7
  25. package/dist/index.d.ts +12 -3
  26. package/dist/index.js +15 -4
  27. package/dist/index.js.map +1 -1
  28. package/package.json +5 -4
  29. package/src/node/core/config/types.ts +9 -2
  30. package/src/node/core/pkg/types.ts +1 -0
  31. package/src/node/core/pkg/validatePkg.ts +1 -0
  32. package/src/node/resolveBuildContext.ts +7 -1
  33. package/src/node/tasks/rollup/resolveRollupConfig.ts +3 -0
  34. package/src/node/templates/default/template.ts +2 -0
  35. package/dist/_chunks/consoleSpy-HqQIfX7k.cjs.map +0 -1
  36. package/dist/_chunks/init-9DSt45GN.cjs.map +0 -1
  37. package/dist/_chunks/logger-L4V-Be7d.cjs.map +0 -1
@@ -4,7 +4,7 @@ var fs = require('fs/promises');
4
4
  var mkdirp = require('mkdirp');
5
5
  var path = require('path');
6
6
  var prompts = require('prompts');
7
- var logger = require('./logger-L4V-Be7d.cjs');
7
+ var logger = require('./logger-jZqHSvqU.cjs');
8
8
  var getLatestVersion = require('get-latest-version');
9
9
  var gitUrlParse = require('git-url-parse');
10
10
  var outdent = require('outdent');
@@ -211,6 +211,7 @@ const defaultTemplate = async ({ cwd, logger: logger$1, packagePath }) => {
211
211
  "repository": void 0,
212
212
  "license": options.license,
213
213
  author,
214
+ "sideEffects": false,
214
215
  "type": "module",
215
216
  "exports": {
216
217
  ".": {
@@ -238,6 +239,7 @@ const defaultTemplate = async ({ cwd, logger: logger$1, packagePath }) => {
238
239
  "*": ["prettier --write --cache --ignore-unknown"]
239
240
  } : void 0,
240
241
  // prettier: prettierConfig,
242
+ "browserslist": "extends @sanity/browserslist-config",
241
243
  "dependencies": {},
242
244
  "devDependencies": {
243
245
  "@sanity/pkg-utils": "*",
@@ -644,4 +646,4 @@ async function ensurePackagePath(packagePath) {
644
646
  exports.createFromTemplate = createFromTemplate;
645
647
  exports.defineTemplateOption = defineTemplateOption;
646
648
  exports.init = init;
647
- //# sourceMappingURL=init-9DSt45GN.cjs.map
649
+ //# sourceMappingURL=init-rbgAMmKr.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-rbgAMmKr.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,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var init = require('./init-9DSt45GN.cjs');
3
+ var init = require('./init-rbgAMmKr.cjs');
4
4
  var handleError = require('./handleError-fVK262CU.cjs');
5
5
 
6
6
  async function initAction(options) {
@@ -15,4 +15,4 @@ async function initAction(options) {
15
15
  }
16
16
 
17
17
  exports.initAction = initAction;
18
- //# sourceMappingURL=initAction-sChm6v2i.cjs.map
18
+ //# sourceMappingURL=initAction-orBx0sEb.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"initAction-sChm6v2i.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;;;;"}
1
+ {"version":3,"file":"initAction-orBx0sEb.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;;;;"}
@@ -65,7 +65,8 @@ const pkgSchema = zod.z.object({
65
65
  ])
66
66
  )
67
67
  ),
68
- browserslist: zod.z.optional(zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]))
68
+ browserslist: zod.z.optional(zod.z.union([zod.z.string(), zod.z.array(zod.z.string())])),
69
+ sideEffects: zod.z.optional(zod.z.union([zod.z.boolean(), zod.z.array(zod.z.string())]))
69
70
  });
70
71
  function validatePkg(input) {
71
72
  return pkgSchema.parse(input);
@@ -97,4 +98,4 @@ exports.createLogger = createLogger;
97
98
  exports.fileExists = fileExists;
98
99
  exports.isRecord = isRecord;
99
100
  exports.validatePkg = validatePkg;
100
- //# sourceMappingURL=logger-L4V-Be7d.cjs.map
101
+ //# sourceMappingURL=logger-jZqHSvqU.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-jZqHSvqU.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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"}
@@ -2,16 +2,16 @@
2
2
 
3
3
  var path = require('path');
4
4
  var rxjs = require('rxjs');
5
- var consoleSpy = require('./consoleSpy-HqQIfX7k.cjs');
5
+ var consoleSpy = require('./consoleSpy-xoMYHDlT.cjs');
6
6
  require('@sanity/browserslist-config');
7
7
  require('fs/promises');
8
8
  require('pkg-up');
9
- var logger = require('./logger-L4V-Be7d.cjs');
9
+ var logger = require('./logger-jZqHSvqU.cjs');
10
10
  require('mkdirp');
11
11
  require('prompts');
12
12
  require('typescript');
13
13
  var fs = require('fs');
14
- var index = require('./index-FaD5mo-6.cjs');
14
+ var index = require('./index-uxwLE9j-.cjs');
15
15
  var operators = require('rxjs/operators');
16
16
  var globby = require('globby');
17
17
  var chokidar = require('chokidar');
@@ -224,4 +224,4 @@ async function watch(options) {
224
224
  }
225
225
 
226
226
  exports.watch = watch;
227
- //# sourceMappingURL=watch-fXO97GL2.cjs.map
227
+ //# sourceMappingURL=watch-J9ZMu2iI.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch-fXO97GL2.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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"}
1
+ {"version":3,"file":"watch-J9ZMu2iI.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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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var watch = require('./watch-fXO97GL2.cjs');
3
+ var watch = require('./watch-J9ZMu2iI.cjs');
4
4
  var handleError = require('./handleError-fVK262CU.cjs');
5
5
 
6
6
  async function watchAction(options) {
@@ -16,4 +16,4 @@ async function watchAction(options) {
16
16
  }
17
17
 
18
18
  exports.watchAction = watchAction;
19
- //# sourceMappingURL=watchAction-SAJ1nU-a.cjs.map
19
+ //# sourceMappingURL=watchAction-LlWtHddm.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchAction-SAJ1nU-a.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,OAA+D,EAAA;AAC/F,EAAI,IAAA;AACF,IAAA,MAAMA,WAAM,CAAA;AAAA,MACV,GAAA,EAAK,QAAQ,GAAI,EAAA;AAAA,MACjB,QAAQ,OAAQ,CAAA,MAAA;AAAA,MAChB,UAAU,OAAQ,CAAA,QAAA;AAAA,KACnB,CAAA,CAAA;AAAA,WACM,GAAK,EAAA;AACZ,IAAAC,uBAAA,CAAY,GAAG,CAAA,CAAA;AAAA,GACjB;AACF;;;;"}
1
+ {"version":3,"file":"watchAction-LlWtHddm.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,OAA+D,EAAA;AAC/F,EAAI,IAAA;AACF,IAAA,MAAMA,WAAM,CAAA;AAAA,MACV,GAAA,EAAK,QAAQ,GAAI,EAAA;AAAA,MACjB,QAAQ,OAAQ,CAAA,MAAA;AAAA,MAChB,UAAU,OAAQ,CAAA,QAAA;AAAA,KACnB,CAAA,CAAA;AAAA,WACM,GAAK,EAAA;AACZ,IAAAC,uBAAA,CAAY,GAAG,CAAA,CAAA;AAAA,GACjB;AACF;;;;"}
package/dist/cli.cjs CHANGED
@@ -6,25 +6,25 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
6
6
 
7
7
  var cac__default = /*#__PURE__*/_interopDefaultCompat(cac);
8
8
 
9
- var version = "4.1.4";
9
+ var version = "4.2.0";
10
10
 
11
11
  const cli = cac__default.default();
12
12
  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 () { return require('./_chunks/checkAction-AD9RJftD.cjs'); });
13
+ const { checkAction } = await Promise.resolve().then(function () { return require('./_chunks/checkAction-_R3dD5NA.cjs'); });
14
14
  return checkAction(options);
15
15
  });
16
16
  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 () { return require('./_chunks/buildAction-aKVmXTPP.cjs'); });
17
+ const { buildAction } = await Promise.resolve().then(function () { return require('./_chunks/buildAction-0e9Huyk4.cjs'); });
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 () { return require('./_chunks/initAction-sChm6v2i.cjs'); });
21
+ const { initAction } = await Promise.resolve().then(function () { return require('./_chunks/initAction-orBx0sEb.cjs'); });
22
22
  return initAction({
23
23
  path: p
24
24
  });
25
25
  });
26
26
  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 () { return require('./_chunks/watchAction-SAJ1nU-a.cjs'); });
27
+ const { watchAction } = await Promise.resolve().then(function () { return require('./_chunks/watchAction-LlWtHddm.cjs'); });
28
28
  return watchAction(options);
29
29
  });
30
30
  cli.help();
package/dist/index.cjs CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var build = require('./_chunks/build-AuLlgQCD.cjs');
6
- var check = require('./_chunks/check-j5YR3hUi.cjs');
7
- var consoleSpy = require('./_chunks/consoleSpy-HqQIfX7k.cjs');
8
- var logger = require('./_chunks/logger-L4V-Be7d.cjs');
9
- var init = require('./_chunks/init-9DSt45GN.cjs');
10
- var index = require('./_chunks/index-FaD5mo-6.cjs');
11
- var watch = require('./_chunks/watch-fXO97GL2.cjs');
5
+ var build = require('./_chunks/build-reUEgRgP.cjs');
6
+ var check = require('./_chunks/check-vTB_Son_.cjs');
7
+ var consoleSpy = require('./_chunks/consoleSpy-xoMYHDlT.cjs');
8
+ var logger = require('./_chunks/logger-jZqHSvqU.cjs');
9
+ var init = require('./_chunks/init-rbgAMmKr.cjs');
10
+ var index = require('./_chunks/index-uxwLE9j-.cjs');
11
+ var watch = require('./_chunks/watch-J9ZMu2iI.cjs');
12
12
 
13
13
  function defineConfig(configOptions) {
14
14
  return configOptions;
package/dist/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import {ExtractorMessage} from '@microsoft/api-extractor'
2
2
  import {IExtractorMessagesConfig} from '@microsoft/api-extractor'
3
- import {NormalizedOutputOptions} from 'rollup'
3
+ import type {NormalizedOutputOptions} from 'rollup'
4
4
  import {Observable} from 'rxjs'
5
- import {PluginItem} from '@babel/core'
6
- import {Plugin as RollupPlugin} from 'rollup'
5
+ import type {PluginItem} from '@babel/core'
6
+ import type {Plugin as RollupPlugin} from 'rollup'
7
7
  import {RollupWatcherEvent} from 'rollup'
8
+ import type {TreeshakingOptions} from 'rollup'
8
9
  import ts from 'typescript'
9
10
 
10
11
  /**
@@ -242,6 +243,7 @@ export declare interface PackageJSON {
242
243
  files?: string[]
243
244
  scripts?: Record<string, string | undefined>
244
245
  browserslist?: string | string[]
246
+ sideEffects?: boolean | string[]
245
247
  engines?: {
246
248
  node?: string
247
249
  npm?: string
@@ -335,6 +337,13 @@ export declare interface PkgConfigOptions {
335
337
  rollup?: {
336
338
  plugins?: PkgConfigProperty<RollupPlugin[]>
337
339
  output?: Partial<NormalizedOutputOptions>
340
+ /**
341
+ * Default options are `preset: 'recommended'` and `propertyReadSideEffects: false`
342
+ * @alpha
343
+ */
344
+ treeshake?: TreeshakingOptions
345
+ /** @alpha */
346
+ experimentalLogSideEffects?: boolean
338
347
  }
339
348
  /**
340
349
  * Default runtime of package exports
package/dist/index.js CHANGED
@@ -152,7 +152,8 @@ const pkgSchema = z.object({
152
152
  ])
153
153
  )
154
154
  ),
155
- browserslist: z.optional(z.union([z.string(), z.array(z.string())]))
155
+ browserslist: z.optional(z.union([z.string(), z.array(z.string())])),
156
+ sideEffects: z.optional(z.union([z.boolean(), z.array(z.string())]))
156
157
  });
157
158
  function validatePkg(input) {
158
159
  return pkgSchema.parse(input);
@@ -664,13 +665,18 @@ async function resolveBuildContext(options) {
664
665
  } = options;
665
666
  const tsconfig = await loadTSConfig({ cwd, tsconfigPath });
666
667
  let browserslist = pkg.browserslist;
667
- if (!browserslist) {
668
+ if (strict && !browserslist) {
668
669
  logger.warn(
669
670
  'Could not detect a `browserslist` property in `package.json`, using default configuration. Add `"browserslist": "extends @sanity/browserslist-config"` to silence this warning.'
670
671
  );
671
672
  browserslist = DEFAULT_BROWSERSLIST_QUERY;
672
673
  }
673
674
  const targetVersions = browserslistToEsbuild(browserslist);
675
+ if (strict && typeof pkg.sideEffects === "undefined") {
676
+ logger.error(
677
+ 'No `sideEffects` field in `package.json`, assuming all files are side-effectful. Add `"sideEffects": true` to silence this warning. See https://webpack.js.org/guides/tree-shaking/#clarifying-tree-shaking-and-sideeffects for how to define `sideEffects`.'
678
+ );
679
+ }
674
680
  const nodeTarget = resolveNodeTarget(targetVersions);
675
681
  const webTarget = resolveBrowserTarget(targetVersions);
676
682
  if (!nodeTarget) {
@@ -36216,8 +36222,11 @@ function resolveRollupConfig(ctx, buildTask) {
36216
36222
  },
36217
36223
  plugins,
36218
36224
  treeshake: {
36219
- propertyReadSideEffects: false
36220
- }
36225
+ preset: "recommended",
36226
+ propertyReadSideEffects: false,
36227
+ ...config?.rollup?.treeshake
36228
+ },
36229
+ experimentalLogSideEffects: config?.rollup?.experimentalLogSideEffects
36221
36230
  },
36222
36231
  outputOptions: {
36223
36232
  chunkFileNames: () => {
@@ -36786,6 +36795,7 @@ const defaultTemplate = async ({ cwd, logger, packagePath }) => {
36786
36795
  "repository": void 0,
36787
36796
  "license": options.license,
36788
36797
  author,
36798
+ "sideEffects": false,
36789
36799
  "type": "module",
36790
36800
  "exports": {
36791
36801
  ".": {
@@ -36813,6 +36823,7 @@ const defaultTemplate = async ({ cwd, logger, packagePath }) => {
36813
36823
  "*": ["prettier --write --cache --ignore-unknown"]
36814
36824
  } : void 0,
36815
36825
  // prettier: prettierConfig,
36826
+ "browserslist": "extends @sanity/browserslist-config",
36816
36827
  "dependencies": {},
36817
36828
  "devDependencies": {
36818
36829
  "@sanity/pkg-utils": "*",