@sanity/pkg-utils 4.1.5 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{build-AuLlgQCD.cjs → build-reUEgRgP.cjs} +4 -4
- package/dist/_chunks/{build-AuLlgQCD.cjs.map → build-reUEgRgP.cjs.map} +1 -1
- package/dist/_chunks/{buildAction-aKVmXTPP.cjs → buildAction-0e9Huyk4.cjs} +2 -2
- package/dist/_chunks/{buildAction-aKVmXTPP.cjs.map → buildAction-0e9Huyk4.cjs.map} +1 -1
- package/dist/_chunks/{check-j5YR3hUi.cjs → check-vTB_Son_.cjs} +3 -3
- package/dist/_chunks/{check-j5YR3hUi.cjs.map → check-vTB_Son_.cjs.map} +1 -1
- package/dist/_chunks/{checkAction-AD9RJftD.cjs → checkAction-_R3dD5NA.cjs} +2 -2
- package/dist/_chunks/{checkAction-AD9RJftD.cjs.map → checkAction-_R3dD5NA.cjs.map} +1 -1
- package/dist/_chunks/{consoleSpy-HqQIfX7k.cjs → consoleSpy-xoMYHDlT.cjs} +8 -3
- package/dist/_chunks/consoleSpy-xoMYHDlT.cjs.map +1 -0
- package/dist/_chunks/{index-FaD5mo-6.cjs → index-uxwLE9j-.cjs} +8 -5
- package/dist/_chunks/{index-FaD5mo-6.cjs.map → index-uxwLE9j-.cjs.map} +1 -1
- package/dist/_chunks/{init-9DSt45GN.cjs → init-rbgAMmKr.cjs} +4 -2
- package/dist/_chunks/init-rbgAMmKr.cjs.map +1 -0
- package/dist/_chunks/{initAction-sChm6v2i.cjs → initAction-orBx0sEb.cjs} +2 -2
- package/dist/_chunks/{initAction-sChm6v2i.cjs.map → initAction-orBx0sEb.cjs.map} +1 -1
- package/dist/_chunks/{logger-L4V-Be7d.cjs → logger-jZqHSvqU.cjs} +3 -2
- package/dist/_chunks/logger-jZqHSvqU.cjs.map +1 -0
- package/dist/_chunks/{watch-fXO97GL2.cjs → watch-J9ZMu2iI.cjs} +4 -4
- package/dist/_chunks/{watch-fXO97GL2.cjs.map → watch-J9ZMu2iI.cjs.map} +1 -1
- package/dist/_chunks/{watchAction-SAJ1nU-a.cjs → watchAction-LlWtHddm.cjs} +2 -2
- package/dist/_chunks/{watchAction-SAJ1nU-a.cjs.map → watchAction-LlWtHddm.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 +4 -3
- 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.0",
|
|
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
|
".": {
|
|
@@ -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": "11.0.0",
|
|
125
126
|
"husky": "^8.0.3",
|
|
126
127
|
"lint-staged": "^15.0.2",
|
|
127
128
|
"npm-run-all2": "^6.1.2",
|
|
@@ -132,7 +133,7 @@
|
|
|
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.0"
|
|
136
137
|
},
|
|
137
138
|
"peerDependencies": {
|
|
138
139
|
"typescript": "^4.7 || ^5"
|
|
@@ -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":"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","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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"}
|