@sanity/pkg-utils 4.1.5 → 4.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{build-AuLlgQCD.cjs → build-CUmkS_Ms.cjs} +4 -4
- package/dist/_chunks/{build-AuLlgQCD.cjs.map → build-CUmkS_Ms.cjs.map} +1 -1
- package/dist/_chunks/{buildAction-aKVmXTPP.cjs → buildAction-CK-kav0n.cjs} +3 -3
- package/dist/_chunks/{buildAction-aKVmXTPP.cjs.map → buildAction-CK-kav0n.cjs.map} +1 -1
- package/dist/_chunks/{check-j5YR3hUi.cjs → check-Do7O9Mjo.cjs} +3 -3
- package/dist/_chunks/{check-j5YR3hUi.cjs.map → check-Do7O9Mjo.cjs.map} +1 -1
- package/dist/_chunks/{checkAction-AD9RJftD.cjs → checkAction-B86PejBD.cjs} +3 -3
- package/dist/_chunks/{checkAction-AD9RJftD.cjs.map → checkAction-B86PejBD.cjs.map} +1 -1
- package/dist/_chunks/{consoleSpy-HqQIfX7k.cjs → consoleSpy-DnlN7UBk.cjs} +8 -3
- package/dist/_chunks/consoleSpy-DnlN7UBk.cjs.map +1 -0
- package/dist/_chunks/{handleError-fVK262CU.cjs → handleError-DB8KmYKe.cjs} +1 -1
- package/dist/_chunks/{handleError-fVK262CU.cjs.map → handleError-DB8KmYKe.cjs.map} +1 -1
- package/dist/_chunks/{index-FaD5mo-6.cjs → index-BHQsZTim.cjs} +8 -5
- package/dist/_chunks/{index-FaD5mo-6.cjs.map → index-BHQsZTim.cjs.map} +1 -1
- package/dist/_chunks/{init-9DSt45GN.cjs → init-CZQh-Q_y.cjs} +4 -2
- package/dist/_chunks/init-CZQh-Q_y.cjs.map +1 -0
- package/dist/_chunks/{initAction-sChm6v2i.cjs → initAction-BYVnsbAj.cjs} +3 -3
- package/dist/_chunks/{initAction-sChm6v2i.cjs.map → initAction-BYVnsbAj.cjs.map} +1 -1
- package/dist/_chunks/{logger-L4V-Be7d.cjs → logger-CpjNjxqG.cjs} +3 -2
- package/dist/_chunks/logger-CpjNjxqG.cjs.map +1 -0
- package/dist/_chunks/{watch-fXO97GL2.cjs → watch-D-f4W93t.cjs} +4 -4
- package/dist/_chunks/{watch-fXO97GL2.cjs.map → watch-D-f4W93t.cjs.map} +1 -1
- package/dist/_chunks/{watchAction-SAJ1nU-a.cjs → watchAction-Dkh6tUKf.cjs} +3 -3
- package/dist/_chunks/{watchAction-SAJ1nU-a.cjs.map → watchAction-Dkh6tUKf.cjs.map} +1 -1
- package/dist/cli.cjs +5 -5
- package/dist/index.cjs +7 -7
- package/dist/index.d.ts +12 -3
- package/dist/index.js +15 -4
- package/dist/index.js.map +1 -1
- package/package.json +11 -10
- package/src/node/core/config/types.ts +9 -2
- package/src/node/core/pkg/types.ts +1 -0
- package/src/node/core/pkg/validatePkg.ts +1 -0
- package/src/node/resolveBuildContext.ts +7 -1
- package/src/node/tasks/rollup/resolveRollupConfig.ts +3 -0
- package/src/node/templates/default/template.ts +2 -0
- package/dist/_chunks/consoleSpy-HqQIfX7k.cjs.map +0 -1
- package/dist/_chunks/init-9DSt45GN.cjs.map +0 -1
- package/dist/_chunks/logger-L4V-Be7d.cjs.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/pkg-utils",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.2",
|
|
4
4
|
"description": "Simple utilities for modern npm packages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sanity-io",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"license": "MIT",
|
|
23
23
|
"author": "Sanity.io <hello@sanity.io>",
|
|
24
|
+
"sideEffects": false,
|
|
24
25
|
"type": "module",
|
|
25
26
|
"exports": {
|
|
26
27
|
".": {
|
|
@@ -71,7 +72,7 @@
|
|
|
71
72
|
"@rollup/plugin-replace": "^5.0.5",
|
|
72
73
|
"@rollup/plugin-terser": "^0.4.4",
|
|
73
74
|
"@sanity/browserslist-config": "^1.0.1",
|
|
74
|
-
"browserslist": "^4.
|
|
75
|
+
"browserslist": "^4.23.0",
|
|
75
76
|
"cac": "^6.7.14",
|
|
76
77
|
"chalk": "^4.1.2",
|
|
77
78
|
"chokidar": "^3.6.0",
|
|
@@ -91,7 +92,7 @@
|
|
|
91
92
|
"pretty-bytes": "^5.6.0",
|
|
92
93
|
"prompts": "^2.4.2",
|
|
93
94
|
"rimraf": "^4.4.1",
|
|
94
|
-
"rollup": "^4.
|
|
95
|
+
"rollup": "^4.11.0",
|
|
95
96
|
"rollup-plugin-esbuild": "^6.1.1",
|
|
96
97
|
"rxjs": "^7.8.1",
|
|
97
98
|
"treeify": "^1.1.0",
|
|
@@ -99,8 +100,8 @@
|
|
|
99
100
|
"zod": "^3.22.4"
|
|
100
101
|
},
|
|
101
102
|
"devDependencies": {
|
|
102
|
-
"@commitlint/cli": "^18.6.
|
|
103
|
-
"@commitlint/config-conventional": "^18.6.
|
|
103
|
+
"@commitlint/cli": "^18.6.1",
|
|
104
|
+
"@commitlint/config-conventional": "^18.6.2",
|
|
104
105
|
"@types/babel__core": "^7.20.5",
|
|
105
106
|
"@types/cpx": "^1.5.5",
|
|
106
107
|
"@types/find-config": "^1.0.4",
|
|
@@ -111,8 +112,8 @@
|
|
|
111
112
|
"@types/rimraf": "^3.0.2",
|
|
112
113
|
"@types/treeify": "^1.0.3",
|
|
113
114
|
"@types/uuid": "^9.0.8",
|
|
114
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
115
|
-
"@typescript-eslint/parser": "^
|
|
115
|
+
"@typescript-eslint/eslint-plugin": "^7.0.1",
|
|
116
|
+
"@typescript-eslint/parser": "^7.0.1",
|
|
116
117
|
"browserslist-to-esbuild": "2.1.1",
|
|
117
118
|
"commitizen": "^4.3.0",
|
|
118
119
|
"cpx": "^1.5.0",
|
|
@@ -121,7 +122,7 @@
|
|
|
121
122
|
"eslint-config-prettier": "^9.1.0",
|
|
122
123
|
"eslint-plugin-import": "^2.29.1",
|
|
123
124
|
"eslint-plugin-prettier": "^5.1.3",
|
|
124
|
-
"eslint-plugin-simple-import-sort": "
|
|
125
|
+
"eslint-plugin-simple-import-sort": "12.0.0",
|
|
125
126
|
"husky": "^8.0.3",
|
|
126
127
|
"lint-staged": "^15.0.2",
|
|
127
128
|
"npm-run-all2": "^6.1.2",
|
|
@@ -132,12 +133,12 @@
|
|
|
132
133
|
"typescript": "^5.3.3",
|
|
133
134
|
"vitest": "^1.2.2",
|
|
134
135
|
"vitest-github-actions-reporter": "^0.11.1",
|
|
135
|
-
"@sanity/pkg-utils": "4.
|
|
136
|
+
"@sanity/pkg-utils": "4.2.2"
|
|
136
137
|
},
|
|
137
138
|
"peerDependencies": {
|
|
138
139
|
"typescript": "^4.7 || ^5"
|
|
139
140
|
},
|
|
140
|
-
"packageManager": "pnpm@8.15.
|
|
141
|
+
"packageManager": "pnpm@8.15.2",
|
|
141
142
|
"engines": {
|
|
142
143
|
"node": ">=16.0.0"
|
|
143
144
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {NormalizedOutputOptions,
|
|
1
|
+
import type {PluginItem as BabelPluginItem} from '@babel/core'
|
|
2
|
+
import type {NormalizedOutputOptions, Plugin as RollupPlugin, TreeshakingOptions} from 'rollup'
|
|
3
3
|
|
|
4
4
|
// re-export
|
|
5
5
|
export type {RollupPlugin}
|
|
@@ -120,6 +120,13 @@ export interface PkgConfigOptions {
|
|
|
120
120
|
rollup?: {
|
|
121
121
|
plugins?: PkgConfigProperty<RollupPlugin[]>
|
|
122
122
|
output?: Partial<NormalizedOutputOptions>
|
|
123
|
+
/**
|
|
124
|
+
* Default options are `preset: 'recommended'` and `propertyReadSideEffects: false`
|
|
125
|
+
* @alpha
|
|
126
|
+
*/
|
|
127
|
+
treeshake?: TreeshakingOptions
|
|
128
|
+
/** @alpha */
|
|
129
|
+
experimentalLogSideEffects?: boolean
|
|
123
130
|
}
|
|
124
131
|
/**
|
|
125
132
|
* Default runtime of package exports
|
|
@@ -42,7 +42,7 @@ export async function resolveBuildContext(options: {
|
|
|
42
42
|
|
|
43
43
|
/* eslint-disable padding-line-between-statements */
|
|
44
44
|
let browserslist = pkg.browserslist
|
|
45
|
-
if (!browserslist) {
|
|
45
|
+
if (strict && !browserslist) {
|
|
46
46
|
logger.warn(
|
|
47
47
|
'Could not detect a `browserslist` property in `package.json`, using default configuration. Add `"browserslist": "extends @sanity/browserslist-config"` to silence this warning.',
|
|
48
48
|
)
|
|
@@ -51,6 +51,12 @@ export async function resolveBuildContext(options: {
|
|
|
51
51
|
const targetVersions = browserslistToEsbuild(browserslist)
|
|
52
52
|
/* eslint-enable padding-line-between-statements */
|
|
53
53
|
|
|
54
|
+
if (strict && typeof pkg.sideEffects === 'undefined') {
|
|
55
|
+
logger.error(
|
|
56
|
+
'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`.',
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
|
|
54
60
|
const nodeTarget = resolveNodeTarget(targetVersions)
|
|
55
61
|
const webTarget = resolveBrowserTarget(targetVersions)
|
|
56
62
|
|
|
@@ -180,8 +180,11 @@ export function resolveRollupConfig(
|
|
|
180
180
|
plugins,
|
|
181
181
|
|
|
182
182
|
treeshake: {
|
|
183
|
+
preset: 'recommended',
|
|
183
184
|
propertyReadSideEffects: false,
|
|
185
|
+
...config?.rollup?.treeshake,
|
|
184
186
|
},
|
|
187
|
+
experimentalLogSideEffects: config?.rollup?.experimentalLogSideEffects,
|
|
185
188
|
},
|
|
186
189
|
outputOptions: {
|
|
187
190
|
chunkFileNames: () => {
|
|
@@ -159,6 +159,7 @@ export const defaultTemplate: PkgTemplate = async ({cwd, logger, packagePath}) =
|
|
|
159
159
|
'repository': undefined,
|
|
160
160
|
'license': options.license,
|
|
161
161
|
author,
|
|
162
|
+
'sideEffects': false,
|
|
162
163
|
'type': 'module',
|
|
163
164
|
'exports': {
|
|
164
165
|
'.': {
|
|
@@ -188,6 +189,7 @@ export const defaultTemplate: PkgTemplate = async ({cwd, logger, packagePath}) =
|
|
|
188
189
|
}
|
|
189
190
|
: undefined,
|
|
190
191
|
// prettier: prettierConfig,
|
|
192
|
+
'browserslist': 'extends @sanity/browserslist-config',
|
|
191
193
|
'dependencies': {},
|
|
192
194
|
'devDependencies': {
|
|
193
195
|
'@sanity/pkg-utils': '*',
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consoleSpy-HqQIfX7k.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","../../node_modules/.pnpm/browserslist-to-esbuild@2.1.1_browserslist@4.22.3/node_modules/browserslist-to-esbuild/src/index.js","../../src/node/core/findCommonPath.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","import config from '@sanity/browserslist-config'\n\n/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = config\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 | undefined> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n return undefined\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import browserslist from 'browserslist'\n\n// convert the browserslist field in package.json to\n// esbuild compatible array of browsers\nexport default function browserslistToEsbuild(browserslistConfig, options = {}) {\n if (!browserslistConfig) {\n // the path from where the script is run\n const path = process.cwd()\n\n // read config if none is passed\n browserslistConfig = browserslist.loadConfig({ path, ...options })\n }\n\n const SUPPORTED_ESBUILD_TARGETS = [\n 'es',\n 'chrome',\n 'edge',\n 'firefox',\n 'ios',\n 'node',\n 'safari',\n 'opera',\n 'ie',\n ]\n\n // https://github.com/eBay/browserslist-config/issues/16#issuecomment-863870093\n const UNSUPPORTED = ['android 4']\n\n const replaces = {\n ios_saf: 'ios',\n android: 'chrome',\n }\n\n const separator = ' '\n\n return (\n browserslist(browserslistConfig, options)\n // filter out the unsupported ones\n .filter((b) => !UNSUPPORTED.some((u) => b.startsWith(u)))\n // replaces safari TP with latest safari version\n .map((b) => {\n if (b === 'safari TP') {\n return browserslist('last 1 safari version')[0]\n }\n\n return b\n })\n // transform into ['chrome', '88']\n .map((b) => b.split(separator))\n // replace the similar browser\n .map((b) => {\n if (replaces[b[0]]) {\n b[0] = replaces[b[0]]\n }\n\n return b\n })\n // 11.0-12.0 --> 11.0\n .map((b) => {\n if (b[1].includes('-')) {\n b[1] = b[1].slice(0, b[1].indexOf('-'))\n }\n\n return b\n })\n // 11.0 --> 11\n .map((b) => {\n if (b[1].endsWith('.0')) {\n b[1] = b[1].slice(0, -2)\n }\n\n return b\n })\n // removes invalid versions that will break esbuild\n // https://github.com/evanw/esbuild/blob/35c0d65b9d4f29a26176404d2890d1b499634e9f/compat-table/src/caniuse.ts#L119-L122\n .filter((b) => /^\\d+(\\.\\d+)*$/.test(b[1]))\n // only get the targets supported by esbuild\n .filter((b) => SUPPORTED_ESBUILD_TARGETS.includes(b[0]))\n // only get the oldest version, assuming that the older version\n // is last in the array\n .reduce((acc, b) => {\n const existingIndex = acc.findIndex((br) => br[0] === b[0])\n\n if (existingIndex !== -1) {\n acc[existingIndex][1] = b[1]\n } else {\n acc.push(b)\n }\n return acc\n }, [])\n // remove separator\n .map((b) => b.join(''))\n )\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","export function resolveBrowserTarget(versions: string[]): string[] | undefined {\n const target: string[] = versions.filter(\n (version) =>\n version.startsWith('chrome') ||\n version.startsWith('edge') ||\n version.startsWith('firefox') ||\n version.startsWith('ios') ||\n version.startsWith('safari') ||\n version.startsWith('opera'),\n )\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","export function resolveNodeTarget(versions: string[]): string[] | undefined {\n const target: string[] = versions.filter((version) => version.startsWith('node'))\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import browserslistToEsbuild from 'browserslist-to-esbuild'\nimport 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 {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\n /* eslint-disable padding-line-between-statements */\n let browserslist = pkg.browserslist\n if (!browserslist) {\n logger.warn(\n 'Could not detect a `browserslist` property in `package.json`, using default configuration. Add `\"browserslist\": \"extends @sanity/browserslist-config\"` to silence this warning.',\n )\n browserslist = DEFAULT_BROWSERSLIST_QUERY\n }\n const targetVersions = browserslistToEsbuild(browserslist)\n /* eslint-enable padding-line-between-statements */\n\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":["findConfig","path","fileExists","pkgUp","register","config","fs","validatePkg","ZodError","chalk","isRecord","ts","browserslist"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,iBAAoB,GAAA;AAAA,EACxB,mBAAA;AAAA,EACA,mBAAA;AAAA,EACA,oBAAA;AAAA,EACA,oBAAA;AACF,CAAA,CAAA;AAGO,SAAS,eAAe,GAAiC,EAAA;AAC9D,EAAA,MAAM,WAAc,GAAAA,2BAAA,CAAW,cAAgB,EAAA,EAAC,KAAI,CAAA,CAAA;AAEpD,EAAA,IAAI,CAAC,WAAA;AAAa,IAAO,OAAA,KAAA,CAAA,CAAA;AAEzB,EAAM,MAAA,OAAA,GAAUC,qBAAK,CAAA,OAAA,CAAQ,WAAW,CAAA,CAAA;AAExC,EAAA,KAAA,MAAW,YAAY,iBAAmB,EAAA;AACxC,IAAA,MAAM,UAAa,GAAAA,qBAAA,CAAK,OAAQ,CAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;AAEjD,IAAM,MAAA,MAAA,GAASC,kBAAW,UAAU,CAAA,CAAA;AAEpC,IAAA,IAAI,MAAQ,EAAA;AACV,MAAO,OAAA,UAAA,CAAA;AAAA,KACT;AAAA,GACF;AAEA,EAAO,OAAA,KAAA,CAAA,CAAA;AACT;;ACvBA,eAAsB,WAAW,OAA+D,EAAA;AAC9F,EAAM,MAAA,EAAC,KAAO,GAAA,OAAA,CAAA;AAEd,EAAA,MAAM,OAAU,GAAA,MAAMC,sBAAM,CAAA,EAAC,KAAI,CAAA,CAAA;AAEjC,EAAA,IAAI,CAAC,OAAA;AAAS,IAAO,OAAA,KAAA,CAAA,CAAA;AAErB,EAAM,MAAA,IAAA,GAAOF,qBAAK,CAAA,OAAA,CAAQ,OAAO,CAAA,CAAA;AAEjC,EAAM,MAAA,UAAA,GAAa,MAAM,cAAA,CAAe,IAAI,CAAA,CAAA;AAE5C,EAAA,IAAI,CAAC,UAAY,EAAA;AACf,IAAO,OAAA,KAAA,CAAA,CAAA;AAAA,GACT;AAGA,EAAA,IAAI,CAAC,UAAA,CAAW,UAAW,CAAA,GAAG,CAAG,EAAA;AAC/B,IAAO,OAAA,KAAA,CAAA,CAAA;AAAA,GACT;AAEA,EAAA,MAAM,iBAAiB,EAAC,UAAA,EAAY,CAAC,KAAO,EAAA,MAAA,EAAQ,KAAK,CAAC,EAAA,CAAA;AAE1D,EAAM,MAAA,EAAC,UAAU,EAAA,GAAI,UAAW,CAAA,OAAA,GAAU,EAAC,UAAA,EAAY,MAAM,KAAA,CAAA,EAAa,GAAAG,aAAA,CAAS,cAAc,CAAA,CAAA;AAGjG,EAAM,MAAA,GAAA,GAAM,QAAQ,UAAU,CAAA,CAAA;AAE9B,EAAW,UAAA,EAAA,CAAA;AAEX,EAAO,OAAA,GAAA,EAAK,WAAW,GAAO,IAAA,KAAA,CAAA,CAAA;AAChC;;ACnCgB,SAAA,qBAAA,CACd,MACA,YACG,EAAA;AACH,EAAA,IAAI,CAAC,IAAA;AAAM,IAAO,OAAA,YAAA,CAAA;AAElB,EAAI,IAAA,OAAO,SAAS,UAAY,EAAA;AAC9B,IAAA,OAAQ,KAAsC,YAAY,CAAA,CAAA;AAAA,GAC5D;AAEA,EAAO,OAAA,IAAA,CAAA;AACT;;ACXO,MAAM,0BAA6B,GAAAC;;ACI1C,eAAsB,QAAQ,OAA8C,EAAA;AAC1E,EAAM,MAAA,EAAC,KAAO,GAAA,OAAA,CAAA;AAEd,EAAA,MAAM,OAAU,GAAA,MAAMF,sBAAM,CAAA,EAAC,KAAI,CAAA,CAAA;AAEjC,EAAA,IAAI,CAAC,OAAA;AAAS,IAAM,MAAA,IAAI,MAAM,uBAAuB,CAAA,CAAA;AAErD,EAAA,MAAM,GAAM,GAAA,MAAMG,mBAAG,CAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AAErC,EAAA,MAAM,GAAM,GAAA,IAAA,CAAK,KAAM,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AAErC,EAAAC,kBAAA,CAAY,GAAG,CAAA,CAAA;AAEf,EAAO,OAAA,GAAA,CAAA;AACT;;ACpBgB,SAAA,WAAA,CAAe,GAAM,GAAmB,EAAA;AACtD,EAAM,MAAA,IAAA,GAAO,GAAI,CAAA,OAAA,CAAQ,CAAC,CAAA,CAAA;AAG1B,EAAA,IAAI,SAAS,CAAI,CAAA,EAAA;AACf,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,OAAO,IAAS,KAAA,CAAA,CAAA;AAClB,CAAA;AAGgB,SAAA,UAAA,CAAc,GAAM,GAAmB,EAAA;AACrD,EAAM,MAAA,IAAA,GAAO,GAAI,CAAA,OAAA,CAAQ,CAAC,CAAA,CAAA;AAG1B,EAAA,IAAI,SAAS,CAAI,CAAA,EAAA;AACf,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA,IAAA,KAAS,IAAI,MAAS,GAAA,CAAA,CAAA;AAC/B,CAAA;AAGgB,SAAA,WAAA,CAAe,CAAM,EAAA,CAAA,EAAM,GAAmB,EAAA;AAC5D,EAAM,MAAA,IAAA,GAAO,GAAI,CAAA,OAAA,CAAQ,CAAC,CAAA,CAAA;AAC1B,EAAM,MAAA,IAAA,GAAO,GAAI,CAAA,OAAA,CAAQ,CAAC,CAAA,CAAA;AAG1B,EAAI,IAAA,IAAA,KAAS,CAAM,CAAA,IAAA,IAAA,KAAS,CAAI,CAAA,EAAA;AAC9B,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,OAAO,IAAO,GAAA,IAAA,CAAA;AAChB;;AC1BA,eAAsB,qBAAqB,OAGlB,EAAA;AACvB,EAAM,MAAA,EAAC,GAAK,EAAA,MAAA,EAAU,GAAA,OAAA,CAAA;AAEtB,EAAI,IAAA;AACF,IAAA,MAAM,GAAM,GAAA,MAAM,OAAQ,CAAA,EAAC,KAAI,CAAA,CAAA;AAC/B,IAAA,IAAI,WAAc,GAAA,KAAA,CAAA;AAGlB,IAAA,IAAI,IAAI,OAAS,EAAA;AACf,MAAA,MAAM,QAAW,GAAA,MAAA,CAAO,OAAQ,CAAA,GAAA,CAAI,OAAO,CAAA,CAAA;AAE3C,MAAA,KAAA,MAAW,CAAC,OAAA,EAAS,GAAG,CAAA,IAAK,QAAU,EAAA;AACrC,QAAI,IAAA,OAAO,QAAQ,QAAU,EAAA;AAC3B,UAAA,SAAA;AAAA,SACF;AAEA,QAAM,MAAA,IAAA,GAAO,MAAO,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AAE5B,QAAA,IAAI,CAAC,WAAA,CAAY,OAAS,EAAA,IAAI,CAAG,EAAA;AAC/B,UAAc,WAAA,GAAA,IAAA,CAAA;AACd,UAAO,MAAA,CAAA,KAAA,CAAM,CAAY,SAAA,EAAA,OAAO,CAAyD,uDAAA,CAAA,CAAA,CAAA;AAAA,SAC3F;AAEA,QAAA,IAAI,IAAI,IAAM,EAAA;AACZ,UAAA,MAAM,QAAW,GAAA,MAAA,CAAO,IAAK,CAAA,GAAA,CAAI,IAAI,CAAA,CAAA;AAErC,UAAA,IAAI,CAAC,WAAA,CAAY,QAAU,EAAA,QAAA,EAAU,QAAQ,CAAG,EAAA;AAC9C,YAAc,WAAA,GAAA,IAAA,CAAA;AACd,YAAO,MAAA,CAAA,KAAA;AAAA,cACL,YAAY,OAAO,CAAA,gFAAA,CAAA;AAAA,aACrB,CAAA;AAAA,WACF;AAEA,UAAA,IAAI,CAAC,WAAA,CAAY,QAAU,EAAA,SAAA,EAAW,QAAQ,CAAG,EAAA;AAC/C,YAAO,MAAA,CAAA,IAAA;AAAA,cACL,YAAY,OAAO,CAAA,iFAAA,CAAA;AAAA,aACrB,CAAA;AAAA,WACF;AAEA,UAAA,IAAI,CAAC,WAAA,CAAY,QAAU,EAAA,SAAA,EAAW,QAAQ,CAAG,EAAA;AAC/C,YAAO,MAAA,CAAA,IAAA;AAAA,cACL,YAAY,OAAO,CAAA,6EAAA,CAAA;AAAA,aACrB,CAAA;AAAA,WACF;AAEA,UAAI,IAAA,GAAA,CAAI,MAAU,IAAA,GAAA,CAAI,IAAK,CAAA,MAAA,IAAU,CAAC,WAAY,CAAA,MAAA,EAAQ,QAAU,EAAA,IAAI,CAAG,EAAA;AACzE,YAAc,WAAA,GAAA,IAAA,CAAA;AACd,YAAO,MAAA,CAAA,KAAA;AAAA,cACL,YAAY,OAAO,CAAA,oEAAA,CAAA;AAAA,aACrB,CAAA;AAAA,WACF;AAEA,UAAI,IAAA,GAAA,CAAI,MAAU,IAAA,GAAA,CAAI,IAAK,CAAA,MAAA,IAAU,CAAC,WAAY,CAAA,MAAA,EAAQ,QAAU,EAAA,IAAI,CAAG,EAAA;AACzE,YAAc,WAAA,GAAA,IAAA,CAAA;AACd,YAAO,MAAA,CAAA,KAAA;AAAA,cACL,YAAY,OAAO,CAAA,oEAAA,CAAA;AAAA,aACrB,CAAA;AAAA,WACF;AAEA,UAAA,IACE,IAAI,IAAK,CAAA,MAAA,IACT,CAAC,GAAA,CAAI,KAAK,OACV,IAAA,GAAA,CAAI,IAAK,CAAA,MAAA,IACT,IAAI,MACJ,IAAA,GAAA,CAAI,IAAK,CAAA,MAAA,KAAW,IAAI,MACxB,EAAA;AACA,YAAc,WAAA,GAAA,IAAA,CAAA;AACd,YAAO,MAAA,CAAA,KAAA;AAAA,cACL,YAAY,OAAO,CAAA,wDAAA,CAAA;AAAA,aACrB,CAAA;AAAA,WACF;AAEA,UAAI,IAAA,GAAA,CAAI,WAAW,GAAI,CAAA,IAAA,CAAK,WAAW,GAAI,CAAA,OAAA,KAAY,GAAI,CAAA,IAAA,CAAK,OAAS,EAAA;AACvE,YAAc,WAAA,GAAA,IAAA,CAAA;AACd,YAAO,MAAA,CAAA,KAAA;AAAA,cACL,YAAY,OAAO,CAAA,kFAAA,CAAA;AAAA,aACrB,CAAA;AAAA,WACF,MAAA,IAAW,GAAI,CAAA,OAAA,IAAW,GAAI,CAAA,IAAA,CAAK,OAAW,IAAA,CAAC,WAAY,CAAA,MAAA,EAAQ,SAAW,EAAA,IAAI,CAAG,EAAA;AACnF,YAAc,WAAA,GAAA,IAAA,CAAA;AACd,YAAO,MAAA,CAAA,KAAA;AAAA,cACL,YAAY,OAAO,CAAA,qEAAA,CAAA;AAAA,aACrB,CAAA;AAAA,WACF;AAAA,SACK,MAAA;AACL,UAAA,IAAI,CAAC,WAAA,CAAY,QAAU,EAAA,SAAA,EAAW,IAAI,CAAG,EAAA;AAC3C,YAAO,MAAA,CAAA,IAAA;AAAA,cACL,YAAY,OAAO,CAAA,uEAAA,CAAA;AAAA,aACrB,CAAA;AAAA,WACF;AAEA,UAAA,IAAI,CAAC,WAAA,CAAY,QAAU,EAAA,QAAA,EAAU,IAAI,CAAG,EAAA;AAC1C,YAAO,MAAA,CAAA,IAAA;AAAA,cACL,YAAY,OAAO,CAAA,kEAAA,CAAA;AAAA,aACrB,CAAA;AAAA,WACF;AAAA,SACF;AAEA,QAAA,IAAI,CAAC,UAAA,CAAW,SAAW,EAAA,IAAI,CAAG,EAAA;AAChC,UAAc,WAAA,GAAA,IAAA,CAAA;AACd,UAAO,MAAA,CAAA,KAAA;AAAA,YACL,YAAY,OAAO,CAAA,wDAAA,CAAA;AAAA,WACrB,CAAA;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEA,IAAA,IAAI,WAAa,EAAA;AACf,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AAAA,KAChB;AAEA,IAAO,OAAA,GAAA,CAAA;AAAA,WACA,GAAK,EAAA;AACZ,IAAA,IAAI,eAAeC,YAAU,EAAA;AAC3B,MAAW,KAAA,MAAA,KAAA,IAAS,IAAI,MAAQ,EAAA;AAC9B,QAAI,IAAA,KAAA,CAAM,SAAS,cAAgB,EAAA;AACjC,UAAO,MAAA,CAAA,KAAA;AAAA,YACL;AAAA,cACE,CAAK,EAAA,EAAA,UAAA,CAAW,KAAM,CAAA,IAAI,CAAC,CAAA,GAAA,CAAA;AAAA,cAC3B,CAAyC,sCAAA,EAAAC,sBAAA,CAAM,OAAQ,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA,CAAA,CAAA;AAAA,cACtE,CAAa,UAAA,EAAAA,sBAAA,CAAM,OAAQ,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA,CAAA,CAAA;AAAA,aAC5C,CAAE,KAAK,EAAE,CAAA;AAAA,WACX,CAAA;AACA,UAAA,SAAA;AAAA,SACF;AAEA,QAAA,MAAA,CAAO,MAAM,KAAK,CAAA,CAAA;AAAA,OACpB;AAAA,KACK,MAAA;AACL,MAAA,MAAA,CAAO,MAAM,GAAG,CAAA,CAAA;AAAA,KAClB;AAEA,IAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AAAA,GAChB;AACF,CAAA;AAEA,SAAS,WAAW,QAAkC,EAAA;AACpD,EAAA,OAAO,QACJ,CAAA,GAAA,CAAI,CAAC,CAAA,EAAG,GAAQ,KAAA;AACf,IAAA,IAAI,GAAQ,KAAA,CAAA;AAAG,MAAO,OAAA,CAAA,CAAA;AAEtB,IAAI,IAAA,OAAO,MAAM,QAAU,EAAA;AACzB,MAAA,OAAO,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA;AAAA,KACd;AAEA,IAAI,IAAA,CAAA,CAAE,UAAW,CAAA,GAAG,CAAG,EAAA;AACrB,MAAA,OAAO,KAAK,CAAC,CAAA,EAAA,CAAA,CAAA;AAAA,KACf;AAEA,IAAA,OAAO,IAAI,CAAC,CAAA,CAAA,CAAA;AAAA,GACb,CACA,CAAA,IAAA,CAAK,EAAE,CAAA,CAAA;AACZ;;AC/JgB,SAAA,eAAA,CACd,UACA,OACU,EAAA;AACV,EAAM,MAAA,EAAC,MAAQ,EAAA,GAAA,EAAO,GAAA,OAAA,CAAA;AACtB,EAAA,MAAM,GAAM,GAAA,MAAA,CAAO,GAAI,CAAA,IAAA,IAAQ,UAAU,CAAA,CAAA;AAEzC,EAAA,MAAM,SAAmB,EAAC,CAAA;AAE1B,EAAA,KAAA,MAAW,OAAO,QAAU,EAAA;AAC1B,IAAI,IAAA,GAAA,CAAI,WAAW,CAAC,GAAA,CAAI,QAAQ,QAAS,CAAA,GAAA,CAAI,QAAQ,CAAG,EAAA;AACtD,MAAO,MAAA,CAAA,IAAA;AAAA,QACL,CAAA,2BAAA,EAA8B,IAAI,IAAI,CAAA,iBAAA,EAAoB,IAAI,KAAK,CAAA,4BAAA,EAA+B,IAAI,QAAQ,CAAA,CAAA,CAAA;AAAA,OAChH,CAAA;AAAA,KACF;AAEA,IAAI,IAAA,GAAA,CAAI,UAAU,CAAC,GAAA,CAAI,OAAO,QAAS,CAAA,GAAA,CAAI,GAAG,CAAG,EAAA;AAC/C,MAAO,MAAA,CAAA,IAAA;AAAA,QACL,CAAA,2BAAA,EAA8B,IAAI,IAAI,CAAA,iBAAA,EAAoB,IAAI,KAAK,CAAA,2BAAA,EAA8B,IAAI,GAAG,CAAA,CAAA,CAAA;AAAA,OAC1G,CAAA;AAAA,KACF;AAAA,GACF;AAEA,EAAO,OAAA,MAAA,CAAA;AACT;;ACrBO,SAAS,aAAa,OAIO,EAAA;AAClC,EAAA,MAAM,EAAC,MAAA,EAAQ,GAAK,EAAA,MAAA,EAAU,GAAA,OAAA,CAAA;AAE9B,EAAA,MAAM,UAA0C,GAAA;AAAA,IAC9C,SAAW,EAAA,IAAA;AAAA,IACX,KAAO,EAAA,GAAA;AAAA,IACP,OAAO,GAAI,CAAA,KAAA;AAAA,IACX,MAAA,EAAQ,IAAI,MAAU,IAAA,EAAA;AAAA,IACtB,OAAA,EAAS,IAAI,OAAW,IAAA;AAAA,MACtB,MAAA,EAAQ,IAAI,MAAU,IAAA,EAAA;AAAA,MACtB,SAAS,GAAI,CAAA,IAAA,IAAQ,GAAI,CAAA,OAAA,CAAQ,IAAI,IAAI,CAAA;AAAA,MACzC,QAAQ,GAAI,CAAA,MAAA,IAAU,GAAI,CAAA,OAAA,CAAQ,IAAI,MAAM,CAAA;AAAA,KAC9C;AAAA,IACA,SAAS,GAAI,CAAA,IAAA;AAAA,IACb,QAAQ,GAAI,CAAA,MAAA;AAAA,IACZ,OAAS,EAAA,GAAA,CAAI,MAAU,IAAA,GAAA,CAAI,IAAQ,IAAA,EAAA;AAAA,GACrC,CAAA;AAEA,EAAA,MAAM,eAAgD,EAAC,CAAA;AAEvD,EAAA,MAAM,SAAmB,EAAC,CAAA;AAE1B,EAAA,IAAI,IAAI,OAAS,EAAA;AACf,IAAA,IAAI,MAAU,IAAA,CAAC,GAAI,CAAA,OAAA,CAAQ,gBAAgB,CAAG,EAAA;AAC5C,MAAA,MAAA,CAAO,KAAK,4DAA4D,CAAA,CAAA;AAAA,KAC1E;AAEA,IAAW,KAAA,MAAA,CAAC,YAAY,WAAW,CAAA,IAAK,OAAO,OAAQ,CAAA,GAAA,CAAI,OAAO,CAAG,EAAA;AACnE,MAAI,IAAA,UAAA,CAAW,QAAS,CAAA,OAAO,CAAG,EAAA;AAChC,QAAA,IAAI,eAAe,gBAAkB,EAAA;AACnC,UAAA,IAAI,gBAAgB,gBAAkB,EAAA;AACpC,YAAA,MAAA,CAAO,KAAK,oEAAoE,CAAA,CAAA;AAAA,WAClF;AAAA,SACF;AAAA,OACF,MAAA,IAAWC,eAAS,CAAA,WAAW,CAAG,EAAA;AAChC,QAAA,IAAI,eAAe,GAAK,EAAA;AACtB,UAAA,IACE,YAAY,OACZ,IAAA,UAAA,CAAW,WACX,WAAY,CAAA,OAAA,KAAY,WAAW,OACnC,EAAA;AACA,YAAO,MAAA,CAAA,IAAA;AAAA,cACL,mFAAA;AAAA,aACF,CAAA;AAAA,WACF;AAEA,UAAA,IAAI,YAAY,MAAU,IAAA,UAAA,CAAW,UAAU,WAAY,CAAA,MAAA,KAAW,WAAW,MAAQ,EAAA;AACvF,YAAO,MAAA,CAAA,IAAA;AAAA,cACL,mFAAA;AAAA,aACF,CAAA;AAAA,WACF;AAEA,UAAA,IAAI,YAAY,KAAS,IAAA,UAAA,CAAW,SAAS,WAAY,CAAA,KAAA,KAAU,WAAW,KAAO,EAAA;AACnF,YAAO,MAAA,CAAA,IAAA;AAAA,cACL,kFAAA;AAAA,aACF,CAAA;AAAA,WACF;AAEA,UAAA,IAAI,YAAY,MAAU,IAAA,UAAA,CAAW,UAAU,WAAY,CAAA,MAAA,KAAW,WAAW,MAAQ,EAAA;AACvF,YAAO,MAAA,CAAA,IAAA;AAAA,cACL,oFAAA;AAAA,aACF,CAAA;AAAA,WACF;AAEA,UAAO,MAAA,CAAA,MAAA,CAAO,YAAY,WAAW,CAAA,CAAA;AAAA,SAChC,MAAA;AACL,UAAA,MAAM,WAA2C,GAAA;AAAA,YAC/C,SAAW,EAAA,IAAA;AAAA,YACX,KAAO,EAAA,UAAA;AAAA,YACP,GAAG,WAAA;AAAA,WACL,CAAA;AAEA,UAAA,YAAA,CAAa,KAAK,WAAW,CAAA,CAAA;AAAA,SAC/B;AAAA,OACK,MAAA;AACL,QAAA,MAAA,CAAO,KAAK,yCAAyC,CAAA,CAAA;AAAA,OACvD;AAAA,KACF;AAAA,GACF;AAEA,EAAA,MAAM,QAAW,GAAA,CAAC,UAAY,EAAA,GAAG,YAAY,CAAA,CAAA;AAE7C,EAAO,MAAA,CAAA,IAAA,CAAK,GAAG,eAAgB,CAAA,QAAA,EAAU,EAAC,MAAQ,EAAA,GAAA,EAAI,CAAC,CAAA,CAAA;AAEvD,EAAA,IAAI,OAAO,MAAQ,EAAA;AACjB,IAAA,MAAM,IAAI,KAAM,CAAA,MAAA,GAAS,MAAO,CAAA,IAAA,CAAK,MAAM,CAAC,CAAA,CAAA;AAAA,GAC9C;AAEA,EAAO,OAAA,QAAA,CAAA;AACT;;AC7FO,MAAM,mBAAiC,GAAA;AAAA;AAAA,EAE5C,QAAU,EAAA;AAAA,IACR,QAAU,EAAA,KAAA;AAAA,IACV,GAAK,EAAA,MAAA;AAAA,GACP;AAAA;AAAA,EAGA,MAAQ,EAAA;AAAA,IACN,QAAU,EAAA,MAAA;AAAA,IACV,GAAK,EAAA,KAAA;AAAA,GACP;AACF,EAAA;AAGO,SAAS,aAAa,OAA8C,EAAA;AACzE,EAAM,MAAA,EAAC,eAAiB,GAAA,OAAA,CAAA;AAExB,EAAM,MAAA,GAAA,GAAM,EAAC,GAAG,mBAAmB,EAAA,CAAA;AAInC,EAAA,IAAI,aAAe,EAAA;AACjB,IAAA,GAAA,CAAI,UAAU,CAAI,GAAA;AAAA,MAChB,QAAU,EAAA,KAAA;AAAA,MACV,GAAK,EAAA,SAAA;AAAA,KACP,CAAA;AAAA,GACF;AAEA,EAAO,OAAA,GAAA,CAAA;AACT;;AClCA,eAAsB,aAAa,OAGW,EAAA;AAC5C,EAAM,MAAA,EAAC,GAAK,EAAA,YAAA,EAAgB,GAAA,OAAA,CAAA;AAE5B,EAAA,MAAM,aAAaC,mBAAG,CAAA,cAAA,CAAe,KAAKA,mBAAG,CAAA,GAAA,CAAI,YAAY,YAAY,CAAA,CAAA;AAEzE,EAAA,IAAI,CAAC,UAAY,EAAA;AACf,IAAO,OAAA,KAAA,CAAA,CAAA;AAAA,GACT;AAEA,EAAA,MAAM,aAAaA,mBAAG,CAAA,cAAA,CAAe,UAAY,EAAAA,mBAAA,CAAG,IAAI,QAAQ,CAAA,CAAA;AAEhE,EAAA,OAAOA,oBAAG,0BAA2B,CAAA,UAAA,CAAW,MAAQ,EAAAA,mBAAA,CAAG,KAAK,GAAG,CAAA,CAAA;AACrE;;AChBA;AACA;AACe,SAAS,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,GAAG,EAAE,EAAE;AAChF,EAAE,IAAI,CAAC,kBAAkB,EAAE;AAC3B;AACA,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,GAAE;AAC9B;AACA;AACA,IAAI,kBAAkB,GAAGC,6BAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAC;AACtE,GAAG;AACH;AACA,EAAE,MAAM,yBAAyB,GAAG;AACpC,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,IAAI;AACR,IAAG;AACH;AACA;AACA,EAAE,MAAM,WAAW,GAAG,CAAC,WAAW,EAAC;AACnC;AACA,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,OAAO,EAAE,QAAQ;AACrB,IAAG;AACH;AACA,EAAE,MAAM,SAAS,GAAG,IAAG;AACvB;AACA,EAAE;AACF,IAAIA,6BAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC;AAC7C;AACA,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D;AACA,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK;AAClB,QAAQ,IAAI,CAAC,KAAK,WAAW,EAAE;AAC/B,UAAU,OAAOA,6BAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;AACzD,SAAS;AACT;AACA,QAAQ,OAAO,CAAC;AAChB,OAAO,CAAC;AACR;AACA,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACrC;AACA,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK;AAClB,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5B,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AAC/B,SAAS;AACT;AACA,QAAQ,OAAO,CAAC;AAChB,OAAO,CAAC;AACR;AACA,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAChC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;AACjD,SAAS;AACT;AACA,QAAQ,OAAO,CAAC;AAChB,OAAO,CAAC;AACR;AACA,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK;AAClB,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACjC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC;AAClC,SAAS;AACT;AACA,QAAQ,OAAO,CAAC;AAChB,OAAO,CAAC;AACR;AACA;AACA,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD;AACA,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D;AACA;AACA,OAAO,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK;AAC1B,QAAQ,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC;AACnE;AACA,QAAQ,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;AAClC,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC;AACtC,SAAS,MAAM;AACf,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,EAAC;AACrB,SAAS;AACT,QAAQ,OAAO,GAAG;AAClB,OAAO,EAAE,EAAE,CAAC;AACZ;AACA,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7B,GAAG;AACH;;AC3FgB,SAAA,YAAA,CAAa,eAAuB,QAA2B,EAAA;AAC7E,EAAA,OAAO,CAACX,qBAAK,CAAA,QAAA,CAAS,eAAe,QAAQ,CAAA,CAAE,WAAW,IAAI,CAAA,CAAA;AAChE,CAAA;AAEO,SAAS,kBAAkB,SAAyC,EAAA;AACzE,EAAA,IAAI,GAA0B,GAAA,KAAA,CAAA,CAAA;AAE9B,EAAA,KAAA,MAAW,YAAY,SAAW,EAAA;AAChC,IAAI,IAAA,OAAA,GAAUA,qBAAK,CAAA,OAAA,CAAQ,QAAQ,CAAA,CAAA;AAEnC,IAAA,IAAI,CAAC,GAAK,EAAA;AACR,MAAM,GAAA,GAAA,OAAA,CAAA;AACN,MAAA,SAAA;AAAA,KACF;AAEA,IAAA,OAAO,YAAY,GAAK,EAAA;AACtB,MAAU,OAAA,GAAAA,qBAAA,CAAK,QAAQ,OAAO,CAAA,CAAA;AAE9B,MAAA,IAAI,YAAY,GAAK,EAAA;AACnB,QAAA,MAAA;AAAA,OACF;AAEA,MAAI,IAAA,YAAA,CAAa,OAAS,EAAA,GAAG,CAAG,EAAA;AAC9B,QAAM,GAAA,GAAA,OAAA,CAAA;AACN,QAAA,MAAA;AAAA,OACF;AAEA,MAAA,IAAI,OAAY,KAAA,GAAA;AAAK,QAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KAC9B;AAAA,GACF;AAEA,EAAO,OAAA,GAAA,CAAA;AACT;;AClCO,SAAS,qBAAqB,QAA0C,EAAA;AAC7E,EAAA,MAAM,SAAmB,QAAS,CAAA,MAAA;AAAA,IAChC,CAAC,OACC,KAAA,OAAA,CAAQ,UAAW,CAAA,QAAQ,KAC3B,OAAQ,CAAA,UAAA,CAAW,MAAM,CAAA,IACzB,OAAQ,CAAA,UAAA,CAAW,SAAS,CAC5B,IAAA,OAAA,CAAQ,UAAW,CAAA,KAAK,CACxB,IAAA,OAAA,CAAQ,WAAW,QAAQ,CAAA,IAC3B,OAAQ,CAAA,UAAA,CAAW,OAAO,CAAA;AAAA,GAC9B,CAAA;AAEA,EAAI,IAAA,MAAA,CAAO,WAAW,CAAG,EAAA;AACvB,IAAO,OAAA,KAAA,CAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA,MAAA,CAAA;AACT;;AChBO,SAAS,kBAAkB,QAA0C,EAAA;AAC1E,EAAM,MAAA,MAAA,GAAmB,SAAS,MAAO,CAAA,CAAC,YAAY,OAAQ,CAAA,UAAA,CAAW,MAAM,CAAC,CAAA,CAAA;AAEhF,EAAI,IAAA,MAAA,CAAO,WAAW,CAAG,EAAA;AACvB,IAAO,OAAA,KAAA,CAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA,MAAA,CAAA;AACT;;ACYA,eAAsB,oBAAoB,OAShB,EAAA;AACxB,EAAM,MAAA;AAAA,IACJ,MAAA;AAAA,IACA,GAAA;AAAA,IACA,mBAAsB,GAAA,KAAA;AAAA,IACtB,MAAA;AAAA,IACA,MAAA;AAAA,IACA,GAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAU,EAAA,YAAA;AAAA,GACR,GAAA,OAAA,CAAA;AACJ,EAAA,MAAM,WAAW,MAAM,YAAA,CAAa,EAAC,GAAA,EAAK,cAAa,CAAA,CAAA;AAGvD,EAAA,IAAI,eAAe,GAAI,CAAA,YAAA,CAAA;AACvB,EAAA,IAAI,CAAC,YAAc,EAAA;AACjB,IAAO,MAAA,CAAA,IAAA;AAAA,MACL,iLAAA;AAAA,KACF,CAAA;AACA,IAAe,YAAA,GAAA,0BAAA,CAAA;AAAA,GACjB;AACA,EAAM,MAAA,cAAA,GAAiB,sBAAsB,YAAY,CAAA,CAAA;AAGzD,EAAM,MAAA,UAAA,GAAa,kBAAkB,cAAc,CAAA,CAAA;AACnD,EAAM,MAAA,SAAA,GAAY,qBAAqB,cAAc,CAAA,CAAA;AAErD,EAAA,IAAI,CAAC,UAAY,EAAA;AACf,IAAM,MAAA,IAAI,MAAM,2BAA2B,CAAA,CAAA;AAAA,GAC7C;AAEA,EAAA,IAAI,CAAC,SAAW,EAAA;AACd,IAAM,MAAA,IAAI,MAAM,0BAA0B,CAAA,CAAA;AAAA,GAC5C;AAEA,EAAA,MAAM,MAAuC,GAAA;AAAA,IAC3C,GAAA,EAAK,SAAU,CAAA,MAAA,CAAO,UAAU,CAAA;AAAA,IAChC,SAAW,EAAA,SAAA;AAAA,IACX,MAAQ,EAAA,UAAA;AAAA,GACV,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgB,YAAa,CAAA,EAAC,MAAQ,EAAA,GAAA,EAAK,MAAM,EAAC,CAAE,CAAA,MAAA,CAAmB,CAAC,GAAA,EAAK,CAAM,KAAA;AACvF,IAAA,MAAM,EAAC,KAAA,EAAO,UAAY,EAAA,GAAG,aAAe,GAAA,CAAA,CAAA;AAE5C,IAAA,OAAO,EAAC,GAAG,GAAA,EAAK,CAAC,UAAU,GAAG,WAAW,EAAA,CAAA;AAAA,GAC3C,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,OAAU,GAAA,qBAAA,CAAsB,MAAQ,EAAA,OAAA,EAAS,aAAa,CAAA,CAAA;AAEpE,EAAA,MAAM,cAAiB,GAAA;AAAA,IACrB,GAAI,IAAI,YAAe,GAAA,MAAA,CAAO,KAAK,GAAI,CAAA,YAAY,IAAI,EAAC;AAAA,IACxD,GAAI,IAAI,gBAAmB,GAAA,MAAA,CAAO,KAAK,GAAI,CAAA,gBAAgB,IAAI,EAAC;AAAA,GAClE,CAAA;AAGA,EAAA,MAAM,WACJ,MAAU,IAAA,KAAA,CAAM,OAAQ,CAAA,MAAA,CAAO,QAAQ,CACnC,GAAA,CAAC,GAAG,cAAA,EAAgB,GAAG,MAAO,CAAA,QAAQ,IACtC,qBAAsB,CAAA,MAAA,EAAQ,UAAU,cAAc,CAAA,CAAA;AAE5D,EAAA,MAAM,cAAc,MAAO,CAAA,MAAA,CAAO,OAAO,CACtC,CAAA,OAAA,CAAQ,CAAC,WAAgB,KAAA;AACxB,IAAO,OAAA;AAAA,MACL,WAAY,CAAA,MAAA;AAAA,MACZ,WAAY,CAAA,OAAA;AAAA,MACZ,YAAY,OAAS,EAAA,MAAA;AAAA,MACrB,YAAY,OAAS,EAAA,OAAA;AAAA,MACrB,WAAY,CAAA,IAAA,EAAM,MAAU,IAAA,WAAA,CAAY,IAAK,CAAA,MAAA;AAAA,MAC7C,WAAY,CAAA,IAAA,EAAM,MAAU,IAAA,WAAA,CAAY,IAAK,CAAA,OAAA;AAAA,KAC/C,CAAE,OAAO,OAAO,CAAA,CAAA;AAAA,GACjB,EACA,GAAI,CAAA,CAAC,MAAMA,qBAAK,CAAA,OAAA,CAAQ,GAAK,EAAA,CAAC,CAAC,CAAA,CAAA;AAElC,EAAM,MAAA,cAAA,GAAiB,kBAAkB,WAAW,CAAA,CAAA;AAEpD,EAAA,IAAI,mBAAmB,GAAK,EAAA;AAC1B,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,+FAAA;AAAA,KACF,CAAA;AAAA,GACF;AAEA,EAAA,IAAI,cAAkB,IAAA,CAAC,YAAa,CAAA,GAAA,EAAK,cAAc,CAAG,EAAA;AACxD,IAAM,MAAA,IAAI,MAAM,qDAAqD,CAAA,CAAA;AAAA,GACvE;AAEA,EAAM,MAAA,cAAA,GAAiB,QAAQ,IAAO,GAAAA,qBAAA,CAAK,QAAQ,GAAK,EAAA,MAAA,CAAO,IAAI,CAAI,GAAA,KAAA,CAAA,CAAA;AAEvE,EACE,IAAA,cAAA,IACA,kBACA,cAAmB,KAAA,cAAA,IACnB,CAAC,YAAa,CAAA,cAAA,EAAgB,cAAc,CAC5C,EAAA;AACA,IAAA,MAAA,CAAO,IAAI,CAAwC,qCAAA,EAAAA,qBAAA,CAAK,SAAS,GAAK,EAAA,cAAc,CAAC,CAAM,IAAA,CAAA,CAAA,CAAA;AAE3F,IAAM,MAAA,IAAI,MAAM,kEAAkE,CAAA,CAAA;AAAA,GACpF;AAEA,EAAA,MAAM,WAAW,cAAkB,IAAA,cAAA,CAAA;AAEnC,EAAA,IAAI,CAAC,QAAU,EAAA;AACb,IAAM,MAAA,IAAI,MAAM,8BAA8B,CAAA,CAAA;AAAA,GAChD;AAEA,EAAA,MAAM,GAAoB,GAAA;AAAA,IACxB,MAAA;AAAA,IACA,GAAA;AAAA,IACA,QAAA;AAAA,IACA,mBAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAO,EAAC;AAAA,IACR,MAAA;AAAA,IACA,GAAA;AAAA,IACA,OAAA,EAAS,QAAQ,OAAW,IAAA,GAAA;AAAA,IAC5B,MAAA;AAAA,IACA,MAAA;AAAA,IACA,EAAI,EAAA;AAAA,MACF,MAAQ,EAAA,QAAA;AAAA,MACR,UAAY,EAAA,YAAA;AAAA,KACd;AAAA,GACF,CAAA;AAEA,EAAO,OAAA,GAAA,CAAA;AACT;;AC7IO,SAAS,iBAAiB,OAElB,EAAA;AACb,EAAA,MAAM,EAAC,UAAA,EAAc,GAAA,OAAA,IAAW,EAAC,CAAA;AAEjC,EAAA,MAAM,QAAW,GAAA;AAAA,IACf,KAAK,OAAQ,CAAA,GAAA;AAAA,IACb,MAAM,OAAQ,CAAA,IAAA;AAAA,IACd,OAAO,OAAQ,CAAA,KAAA;AAAA,GACjB,CAAA;AAEA,EAAA,MAAM,WAA4B,EAAC,CAAA;AAEnC,EAAQ,OAAA,CAAA,GAAA,GAAM,IAAI,IAAoB,KAAA,QAAA,CAAS,KAAK,EAAC,IAAA,EAAM,KAAO,EAAA,IAAA,EAAK,CAAA,CAAA;AACvE,EAAQ,OAAA,CAAA,IAAA,GAAO,IAAI,IAAoB,KAAA,QAAA,CAAS,KAAK,EAAC,IAAA,EAAM,MAAQ,EAAA,IAAA,EAAK,CAAA,CAAA;AACzE,EAAQ,OAAA,CAAA,KAAA,GAAQ,IAAI,IAAoB,KAAA,QAAA,CAAS,KAAK,EAAC,IAAA,EAAM,OAAS,EAAA,IAAA,EAAK,CAAA,CAAA;AAE3E,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,SAAS,MAAM;AACb,MAAA,OAAA,CAAQ,MAAM,QAAS,CAAA,GAAA,CAAA;AACvB,MAAA,OAAA,CAAQ,OAAO,QAAS,CAAA,IAAA,CAAA;AACxB,MAAA,OAAA,CAAQ,QAAQ,QAAS,CAAA,KAAA,CAAA;AAEzB,MAAA,UAAA,GAAa,QAAQ,CAAA,CAAA;AAAA,KACvB;AAAA,GACF,CAAA;AACF;;;;;;;;;;;;;;","x_google_ignoreList":[11]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init-9DSt45GN.cjs","sources":["../../src/node/core/template/createFromTemplate.ts","../../src/node/core/template/define.ts","../../src/node/isEmptyDirectory.ts","../../src/node/templates/default/template.ts","../../src/node/init.ts"],"sourcesContent":["import {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {dirname, relative, resolve} from 'path'\nimport prompts from 'prompts'\n\nimport {Logger} from '../../logger'\nimport {PkgTemplate} from './types'\n\nconst promptsTypes = {\n string: 'text' as const,\n}\n\n/** @internal */\nexport async function createFromTemplate(options: {\n cwd: string\n logger: Logger\n packagePath: string\n template: PkgTemplate\n}): Promise<void> {\n const {cwd, logger, packagePath, template: templateOrResolver} = options\n\n const template =\n typeof templateOrResolver === 'function'\n ? await templateOrResolver({cwd, logger, packagePath})\n : templateOrResolver\n\n logger.log('create new package at', relative(cwd, packagePath))\n\n const templateOptions: Record<string, string> = {}\n\n for (const templateOption of template.options) {\n const templateValidate = templateOption.validate\n\n const res = await prompts(\n {\n type: promptsTypes[templateOption.type],\n name: templateOption.name,\n message: templateOption.description,\n validate: templateValidate ? (prev) => templateValidate(prev) : undefined,\n initial:\n typeof templateOption.initial === 'function'\n ? templateOption.initial(templateOptions)\n : templateOption.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n\n templateOptions[templateOption.name] = templateOption.parse\n ? templateOption.parse(res[templateOption.name])\n : res[templateOption.name]\n }\n\n const features: Record<string, boolean> = {}\n\n for (const templateFeature of template.features) {\n const res = templateFeature.optional\n ? await prompts(\n {\n type: 'confirm',\n name: 'confirm',\n message: `use ${templateFeature.name}?`,\n initial: templateFeature.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n : undefined\n\n features[templateFeature.name] = res?.confirm || !templateFeature.optional\n }\n\n const files = await template.getFiles(templateOptions, features)\n\n files.sort((a, b) => {\n return a.name.localeCompare(b.name)\n })\n\n for (const file of files) {\n const filePath = resolve(packagePath, file.name)\n\n await mkdirp(dirname(filePath))\n await writeFile(filePath, file.contents.trim() + '\\n')\n\n logger.success(`wrote ${relative(cwd, filePath)}`)\n }\n}\n","import {PkgTemplateOption} from './types'\n\n/** @public */\nexport function defineTemplateOption<T>(option: PkgTemplateOption<T>): PkgTemplateOption<T> {\n return option\n}\n","import {readdir} from 'fs/promises'\n\nexport async function isEmptyDirectory(dirPath: string): Promise<boolean> {\n return (await readdir(dirPath)).length === 0\n}\n","import getLatestVersion from 'get-latest-version'\nimport gitUrlParse from 'git-url-parse'\nimport {outdent} from 'outdent'\nimport parseGitConfig from 'parse-git-config'\nimport {resolve} from 'path'\nimport prettier, {Config as PrettierConfig} from 'prettier'\n\nimport {defineTemplateOption, isRecord, PackageJSON, PkgTemplate, PkgTemplateFile} from '../../core'\n\nconst RE_NAME = /^(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)\\/)?[a-z0-9-~][a-z0-9-._~]*$/i\n\nexport const defaultTemplate: PkgTemplate = async ({cwd, logger, packagePath}) => {\n const gitConfig = await parseGitConfig({cwd, type: 'global'})\n\n return {\n options: [\n defineTemplateOption<{owner: string; name: string}>({\n name: 'repo',\n type: 'string',\n description: 'git url',\n validate: (v) => {\n if (!v) return true\n\n try {\n gitUrlParse(v)\n\n return true\n } catch (err) {\n return 'invalid git url'\n }\n },\n parse: (v) => {\n if (!v) return null\n\n const result = gitUrlParse(v)\n\n return {source: result.source, owner: result.owner, name: result.name}\n },\n }),\n defineTemplateOption({\n name: 'pkgName',\n type: 'string',\n description: 'package name',\n initial: (options) => options.repo?.name || undefined,\n validate: (v) => {\n if (!v) return 'package name is required'\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n return 'invalid package name'\n }\n\n return true\n },\n parse: (v) => {\n if (!v) {\n throw new Error('package name is required')\n }\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n throw new Error('invalid package name')\n }\n\n const [scope, name] = v.split('/')\n\n return {scope, name, fullName: v}\n },\n }),\n defineTemplateOption({\n name: 'description',\n type: 'string',\n description: 'package description',\n }),\n defineTemplateOption({\n name: 'authorName',\n type: 'string',\n description: 'package author name',\n initial: gitConfig?.user?.name,\n }),\n defineTemplateOption({\n name: 'authorEmail',\n type: 'string',\n description: 'package author email',\n initial: gitConfig?.user?.email,\n }),\n defineTemplateOption({\n name: 'license',\n type: 'string',\n description: 'package license',\n initial: 'MIT',\n validate: (v) => {\n if (!v) return 'license is required'\n\n return true\n },\n }),\n ],\n\n features: [\n {\n name: 'eslint',\n optional: true,\n initial: true,\n },\n {\n name: 'prettier',\n optional: true,\n initial: true,\n },\n {\n name: 'typescript',\n optional: true,\n initial: true,\n },\n ],\n\n async getFiles(options, features) {\n const {pkgName, repo} = options\n const {fullName: name} = pkgName\n\n const author =\n [options.authorName, options.authorEmail && `<${options.authorEmail}>`]\n .filter(Boolean)\n .join(' ') ?? undefined\n\n const prettierConfig: PrettierConfig | undefined = features.prettier\n ? {\n bracketSpacing: false,\n plugins: ['prettier-plugin-packagejson'],\n printWidth: 100,\n quoteProps: 'consistent',\n semi: false,\n singleQuote: true,\n tabWidth: 2,\n overrides: [\n {\n files: ['*.yml'],\n options: {\n singleQuote: false,\n },\n },\n ],\n }\n : undefined\n\n const pkgJson: PackageJSON & {\n prettier?: PrettierConfig\n ['lint-staged']?: Record<string, string[]>\n } = {\n name,\n 'version': '0.0.0',\n 'description': options.description ?? undefined,\n 'keywords': [],\n 'homepage': undefined,\n 'bugs': undefined,\n 'repository': undefined,\n 'license': options.license,\n author,\n 'type': 'module',\n 'exports': {\n '.': {\n types: undefined,\n source: features.typescript ? './src/index.ts' : './src/index.js',\n import: './dist/index.js',\n require: './dist/index.cjs',\n default: './dist/index.js',\n },\n './package.json': './package.json',\n },\n 'main': './dist/index.cjs',\n 'module': './dist/index.js',\n 'source': features.typescript ? './src/index.ts' : './src/index.js',\n 'types': undefined,\n 'files': ['dist', 'src'],\n 'scripts': {\n 'build': 'run-s clean pkg:build pkg:check',\n 'clean': 'rimraf dist',\n 'format': features.prettier ? 'prettier --write --cache --ignore-unknown .' : undefined,\n 'pkg:build': 'pkg build --strict',\n 'pkg:check': 'pkg check --strict',\n },\n 'lint-staged': features.prettier\n ? {\n '*': ['prettier --write --cache --ignore-unknown'],\n }\n : undefined,\n // prettier: prettierConfig,\n 'dependencies': {},\n 'devDependencies': {\n '@sanity/pkg-utils': '*',\n '@typescript-eslint/eslint-plugin': undefined,\n '@typescript-eslint/parser': undefined,\n 'eslint': undefined,\n 'eslint-config-prettier': undefined,\n 'eslint-plugin-import': undefined,\n 'eslint-plugin-prettier': undefined,\n 'eslint-plugin-simple-import-sort': undefined,\n 'lint-staged': '*',\n 'npm-run-all': '*',\n 'prettier': features.prettier ? '*' : undefined,\n 'prettier-plugin-packagejson': features.prettier ? '*' : undefined,\n 'rimraf': '*',\n 'typescript': undefined,\n },\n 'engines': {\n node: '>=18.0.0',\n },\n }\n\n const files: PkgTemplateFile[] = []\n\n // .editorconfig\n files.push({\n name: '.editorconfig',\n contents: outdent`\n root = true\n\n [*]\n charset = utf-8\n indent_style = space\n indent_size = 2\n end_of_line = lf\n insert_final_newline = true\n trim_trailing_whitespace = true\n `,\n })\n\n // .gitignore\n files.push({\n name: '.gitignore',\n contents: outdent`\n *.local\n *.log\n *.tgz\n\n .DS_Store\n dist\n etc\n node_modules\n `,\n })\n\n if (features.prettier) {\n files.push({\n name: '.prettierignore',\n contents: outdent`\n dist\n pnpm-lock.yaml\n `,\n })\n\n files.push({\n name: '.prettierrc',\n contents: await format(\n resolve(packagePath, '.prettierrc.json'),\n JSON.stringify(prettierConfig, null, 2) + '\\n',\n prettierConfig,\n ),\n })\n }\n\n if (repo) {\n pkgJson.repository = {\n type: 'git',\n url: `git+ssh://git@${repo.source}/${repo.owner}/${repo.name}.git`,\n }\n pkgJson.bugs = {\n url: `https://${repo.source}/${repo.owner}/${repo.name}/issues`,\n }\n pkgJson.homepage = `https://${repo.source}/${repo.owner}/${repo.name}#readme`\n }\n\n if (features.typescript) {\n pkgJson.types = './dist/index.d.ts'\n\n const mainExport = pkgJson.exports?.['.']\n\n if (isRecord(mainExport)) {\n mainExport.types = './dist/index.d.ts'\n }\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n ['ts:check']: 'tsc --build',\n }\n\n const devDependencies = pkgJson.devDependencies\n\n if (isRecord(devDependencies)) {\n devDependencies['typescript'] = '*'\n }\n }\n\n if (features.eslint) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfig: any = {\n root: true,\n env: {\n browser: true,\n es6: true,\n node: true,\n },\n extends: [\n 'eslint:recommended',\n features.prettier ? 'plugin:prettier/recommended' : undefined,\n ].filter(Boolean),\n parserOptions: {\n ecmaVersion: 2020,\n sourceType: 'module',\n },\n plugins: [\n 'import',\n 'simple-import-sort',\n features.prettier ? 'prettier' : undefined,\n ].filter(Boolean),\n rules: {\n 'no-console': 'error',\n 'no-shadow': 'error',\n 'no-warning-comments': ['warn', {location: 'start', terms: ['todo', 'fixme']}],\n 'quote-props': ['warn', 'consistent-as-needed'],\n 'simple-import-sort/exports': 'warn',\n 'simple-import-sort/imports': 'warn',\n 'strict': ['warn', 'global'],\n },\n }\n\n files.push({\n name: '.eslintignore',\n contents: outdent`\n dist\n `,\n })\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n lint: features.typescript\n ? 'eslint . --ext .cjs,.js,.ts,.tsx'\n : 'eslint . --ext .cjs,.js',\n }\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n 'eslint': '*',\n 'eslint-config-prettier': features.prettier ? '*' : undefined,\n 'eslint-plugin-simple-import-sort': '*',\n 'eslint-plugin-import': '*',\n 'eslint-plugin-prettier': features.prettier ? '*' : undefined,\n }\n\n if (features.typescript) {\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@typescript-eslint/eslint-plugin': '*',\n '@typescript-eslint/parser': '*',\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfigOverride: any = {\n files: ['**/*.ts', '**/*.tsx'],\n parser: '@typescript-eslint/parser',\n parserOptions: {\n project: ['./tsconfig.json'],\n },\n extends: [\n 'eslint:recommended',\n features.prettier ? 'plugin:prettier/recommended' : undefined,\n 'plugin:@typescript-eslint/eslint-recommended',\n 'plugin:@typescript-eslint/recommended',\n ].filter(Boolean),\n plugins: [\n 'import',\n '@typescript-eslint',\n 'simple-import-sort',\n features.prettier ? 'prettier' : undefined,\n ].filter(Boolean),\n rules: {\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/interface-name-prefix': 'off',\n '@typescript-eslint/member-delimiter-style': 'off',\n '@typescript-eslint/no-empty-interface': 'off',\n },\n }\n\n eslintConfig.overrides = [eslintConfigOverride]\n }\n\n files.push({\n name: '.eslintrc.cjs',\n contents: await format(\n resolve(packagePath, '.eslintrc.cjs'),\n outdent`\n 'use strict'\n\n /** @type import('eslint').Linter.Config */\n module.exports = ${JSON.stringify(eslintConfig, null, 2)}\n `,\n prettierConfig,\n ),\n })\n }\n\n if (features.typescript) {\n files.push({\n name: 'tsconfig.settings.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.settings.json'),\n outdent`\n {\n \"compilerOptions\": {\n // Completeness\n \"skipLibCheck\": true,\n\n // Interop constraints\n \"allowSyntheticDefaultImports\": true,\n \"esModuleInterop\": true,\n\n // Language and environment\n \"target\": \"ES2020\",\n\n // Modules\n \"module\": \"ES2020\",\n \"moduleResolution\": \"Node\",\n\n // Type checking\n \"alwaysStrict\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"noImplicitAny\": true,\n \"noImplicitReturns\": true,\n \"noImplicitThis\": true,\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"strict\": true,\n \"strictFunctionTypes\": true,\n \"strictNullChecks\": true,\n \"strictPropertyInitialization\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.dist.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.dist.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./src\"],\n \"exclude\": [\"./src/**/*.test.ts\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"resolveJsonModule\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./**/*.cjs\", \"./**/*.ts\", \"./**/*.tsx\"],\n \"exclude\": [\"./node_modules\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"noEmit\": true,\n \"allowJs\": true,\n \"resolveJsonModule\": true,\n }\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // source file\n if (features.typescript) {\n files.push({\n name: 'package.config.ts',\n contents: await format(\n resolve(packagePath, 'package.config.ts'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n // https://github.com/sanity-io/pkg-utils#configuration\n export default defineConfig({\n // the path to the tsconfig file for distributed builds\n tsconfig: 'tsconfig.dist.json',\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.ts',\n contents: await format(\n resolve(packagePath, 'src/index.ts'),\n outdent`\n /** @public */\n export function main(): void {\n //\n }\n `,\n prettierConfig,\n ),\n })\n } else {\n files.push({\n name: 'package.config.js',\n contents: await format(\n resolve(packagePath, 'package.config.js'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n export default defineConfig({\n extract: {\n rules: {\n // do not require internal members to be prefixed with \\`_\\`\n 'ae-internal-missing-underscore': 'off',\n },\n },\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.js',\n contents: await format(\n resolve(packagePath, 'src/index.js'),\n outdent`\n /** @public */\n export function main() {\n //\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // Resolve latest dependencies\n try {\n pkgJson.dependencies = await resolveLatestDeps(pkgJson.dependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n // Resolve latest devDependencies\n try {\n pkgJson.devDependencies = await resolveLatestDeps(pkgJson.devDependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n files.push({\n name: 'package.json',\n contents: await format(\n resolve(packagePath, 'package.json'),\n JSON.stringify(pkgJson, null, 2),\n prettierConfig,\n ),\n })\n\n return files\n },\n }\n}\n\nfunction format(filepath: string, input: string, prettierOptions: PrettierConfig | undefined) {\n return prettier.format(input, {...prettierOptions, plugins: [], filepath})\n}\n\nasync function resolveLatestDeps(deps: Record<string, string | undefined>) {\n const depsEntries = Object.entries(deps)\n const latestDeps: Record<string, string> = {}\n\n for (const entry of depsEntries) {\n const [name, version] = entry\n\n if (version) {\n const latestVersion = await getLatestVersion(name, version)\n\n latestDeps[name] = latestVersion ? `^${latestVersion}` : version\n }\n }\n\n return latestDeps\n}\n","import {lstat} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {resolve} from 'path'\n\nimport {createFromTemplate} from './core/template'\nimport {fileExists} from './fileExists'\nimport {isEmptyDirectory} from './isEmptyDirectory'\nimport {createLogger} from './logger'\nimport {defaultTemplate} from './templates'\n\n/** @public */\nexport async function init(options: {cwd: string; path: string}): Promise<void> {\n if (!options.cwd) {\n throw new Error('Missing required option: cwd')\n }\n\n if (!options.path) {\n throw new Error('Missing required option: path')\n }\n\n const logger = createLogger()\n\n const packagePath = resolve(options.cwd, options.path)\n\n await ensurePackagePath(packagePath)\n\n await createFromTemplate({\n cwd: options.cwd,\n logger,\n template: defaultTemplate,\n packagePath,\n })\n}\n\nasync function ensurePackagePath(packagePath: string): Promise<void> {\n const exists = fileExists(packagePath)\n\n if (!exists) {\n await mkdirp(packagePath)\n\n return\n }\n\n const dir = (await lstat(packagePath)).isDirectory()\n\n if (!dir) {\n throw new Error('the package path is a file, not a directory')\n }\n\n const empty = await isEmptyDirectory(packagePath)\n\n if (!empty) {\n throw new Error('the package directory is not empty')\n }\n}\n"],"names":["relative","prompts","resolve","mkdirp","dirname","writeFile","readdir","logger","parseGitConfig","gitUrlParse","outdent","isRecord","prettier","getLatestVersion","createLogger","fileExists","lstat"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger-L4V-Be7d.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})\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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"}
|