@sanity/pkg-utils 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/{__printPackageTree-3ff3ecd3.cjs → __printPackageTree-ca167c5a.cjs} +3 -2
  2. package/dist/__printPackageTree-ca167c5a.cjs.map +1 -0
  3. package/dist/{__resolveBuildContext-bc09bff3.cjs → __resolveBuildContext-49ce07ba.cjs} +7 -5
  4. package/dist/__resolveBuildContext-49ce07ba.cjs.map +1 -0
  5. package/dist/{_build-89aeaf6a.cjs → _build-d2f23d5b.cjs} +3 -3
  6. package/dist/{_build-89aeaf6a.cjs.map → _build-d2f23d5b.cjs.map} +1 -1
  7. package/dist/{_buildAction-8855cb5a.cjs → _buildAction-46835204.cjs} +4 -4
  8. package/dist/{_buildAction-8855cb5a.cjs.map → _buildAction-46835204.cjs.map} +1 -1
  9. package/dist/{_check-0ebe9af4.cjs → _check-8838277c.cjs} +3 -3
  10. package/dist/{_check-0ebe9af4.cjs.map → _check-8838277c.cjs.map} +1 -1
  11. package/dist/{_checkAction-a96c4021.cjs → _checkAction-9e8fb156.cjs} +4 -4
  12. package/dist/{_checkAction-a96c4021.cjs.map → _checkAction-9e8fb156.cjs.map} +1 -1
  13. package/dist/{_watch-cf0df170.cjs → _watch-fca55d1f.cjs} +2 -2
  14. package/dist/{_watch-cf0df170.cjs.map → _watch-fca55d1f.cjs.map} +1 -1
  15. package/dist/{_watchAction-bd901b01.cjs → _watchAction-df30594b.cjs} +3 -3
  16. package/dist/{_watchAction-bd901b01.cjs.map → _watchAction-df30594b.cjs.map} +1 -1
  17. package/dist/cli.cjs +4 -4
  18. package/dist/index.cjs +5 -5
  19. package/dist/index.d.ts +6 -4
  20. package/dist/index.js +8 -5
  21. package/dist/index.js.map +1 -1
  22. package/package.json +6 -5
  23. package/src/node/_core/config/types.ts +3 -2
  24. package/src/node/_core/pkg/_loadPkg.ts +2 -1
  25. package/src/node/_core/pkg/_parseExports.ts +4 -3
  26. package/src/node/_core/pkg/_types.ts +3 -2
  27. package/src/node/_printPackageTree.ts +3 -1
  28. package/dist/__printPackageTree-3ff3ecd3.cjs.map +0 -1
  29. package/dist/__resolveBuildContext-bc09bff3.cjs.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/pkg-utils",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "author": "Sanity.io <hello@sanity.io>",
5
5
  "license": "MIT",
6
6
  "description": "Simple utilities for modern npm packages.",
@@ -19,10 +19,11 @@
19
19
  "types": "./dist/index.d.ts",
20
20
  "exports": {
21
21
  ".": {
22
+ "types": "./dist/index.d.ts",
22
23
  "source": "./src/node/index.ts",
23
24
  "import": "./dist/index.js",
24
25
  "require": "./dist/index.cjs",
25
- "types": "./dist/index.d.ts"
26
+ "default": "./dist/index.js"
26
27
  }
27
28
  },
28
29
  "bin": {
@@ -35,7 +36,7 @@
35
36
  "dist"
36
37
  ],
37
38
  "scripts": {
38
- "build": "node -r esbuild-register scripts/build",
39
+ "build": "node -r esbuild-register scripts/build && node -r esbuild-register scripts/check",
39
40
  "check:package": "node -r esbuild-register scripts/check",
40
41
  "commit": "cz",
41
42
  "extract": "sanity-tsdoc etl --outDir etc/api/@sanity/pkg-utils --tsconfig tsconfig.dist.json",
@@ -44,7 +45,7 @@
44
45
  "prebuild": "rimraf dist",
45
46
  "prepublishOnly": "pnpm run build",
46
47
  "release": "semantic-release",
47
- "test": "node -r esbuild-register scripts/check && vitest run",
48
+ "test": "vitest run",
48
49
  "type-check": "tsc --build",
49
50
  "watch": "node -r esbuild-register scripts/watch"
50
51
  },
