@sanity/pkg-utils 3.2.0 → 3.2.1

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 (33) hide show
  1. package/dist/_chunks/{build-zIodsGMj.cjs → build-5-t0rNQ5.cjs} +3 -3
  2. package/dist/_chunks/{build-zIodsGMj.cjs.map → build-5-t0rNQ5.cjs.map} +1 -1
  3. package/dist/_chunks/{buildAction-F25hbZcX.cjs → buildAction-XzgSYD6h.cjs} +2 -2
  4. package/dist/_chunks/{buildAction-F25hbZcX.cjs.map → buildAction-XzgSYD6h.cjs.map} +1 -1
  5. package/dist/_chunks/{check-X8xKPDnl.cjs → check-K-76aP0H.cjs} +2 -2
  6. package/dist/_chunks/{check-X8xKPDnl.cjs.map → check-K-76aP0H.cjs.map} +1 -1
  7. package/dist/_chunks/{checkAction-uQWLDlBA.cjs → checkAction-ovZpdoTW.cjs} +2 -2
  8. package/dist/_chunks/{checkAction-uQWLDlBA.cjs.map → checkAction-ovZpdoTW.cjs.map} +1 -1
  9. package/dist/_chunks/{consoleSpy--ReK-_gE.cjs → consoleSpy-Njnvw7-i.cjs} +4 -4
  10. package/dist/_chunks/consoleSpy-Njnvw7-i.cjs.map +1 -0
  11. package/dist/_chunks/{index-qV4Iq6pv.cjs → index-jKQCY5H6.cjs} +3 -3
  12. package/dist/_chunks/{index-qV4Iq6pv.cjs.map → index-jKQCY5H6.cjs.map} +1 -1
  13. package/dist/_chunks/{init-gkPbG69g.cjs → init-F_vsNarH.cjs} +78 -49
  14. package/dist/_chunks/init-F_vsNarH.cjs.map +1 -0
  15. package/dist/_chunks/{initAction-bz-ok0LO.cjs → initAction-dKWPRJL7.cjs} +2 -2
  16. package/dist/_chunks/{initAction-bz-ok0LO.cjs.map → initAction-dKWPRJL7.cjs.map} +1 -1
  17. package/dist/_chunks/{watch-4Yq69TUG.cjs → watch-8dkaWImB.cjs} +3 -3
  18. package/dist/_chunks/{watch-4Yq69TUG.cjs.map → watch-8dkaWImB.cjs.map} +1 -1
  19. package/dist/_chunks/{watchAction-HseKdhoO.cjs → watchAction-MPezXdut.cjs} +2 -2
  20. package/dist/_chunks/{watchAction-HseKdhoO.cjs.map → watchAction-MPezXdut.cjs.map} +1 -1
  21. package/dist/cli.cjs +5 -5
  22. package/dist/index.cjs +6 -6
  23. package/dist/index.d.ts +5 -5
  24. package/dist/index.js +4 -3
  25. package/dist/index.js.map +1 -1
  26. package/package.json +20 -55
  27. package/src/node/core/pkg/types.ts +4 -4
  28. package/src/node/core/ts/loadTSConfig.ts +2 -2
  29. package/src/node/resolveBuildContext.ts +2 -2
  30. package/src/node/tasks/dts/getExtractMessagesConfig.ts +2 -2
  31. package/src/node/templates/default/template.ts +139 -92
  32. package/dist/_chunks/consoleSpy--ReK-_gE.cjs.map +0 -1
  33. package/dist/_chunks/init-gkPbG69g.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"consoleSpy--ReK-_gE.cjs","sources":["../../src/node/core/config/findConfigFile.ts","../../src/node/core/config/loadConfig.ts","../../src/node/core/config/resolveConfigProperty.ts","../../src/node/core/defaults.ts","../../src/node/core/pkg/loadPkg.ts","../../src/node/core/pkg/helpers.ts","../../src/node/core/pkg/loadPkgWithReporting.ts","../../src/node/core/pkg/validateExports.ts","../../src/node/core/pkg/parseExports.ts","../../src/node/core/pkg/pkgExt.ts","../../src/node/core/ts/loadTSConfig.ts","../../src/node/core/findCommonPath.ts","../../src/node/resolveBrowserslistVersions.ts","../../src/node/resolveBrowserTarget.ts","../../src/node/resolveNodeTarget.ts","../../src/node/resolveBuildContext.ts","../../src/node/consoleSpy.ts"],"sourcesContent":["import findConfig from 'find-config'\nimport path from 'path'\n\nimport {fileExists} from '../../fileExists'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\n/** @internal */\nexport function findConfigFile(cwd: string): string | undefined {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n","import {register} from 'esbuild-register/dist/node'\nimport path from 'path'\nimport pkgUp from 'pkg-up'\n\nimport {findConfigFile} from './findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n const esbuildOptions = {extensions: ['.js', '.mjs', '.ts']}\n\n const {unregister} = globalThis.__DEV__ ? {unregister: () => undefined} : register(esbuildOptions)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T,\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n]\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\n\nimport {PackageJSON} from './types'\nimport {validatePkg} from './validatePkg'\n\n/** @internal */\nexport async function loadPkg(options: {cwd: string}): Promise<PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n const raw = JSON.parse(buf.toString())\n\n validatePkg(raw)\n\n return raw\n}\n","/** @internal */\nexport function assertFirst<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === 0\n}\n\n/** @internal */\nexport function assertLast<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === arr.length - 1\n}\n\n/** @internal */\nexport function assertOrder<T>(a: T, b: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n const bIdx = arr.indexOf(b)\n\n // if either is not found, then we don't care\n if (aIdx === -1 || bIdx === -1) {\n return true\n }\n\n return aIdx < bIdx\n}\n","import chalk from 'chalk'\nimport {ZodError} from 'zod'\n\nimport {Logger} from '../../logger'\nimport {assertFirst, assertLast, assertOrder} from './helpers'\nimport {loadPkg} from './loadPkg'\nimport {PackageJSON} from './types'\n\n/** @internal */\nexport async function loadPkgWithReporting(options: {\n cwd: string\n logger: Logger\n}): Promise<PackageJSON> {\n const {cwd, logger} = options\n\n try {\n const pkg = await loadPkg({cwd})\n let shouldError = false\n\n // validate exports\n if (pkg.exports) {\n const _exports = Object.entries(pkg.exports)\n\n for (const [expPath, exp] of _exports) {\n if (typeof exp === 'string') {\n continue\n }\n\n const keys = Object.keys(exp)\n\n if (!assertFirst('types', keys)) {\n shouldError = true\n logger.error(`exports[\"${expPath}\"]: the \\`types\\` property should be the first property`)\n }\n\n if (exp.node) {\n const nodeKeys = Object.keys(exp.node)\n\n if (!assertOrder('module', 'import', nodeKeys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before the \\`node.import\\` property`,\n )\n }\n\n if (!assertOrder('import', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.import\\` property should come before the \\`node.require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before \\`node.require\\` property`,\n )\n }\n\n if (exp.import && exp.node.import && !assertOrder('node', 'import', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`import\\` property`,\n )\n }\n\n if (exp.module && exp.node.module && !assertOrder('node', 'module', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`module\\` property`,\n )\n }\n\n if (\n exp.node.import &&\n !exp.node.require &&\n exp.node.module &&\n exp.import &&\n exp.node.module !== exp.import\n ) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should match \\`import\\``,\n )\n }\n\n if (exp.require && exp.node.require && exp.require === exp.node.require) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.require\\` property isn't necessary as it's identical to \\`require\\``,\n )\n } else if (exp.require && exp.node.require && !assertOrder('node', 'require', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`require\\` property`,\n )\n }\n } else {\n if (!assertOrder('import', 'require', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`import\\` property should come before the \\`require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`module\\` property should come before \\`import\\` property`,\n )\n }\n }\n\n if (!assertLast('default', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`default\\` property should be the last property`,\n )\n }\n }\n }\n\n if (shouldError) {\n process.exit(1)\n }\n\n return pkg\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n logger.error(\n [\n `\\`${formatPath(issue.path)}\\` `,\n `in \\`./package.json\\` must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join(''),\n )\n continue\n }\n\n logger.error(issue)\n }\n } else {\n logger.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {PkgExport} from '../config'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {extMap: PkgExtMap; pkg: PackageJSON},\n): string[] {\n const {extMap, pkg} = options\n const ext = extMap[pkg.type || 'commonjs']\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`,\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`,\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n extMap: PkgExtMap\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {extMap, pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n require: pkg.main,\n import: pkg.module,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.',\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.',\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.',\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.',\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {extMap, pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","/** @internal */\nexport interface PkgExtMap {\n commonjs: {commonjs: string; esm: string}\n module: {commonjs: string; esm: string}\n}\n\n/** @internal */\nexport const DEFAULT_PKG_EXT_MAP: PkgExtMap = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n esm: '.mjs',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n\n/** @internal */\nexport function getPkgExtMap(options: {legacyExports: boolean}): PkgExtMap {\n const {legacyExports} = options\n\n const ret = {...DEFAULT_PKG_EXT_MAP}\n\n // Fall back to legacy file extensions for package.json with `\"type\": \"commonjs\"`\n // NOTE: Not supported by Node 14+ and will be removed in a future version\n if (legacyExports) {\n ret['commonjs'] = {\n commonjs: '.js',\n esm: '.esm.js',\n }\n }\n\n return ret\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n throw new Error(`could not find a valid '${tsconfigPath}'`)\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import path from 'path'\n\nexport function pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","import browserslist from 'browserslist'\n\nexport interface PackageTargetVersions {\n chrome: string[]\n ff: string[]\n edge: string[]\n iosSaf: string[]\n saf: string[]\n opera: string[]\n node: string[]\n}\n\nfunction sortAsNumber(a: string, b: string) {\n const aVersion = Number(a)\n const bVersion = Number(b)\n\n return aVersion - bVersion\n}\n\nexport function resolveBrowserslistVersions(query: string[]): PackageTargetVersions {\n const result = browserslist(query)\n\n const entries = result.map((key) => {\n const [name, version] = key.split(' ')\n\n return {name, version: version.split('-')[0].split('.')[0]}\n })\n\n const andChr = entries.filter((b) => b.name === 'and_chr')\n const andFf = entries.filter((b) => b.name === 'and_ff')\n const chrome = entries.filter((b) => b.name === 'chrome')\n const edge = entries.filter((b) => b.name === 'edge')\n const ff = entries.filter((b) => b.name === 'firefox')\n const iosSaf = entries.filter((b) => b.name === 'ios_saf')\n const saf = entries.filter((b) => b.name === 'safari')\n const opera = entries.filter((b) => b.name === 'opera')\n const node = entries.filter((b) => b.name === 'node')\n\n // versions\n const versions: PackageTargetVersions = {\n chrome: andChr.concat(chrome).map((b) => b.version),\n ff: andFf.concat(ff).map((b) => b.version),\n edge: edge.map((b) => b.version),\n iosSaf: iosSaf.map((b) => b.version),\n saf: saf.map((b) => b.version),\n opera: opera.map((b) => b.version),\n node: node.map((b) => b.version),\n }\n\n // sort\n versions.chrome.sort(sortAsNumber)\n versions.ff.sort(sortAsNumber)\n versions.edge.sort(sortAsNumber)\n versions.iosSaf.sort(sortAsNumber)\n versions.saf.sort(sortAsNumber)\n versions.opera.sort(sortAsNumber)\n versions.node.sort(sortAsNumber)\n\n return versions\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveBrowserTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.chrome.length) {\n target.push(`chrome${versions.chrome[0]}`)\n }\n\n if (versions.ff.length) {\n target.push(`firefox${versions.ff[0]}`)\n }\n\n if (versions.edge.length) {\n target.push(`edge${versions.edge[0]}`)\n }\n\n if (versions.iosSaf.length) {\n target.push(`ios${versions.iosSaf[0]}`)\n }\n\n if (versions.saf.length) {\n target.push(`safari${versions.saf[0]}`)\n }\n\n if (versions.opera.length) {\n target.push(`opera${versions.opera[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveNodeTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.node.length) {\n target.push(`node${versions.node[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import path from 'path'\n\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n loadTSConfig,\n PackageJSON,\n parseExports,\n PkgConfigOptions,\n PkgExports,\n PkgExtMap,\n PkgRuntime,\n resolveConfigProperty,\n} from './core'\nimport {findCommonDirPath, pathContains} from './core/findCommonPath'\nimport {Logger} from './logger'\nimport {resolveBrowserslistVersions} from './resolveBrowserslistVersions'\nimport {resolveBrowserTarget} from './resolveBrowserTarget'\nimport {resolveNodeTarget} from './resolveNodeTarget'\n\nexport async function resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n extMap: PkgExtMap\n logger: Logger\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {\n config,\n cwd,\n emitDeclarationOnly = false,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig: tsconfigPath,\n } = options\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = parseExports({extMap, pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.source && exportEntry.node.import,\n exportEntry.node?.source && exportEntry.node.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory',\n )\n }\n\n if (commonDistPath && !pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n extMap,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options?: {\n onRestored?: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options || {}\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored?.(messages)\n },\n }\n}\n"],"names":["CONFIG_FILE_NAMES","findConfigFile","cwd","pkgJsonPath","findConfig","default","pkgPath","path","dirname","fileName","configPath","resolve","exists","fileExists","loadConfig","options","pkgUp","root","configFile","startsWith","esbuildOptions","extensions","unregister","globalThis","__DEV__","register","mod","require","resolveConfigProperty","prop","initialValue","DEFAULT_BROWSERSLIST_QUERY","loadPkg","Error","buf","fs","readFile","raw","JSON","parse","toString","validatePkg","assertFirst","a","arr","aIdx","indexOf","assertLast","length","assertOrder","b","bIdx","loadPkgWithReporting","logger","pkg","shouldError","exports","_exports","Object","entries","expPath","exp","keys","error","concat","node","nodeKeys","warn","import","module","process","exit","err","ZodError","issue","issues","code","formatPath","chalk","magenta","expected","received","join","segments","map","s","idx","validateExports","extMap","ext","type","errors","endsWith","commonjs","push","_path","esm","parseExports","strict","rootExport","_exported","types","source","browser","main","extraExports","exportPath","exportEntry","isRecord","assign","extraExport","DEFAULT_PKG_EXT_MAP","getPkgExtMap","legacyExports","ret","loadTSConfig","tsconfigPath","ts","sys","readConfigFile","parseJsonConfigFileContent","config","pathContains","containerPath","itemPath","relative","findCommonDirPath","filePaths","filePath","dirPath","sortAsNumber","aVersion","Number","bVersion","resolveBrowserslistVersions","query","result","browserslist","key","name","version","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","sort","resolveBrowserTarget","target","resolveNodeTarget","resolveBuildContext","_config$runtime","emitDeclarationOnly","tsconfig","targetVersions","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","dependencies","peerDependencies","external","Array","isArray","outputPaths","values","flatMap","_exportEntry$browser","_exportEntry$browser2","_exportEntry$node","_exportEntry$node2","Boolean","p","commonDistPath","configDistPath","dist","log","distPath","ctx","files","runtime","createConsoleSpy","onRestored","original","console","messages","_len","arguments","args","_key","_len2","_key2","_len3","_key3","restore"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-gkPbG69g.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: '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 = {\n bracketSpacing: false,\n printWidth: 100,\n semi: false,\n singleQuote: true,\n tabWidth: 2,\n plugins: ['prettier-plugin-packagejson'],\n overrides: [\n {\n files: ['*.yml'],\n options: {\n singleQuote: false,\n },\n },\n ],\n }\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 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 require: './dist/index.cjs',\n import: './dist/index.js',\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 files: ['dist', 'src'],\n scripts: {\n build: 'run-s clean pkg:build pkg:check',\n clean: 'rimraf dist',\n format: 'prettier --write --cache --ignore-unknown .',\n 'pkg:build': 'pkg build --strict',\n 'pkg:check': 'pkg check --strict',\n },\n prettier: prettierConfig,\n 'lint-staged': {\n '*': ['prettier --write --cache --ignore-unknown'],\n },\n dependencies: {},\n devDependencies: {\n '@sanity/pkg-utils': '*',\n 'lint-staged': '*',\n 'npm-run-all': '*',\n prettier: '*',\n 'prettier-plugin-packagejson': '*',\n rimraf: '*',\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\n .DS_Store\n etc\n dist\n node_modules\n `,\n })\n\n files.push({\n name: '.prettierignore',\n contents: outdent`\n /dist\n /pnpm-lock.yaml\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 ['type: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: ['eslint:recommended', 'plugin:prettier/recommended'],\n parserOptions: {\n ecmaVersion: 2020,\n sourceType: 'module',\n },\n plugins: ['import', 'prettier'],\n rules: {\n 'no-console': 'error',\n 'no-shadow': 'error',\n 'no-warning-comments': ['warn', {location: 'start', terms: ['todo', 'fixme']}],\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': '*',\n 'eslint-plugin-import': '*',\n 'eslint-plugin-prettier': '*',\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 'plugin:prettier/recommended',\n 'plugin:@typescript-eslint/eslint-recommended',\n 'plugin:@typescript-eslint/recommended',\n ].filter(Boolean),\n plugins: ['import', '@typescript-eslint', 'prettier'].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 \"module\": \"ES2020\",\n \"target\": \"ES2020\",\n \"declaration\": true,\n \"declarationMap\": true,\n \"sourceMap\": true,\n\n // Strict type-checking\n \"strict\": true,\n \"noImplicitAny\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"strictPropertyInitialization\": true,\n \"noImplicitThis\": true,\n \"alwaysStrict\": true,\n\n // Additional checks\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"noImplicitReturns\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"skipLibCheck\": true,\n\n // Module resolution\n \"moduleResolution\": \"node\",\n \"allowSyntheticDefaultImports\": true,\n \"esModuleInterop\": 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 \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"emitDeclarationOnly\": true,\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\", \"./package.config.ts\", \"./src\"],\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 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 // 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) {\n return prettier.format(input, {...prettierOptions, filepath})\n}\n\nasync function resolveLatestDeps(deps: Record<string, string>) {\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 const latestVersion = await getLatestVersion(name, version)\n\n latestDeps[name] = latestVersion ? `^${latestVersion}` : version\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","bracketSpacing","printWidth","semi","singleQuote","tabWidth","plugins","overrides","pkgJson","version","keywords","license","exports","types","typescript","require","import","main","module","scripts","build","clean","format","prettier","dependencies","devDependencies","rimraf","engines","node","push","outdent","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","repository","url","bugs","homepage","_pkgJson$exports","mainExport","isRecord","eslint","eslintConfig","root","env","browser","es6","extends","parserOptions","ecmaVersion","sourceType","rules","location","terms","_templateObject4","lint","eslintConfigOverride","parser","project","_templateObject5","JSON","stringify","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_pkgJson$dependencies","resolveLatestDeps","error","warn","_pkgJson$devDependenc","filepath","input","prettierOptions","deps","depsEntries","Object","entries","latestDeps","entry","latestVersion","getLatestVersion","init","path","createLogger","ensurePackagePath","exists","fileExists","dir","lstat","isDirectory","empty"],"mappings":"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"}