@sanity/pkg-utils 1.8.1 → 1.8.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.
@@ -120,6 +120,15 @@ export declare function _loadTSConfig(options: {
120
120
  tsconfigPath: string
121
121
  }): Promise<ts.ParsedCommandLine>
122
122
 
123
+ /** @internal */
124
+ export declare const _MODULE_EXT: Record<
125
+ 'commonjs' | 'module',
126
+ {
127
+ commonjs: string
128
+ esm: string
129
+ }
130
+ >
131
+
123
132
  /** @internal */
124
133
  export declare interface _PackageJSON {
125
134
  type: 'commonjs' | 'module'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@sanity/pkg-utils",
4
- "version": "1.8.1",
4
+ "version": "1.8.2",
5
5
  "author": "Sanity.io <hello@sanity.io>",
6
6
  "license": "MIT",
7
7
  "description": "Simple utilities for modern npm packages.",
@@ -0,0 +1,13 @@
1
+ /** @internal */
2
+ export const _MODULE_EXT: Record<'commonjs' | 'module', {commonjs: string; esm: string}> = {
3
+ // "type": "commonjs"
4
+ commonjs: {
5
+ commonjs: '.js',
6
+ esm: '.mjs',
7
+ },
8
+ // "type": "module"
9
+ module: {
10
+ commonjs: '.cjs',
11
+ esm: '.js',
12
+ },
13
+ }
@@ -1,3 +1,4 @@
1
+ export * from './_constants'
1
2
  export * from './_defaults'
2
3
  export * from './_isRecord'
3
4
  export * from './config'
@@ -1,6 +1,6 @@
1
1
  import fs from 'fs'
2
2
  import path from 'path'
3
- import {PkgExport, PkgFormat, PkgRuntime, _BuildContext} from './_core'
3
+ import {PkgExport, PkgFormat, PkgRuntime, _BuildContext, _MODULE_EXT} from './_core'
4
4
  import {_BuildTask, _DtsTask, _RollupTask, _RollupTaskEntry} from './_tasks'
5
5
 
6
6
  /** @internal */
@@ -113,6 +113,7 @@ export function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {
113
113
  for (const exp of exports) {
114
114
  if (exp._exported && exp._path !== '.') {
115
115
  const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(/\.[^/.]+$/, '')
116
+ const ext = _MODULE_EXT[pkg.type].esm
116
117
 
117
118
  if (relativeTargetPath) {
118
119
  fs.writeFileSync(
@@ -121,7 +122,7 @@ export function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {
121
122
  `// AUTO-GENERATED – DO NOT EDIT`,
122
123
  ``,
123
124
  // `export {default} from '${relativeTargetPath}'`,
124
- `export * from '${relativeTargetPath}'`,
125
+ `export * from '${relativeTargetPath}${pkg.type === 'commonjs' ? ext : ''}'`,
125
126
  ``,
126
127
  ].join('\n')
127
128
  )
@@ -1,6 +1,6 @@
1
1
  import fs from 'fs'
2
2
  import path from 'path'
3
- import {PkgExport, PkgFormat, PkgRuntime, _BuildContext} from './_core'
3
+ import {PkgExport, PkgFormat, PkgRuntime, _BuildContext, _MODULE_EXT} from './_core'
4
4
  import {_WatchTask, _DtsWatchTask, _RollupWatchTask, _RollupTaskEntry} from './_tasks'
5
5
 
6
6
  /** @internal */
@@ -112,6 +112,7 @@ export function _resolveWatchTasks(ctx: _BuildContext): _WatchTask[] {
112
112
  for (const exp of exports) {
113
113
  if (exp._exported && exp._path !== '.') {
114
114
  const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(/\.[^/.]+$/, '')
115
+ const ext = _MODULE_EXT[pkg.type].esm
115
116
 
116
117
  if (relativeTargetPath) {
117
118
  fs.writeFileSync(
@@ -120,7 +121,7 @@ export function _resolveWatchTasks(ctx: _BuildContext): _WatchTask[] {
120
121
  `// AUTO-GENERATED – DO NOT EDIT`,
121
122
  ``,
122
123
  // `export {default} from '${relativeTargetPath}'`,
123
- `export * from '${relativeTargetPath}'`,
124
+ `export * from '${relativeTargetPath}${pkg.type === 'commonjs' ? ext : ''}'`,
124
125
  ``,
125
126
  ].join('\n')
126
127
  )
@@ -8,7 +8,7 @@ import replace from '@rollup/plugin-replace'
8
8
  import {InputOptions, OutputOptions} from 'rollup'
9
9
  import esbuild from 'rollup-plugin-esbuild'
10
10
  import {terser} from 'rollup-plugin-terser'
11
- import {_BuildContext, _DEFAULTS} from '../../_core'
11
+ import {_BuildContext, _DEFAULTS, _MODULE_EXT} from '../../_core'
12
12
  import {_RollupTask, _RollupWatchTask} from '../_types'
13
13
 
14
14
  export interface _RollupConfig {
@@ -23,7 +23,8 @@ export function _resolveRollupConfig(
23
23
  ): _RollupConfig {
24
24
  const {format, runtime, target} = buildTask
25
25
  const {config, cwd, exports: _exports, external, dist: outDir, logger, pkg, ts} = ctx
26
- const outputExt = format === 'commonjs' ? '.cjs' : '.js'
26
+ const outputExt = _MODULE_EXT[pkg.type][format]
27
+
27
28
  const minify = config?.minify ?? true
28
29
 
29
30
  const pathAliases = Object.fromEntries(
@@ -1 +0,0 @@
1
- {"version":3,"file":"_build-0377061e.cjs","sources":["../src/node/_resolveBuildTasks.ts","../src/node/_spinner.ts","../src/node/build.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, _BuildContext} from './_core'\nimport {_BuildTask, _DtsTask, _RollupTask, _RollupTaskEntry} from './_tasks'\n\n/** @internal */\nexport function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {\n const {cwd, pkg, target} = ctx\n\n const tasks: _BuildTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: _DtsTask = {\n type: 'build:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, _RollupTask> = {}\n\n function _addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: _RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'build:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n _addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n _addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n _addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n _addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(/\\.[^/.]+$/, '')\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [\n `// AUTO-GENERATED – DO NOT EDIT`,\n ``,\n // `export {default} from '${relativeTargetPath}'`,\n `export * from '${relativeTargetPath}'`,\n ``,\n ].join('\\n')\n )\n }\n }\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function _spinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(`${chalk.yellow('run ')} ${msg}`)\n\n return {\n complete: () => {\n console.log(`${chalk.green('ok ')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`failed`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {_loadConfig, _loadPkgWithReporting} from './_core'\nimport {_resolveBuildContext} from './_resolveBuildContext'\nimport {_resolveBuildTasks} from './_resolveBuildTasks'\nimport {_spinner} from './_spinner'\nimport {_BuildTask, _TaskHandler, _buildTaskHandlers} from './_tasks'\n\n/** @public */\nexport async function build(options: {cwd: string; tsconfig?: string}): Promise<void> {\n const {cwd, tsconfig = 'tsconfig.json'} = options\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n\n const ctx = await _resolveBuildContext({config, cwd, pkg, tsconfig})\n\n const buildTasks = _resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = _buildTaskHandlers[task.type] as _TaskHandler<_BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = _spinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n"],"names":["_resolveBuildTasks","ctx","_a","_b","_c","_d","_e","cwd","pkg","target","tasks","exports","Object","entries","map","_path","exp","dtsTask","type","rollupTasks","_addRollupTaskEntry","format","runtime","entry","buildId","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","browser","import","length","values","_exported","relativeTargetPath","replace","fs","writeFileSync","resolve","_spinner","msg","startTime","Date","now","console","log","chalk","yellow","complete","green","gray","error","red","build","options","tsconfig","_loadPkgWithReporting","config","_loadConfig","_resolveBuildContext","buildTasks","task","handler","_buildTaskHandlers","taskName","spinner","result","exec","toPromise","logger","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}