@@ -116,7 +117,7 @@
116
117
  }
117
118
  },
118
119
  "engines": {
119
- "node": ">=12.0.0"
120
+ "node": ">=14.0.0"
120
121
  },
121
122
  "lint-staged": {
122
123
  "*": [
@@ -17,10 +17,11 @@ export interface PkgExport {
17
17
  // node?: string
18
18
  // default?: string
19
19
  // }
20
+ types?: string
21
+ source: string
20
22
  import?: string
21
23
  require?: string
22
- source: string
23
- types?: string
24
+ default: string
24
25
  }
25
26
 
26
27
  /** @public */
@@ -19,6 +19,7 @@ const pkgSchema = z.object({
19
19
  exports: z.optional(
20
20
  z.record(
21
21
  z.object({
22
+ types: z.optional(z.string()),
22
23
  source: z.string(),
23
24
  browser: z.optional(
24
25
  z.object({
@@ -34,7 +35,7 @@ const pkgSchema = z.object({
34
35
  ),
35
36
  require: z.optional(z.string()),
36
37
  import: z.optional(z.string()),
37
- types: z.optional(z.string()),
38
+ default: z.string(),
38
39
  })
39
40
  )
40
41
  ),
@@ -9,14 +9,15 @@ export function _parseExports(options: {pkg: _PackageJSON}): (PkgExport & {_path
9
9
  const rootExport: PkgExport & {_path: string} = {
10
10
  _exported: true,
11
11
  _path: '.',
12
+ types: pkg.types,
13
+ source: pkg.source || 'index.js',
12
14
  browser: pkg.browser && {
13
15
  require: pkg.main && pkg.browser[pkg.main],
14
16
  import: pkg.module && pkg.browser[pkg.module],
15
17
  },
16
- source: pkg.source || 'index.js',
17
- require: pkg.main,
18
18
  import: pkg.module,
19
- types: pkg.types,
19
+ require: pkg.main,
20
+ default: pkg.module || pkg.main || './index.js',
20
21
  }
21
22
 
22
23
  const extraExports: (PkgExport & {_path: string})[] = []
@@ -12,13 +12,14 @@ export interface _PackageJSON {
12
12
  string,
13
13
  {
14
14
  source: string
15
+ types?: string
15
16
  browser?: {
16
17
  require?: string
17
18
  import?: string
18
19
  }
19
- require?: string
20
20
  import?: string
21
- types?: string
21
+ require?: string
22
+ default: string
22
23
  }
23
24
  >
24
25
  main?: string
@@ -51,7 +51,7 @@ export function _printPackageTree(ctx: _BuildContext): void {
51
51
  Object.entries(exports)
52
52
  .filter(([, entry]) => entry._exported)
53
53
  .map(([exportPath, entry]) => {
54
- const exp: Omit<PkgExport, '_exported'> = {source: entry.source}
54
+ const exp: Omit<PkgExport, '_exported'> = {source: entry.source, default: entry.default}
55
55
 
56
56
  if (entry.browser) {
57
57
  exp.browser = {}
@@ -64,6 +64,8 @@ export function _printPackageTree(ctx: _BuildContext): void {
64
64
  if (entry.require) exp.require = _fileInfo(entry.require)
65
65
  if (entry.types) exp.types = _fileInfo(entry.types)
66
66
 
67
+ exp.default = _fileInfo(entry.default)
68
+
67
69
  return [chalk.green(path.join(pkg.name, exportPath)), exp]
68
70
  })
69
71
  )
@@ -1 +0,0 @@
1
- {"version":3,"file":"__printPackageTree-3ff3ecd3.cjs","sources":["../src/node/_getFilesize.ts","../src/node/_printPackageTree.ts"],"sourcesContent":["import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function _getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport chalk from 'chalk'\nimport treeify from 'treeify'\nimport {PkgExport, _BuildContext} from './_core'\nimport {_getFilesize} from './_getFilesize'\n\nexport function _fileExists(file: string): boolean {\n try {\n fs.accessSync(file)\n\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction _getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = _fileExists(p)\n const size = exists ? _getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function _printPackageTree(ctx: _BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, any> = {}\n\n if (pkg.bin) {\n tree.bin = pkg.bin\n }\n\n function _fileInfo(file: string) {\n const info = _getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${file} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {source: entry.source}\n\n if (entry.browser) {\n exp.browser = {}\n\n if (entry.browser.import) exp.browser.import = _fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.import = _fileInfo(entry.browser.require)\n }\n\n if (entry.import) exp.import = _fileInfo(entry.import)\n if (entry.require) exp.require = _fileInfo(entry.require)\n if (entry.types) exp.types = _fileInfo(entry.types)\n\n return [chalk.green(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree, true, true))\n}\n"],"names":["statSync","prettyBytes","fs","path","chalk","treeify"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"__resolveBuildContext-bc09bff3.cjs","sources":["../src/node/_core/_defaults.ts","../src/node/_core/_isRecord.ts","../src/node/_core/config/_loadConfig.ts","../src/node/_core/config/_resolveConfigProperty.ts","../src/node/_core/pkg/_loadPkg.ts","../src/node/_core/pkg/_loadPkgWithReporting.ts","../src/node/_core/pkg/_parseExports.ts","../src/node/_core/ts/_loadTSConfig.ts","../src/node/_resolveBrowserslistVersions.ts","../src/node/_resolveBrowserTarget.ts","../src/node/_resolveNodeTarget.ts","../src/node/_resolveBuildContext.ts"],"sourcesContent":["/** @internal */\nexport const _DEFAULTS = {\n browserslist: [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n ],\n}\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 path from 'path'\nimport {register} from 'esbuild-register/dist/node'\nimport findConfig from 'find-config'\nimport pkgUp from 'pkg-up'\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 = _findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n try {\n const {unregister} = configFile.transform\n ? register({extensions: ['.js', '.ts']})\n : {unregister: () => undefined}\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile.path)\n\n unregister()\n\n return mod?.default || mod || undefined\n } catch (_) {\n return undefined\n }\n}\n\n// Looks for:\n// 1. package.config.ts\n// 2. package.config.cjs\n//\nfunction _findConfigFile(cwd: string): {path: string; transform: boolean} | null {\n const ts = findConfig('package.config.ts', {cwd})\n\n if (ts) return {path: ts, transform: true}\n\n const cjs = findConfig('package.config.cjs', {cwd})\n\n if (cjs) return {path: cjs, transform: false}\n\n return null\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 fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\nimport {z} from 'zod'\nimport {_PackageJSON} from './_types'\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['module'])),\n name: z.string(),\n version: 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.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.object({\n source: z.string(),\n browser: z.optional(\n z.object({\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n node: z.optional(\n z.object({\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n types: z.optional(z.string()),\n })\n )\n ),\n browserslist: z.optional(z.array(z.string())),\n})\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 return pkgSchema.parse(JSON.parse(buf.toString()))\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\nimport {ZodError} from 'zod'\nimport {_loadPkg} from './_loadPkg'\nimport {_PackageJSON} from './_types'\n\n/** @internal */\nexport async function _loadPkgWithReporting(options: {cwd: string}): Promise<_PackageJSON> {\n try {\n return await _loadPkg(options)\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n console.log(\n `${chalk.red('invalid type')} in ./package.json at ${chalk.magenta(\n `\\`${issue.path.join('')}\\``\n )} (expected ${issue.expected}, received ${issue.received})`\n )\n }\n }\n } else {\n console.error(err)\n }\n\n process.exit(1)\n }\n}\n","import {_isRecord} from '../_isRecord'\nimport {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\n\n/** @internal */\nexport function _parseExports(options: {pkg: _PackageJSON}): (PkgExport & {_path: string})[] {\n const {pkg} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n browser: pkg.browser && {\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n source: pkg.source || 'index.js',\n require: pkg.main,\n import: pkg.module,\n types: pkg.types,\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n if (pkg.exports) {\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (_isRecord(exportEntry)) {\n if (exportPath === '.') {\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 throw new Error('string entries are not supported')\n }\n }\n }\n\n return [rootExport, ...extraExports]\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function _loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n throw new Error(`could not find a valid '${tsconfigPath}'`)\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import browserslist from 'browserslist'\n\nexport interface _PackageTargetVersions {\n chrome: string[]\n ff: string[]\n edge: string[]\n iosSaf: string[]\n saf: string[]\n opera: string[]\n node: string[]\n}\n\nfunction _sortAsNumber(a: string, b: string) {\n const aVersion = Number(a)\n const bVersion = Number(b)\n\n return aVersion - bVersion\n}\n\nexport function _resolveBrowserslistVersions(query: string[]): _PackageTargetVersions {\n const result = browserslist(query)\n\n const entries = result.map((key) => {\n const [name, version] = key.split(' ')\n\n return {name, version: version.split('-')[0].split('.')[0]}\n })\n\n const andChr = entries.filter((b) => b.name === 'and_chr')\n const andFf = entries.filter((b) => b.name === 'and_ff')\n const chrome = entries.filter((b) => b.name === 'chrome')\n const edge = entries.filter((b) => b.name === 'edge')\n const ff = entries.filter((b) => b.name === 'firefox')\n const iosSaf = entries.filter((b) => b.name === 'ios_saf')\n const saf = entries.filter((b) => b.name === 'safari')\n const opera = entries.filter((b) => b.name === 'opera')\n const node = entries.filter((b) => b.name === 'node')\n\n // versions\n const versions: _PackageTargetVersions = {\n chrome: andChr.concat(chrome).map((b) => b.version),\n ff: andFf.concat(ff).map((b) => b.version),\n edge: edge.map((b) => b.version),\n iosSaf: iosSaf.map((b) => b.version),\n saf: saf.map((b) => b.version),\n opera: opera.map((b) => b.version),\n node: node.map((b) => b.version),\n }\n\n // sort\n versions.chrome.sort(_sortAsNumber)\n versions.ff.sort(_sortAsNumber)\n versions.edge.sort(_sortAsNumber)\n versions.iosSaf.sort(_sortAsNumber)\n versions.saf.sort(_sortAsNumber)\n versions.opera.sort(_sortAsNumber)\n versions.node.sort(_sortAsNumber)\n\n return versions\n}\n","import {_PackageTargetVersions} from './_resolveBrowserslistVersions'\n\nexport function _resolveBrowserTarget(versions: _PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.chrome.length) {\n target.push(`chrome${versions.chrome[0]}`)\n }\n\n if (versions.ff.length) {\n target.push(`firefox${versions.ff[0]}`)\n }\n\n if (versions.edge.length) {\n target.push(`edge${versions.edge[0]}`)\n }\n\n if (versions.iosSaf.length) {\n target.push(`ios${versions.iosSaf[0]}`)\n }\n\n if (versions.saf.length) {\n target.push(`safari${versions.saf[0]}`)\n }\n\n if (versions.opera.length) {\n target.push(`opera${versions.opera[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import {_PackageTargetVersions} from './_resolveBrowserslistVersions'\n\nexport function _resolveNodeTarget(versions: _PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.node.length) {\n target.push(`node${versions.node[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {\n PkgConfigOptions,\n PkgExports,\n PkgRuntime,\n _BuildContext,\n _DEFAULTS,\n // _loadConfig,\n // _loadPkgWithReporting,\n _loadTSConfig,\n _PackageJSON,\n _parseExports,\n _resolveConfigProperty,\n} from './_core'\nimport {_resolveBrowserslistVersions} from './_resolveBrowserslistVersions'\nimport {_resolveBrowserTarget} from './_resolveBrowserTarget'\nimport {_resolveNodeTarget} from './_resolveNodeTarget'\n\nexport async function _resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n pkg: _PackageJSON\n tsconfig: string\n}): Promise<_BuildContext> {\n const {config, cwd, pkg, tsconfig: tsconfigPath} = options\n\n const tsconfig = await _loadTSConfig({cwd, tsconfigPath})\n\n const targetVersions = _resolveBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist)\n\n const srcPath = path.resolve(cwd, config?.src || 'src')\n const distPath = path.resolve(cwd, config?.dist || 'dist')\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({pkg}).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 const external = _resolveConfigProperty(config?.external, parsedExternal)\n\n const ctx: _BuildContext = {\n config,\n cwd,\n dist: path.relative(cwd, distPath),\n exports,\n external,\n files: [],\n logger: {\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(' warn'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red(' fail'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green(' ok '), ...args)\n },\n /* eslint-enable no-console */\n },\n pkg,\n src: path.relative(cwd, srcPath),\n runtime: config?.runtime ?? '*',\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n"],"names":["pkgUp","path","register","findConfig","z","fs","ZodError","chalk","ts","browserslist"],"mappings":"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"}