@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.
- package/dist/{_build-0377061e.cjs → _build-be4da439.cjs} +10 -3
- package/dist/_build-be4da439.cjs.map +1 -0
- package/dist/{_buildAction-68633427.cjs → _buildAction-db8d7aa0.cjs} +3 -3
- package/dist/{_buildAction-68633427.cjs.map → _buildAction-db8d7aa0.cjs.map} +1 -1
- package/dist/{_index-8cd98d8d.cjs → _index-066890ec.cjs} +14 -2
- package/dist/_index-066890ec.cjs.map +1 -0
- package/dist/{_watch-259b1e4f.cjs → _watch-feff6936.cjs} +10 -3
- package/dist/_watch-feff6936.cjs.map +1 -0
- package/dist/{_watchAction-a48d3934.cjs → _watchAction-453b8884.cjs} +3 -3
- package/dist/{_watchAction-a48d3934.cjs.map → _watchAction-453b8884.cjs.map} +1 -1
- package/dist/cli.cjs +3 -3
- package/dist/index.cjs +28 -27
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/types/src/node/index.d.ts +9 -0
- package/package.json +1 -1
- package/src/node/_core/_constants.ts +13 -0
- package/src/node/_core/index.ts +1 -0
- package/src/node/_resolveBuildTasks.ts +3 -2
- package/src/node/_resolveWatchTasks.ts +3 -2
- package/src/node/_tasks/rollup/_resolveRollupConfig.ts +3 -2
- package/dist/_build-0377061e.cjs.map +0 -1
- package/dist/_index-8cd98d8d.cjs.map +0 -1
- package/dist/_watch-259b1e4f.cjs.map +0 -1
|
@@ -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
|
@@ -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
|
+
}
|
package/src/node/_core/index.ts
CHANGED
|
@@ -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
|
|
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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"}
|