@sanity/pkg-utils 7.2.10-canary.2 → 7.2.10-canary.4

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.
@@ -1,49 +1,18 @@
1
1
  "use strict";
2
- var path = require("node:path"), rollupPlugin = require("@optimize-lodash/rollup-plugin"), pluginBabel = require("@rollup/plugin-babel"), terser = require("@rollup/plugin-terser"), rolldownPluginDts = require("rolldown-plugin-dts"), esbuild = require("rollup-plugin-esbuild"), consoleSpy = require("./consoleSpy.cjs");
2
+ var path = require("node:path"), rolldownPluginDts = require("rolldown-plugin-dts"), consoleSpy = require("./consoleSpy.cjs");
3
3
  function _interopDefaultCompat(e) {
4
4
  return e && typeof e == "object" && "default" in e ? e : { default: e };
5
5
  }
6
- var path__default = /* @__PURE__ */ _interopDefaultCompat(path), terser__default = /* @__PURE__ */ _interopDefaultCompat(terser), esbuild__default = /* @__PURE__ */ _interopDefaultCompat(esbuild);
6
+ var path__default = /* @__PURE__ */ _interopDefaultCompat(path);
7
7
  function resolveRolldownConfig(ctx, buildTask) {
8
- const { format, runtime, target } = buildTask, { config, cwd, exports: _exports, external, distPath, logger, pkg, ts } = ctx, outputExt = consoleSpy.pkgExtMap[pkg.type || "commonjs"][format], minify = config?.minify ?? !1, outDir = path__default.default.relative(cwd, distPath), pathAliases = Object.fromEntries(
8
+ const { format, runtime, target } = buildTask, { config, cwd, exports: _exports, external, distPath, logger, pkg, ts } = ctx, outputExt = consoleSpy.pkgExtMap[pkg.type || "commonjs"][format], outDir = path__default.default.relative(cwd, distPath), pathAliases = Object.fromEntries(
9
9
  Object.entries(ts.config?.options.paths || {}).map(([key, val]) => [key, path__default.default.resolve(cwd, ts.config?.options.baseUrl || ".", val[0])])
10
10
  ), entries = buildTask.entries.map((entry) => ({
11
11
  ...entry,
12
12
  name: path__default.default.relative(outDir, entry.output).replace(/\.[^/.]+$/, "")
13
13
  }), {}), exportIds = _exports && Object.keys(_exports).map((exportPath) => path__default.default.join(pkg.name, exportPath)), sourcePaths = _exports && Object.values(_exports).map((e) => path__default.default.resolve(cwd, e.source)), replacements = Object.fromEntries(
14
14
  Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])
15
- ), { optimizeLodash: enableOptimizeLodash = hasDependency(pkg, "lodash") } = config?.rollup || {};
16
- [
17
- esbuild__default.default({
18
- target,
19
- tsconfig: ctx.ts.configPath || "tsconfig.json",
20
- treeShaking: !0,
21
- minifySyntax: config?.minify !== !1,
22
- supported: {
23
- "template-literal": !0
24
- }
25
- }),
26
- Array.isArray(config?.babel?.plugins) && pluginBabel.getBabelOutputPlugin({
27
- babelrc: !1,
28
- plugins: config.babel.plugins
29
- }),
30
- enableOptimizeLodash && rollupPlugin.optimizeLodashImports({
31
- useLodashEs: format === "esm" && hasDependency(pkg, "lodash-es") ? !0 : void 0,
32
- ...typeof config?.rollup?.optimizeLodash == "boolean" ? {} : config?.rollup?.optimizeLodash
33
- }),
34
- minify && terser__default.default({
35
- compress: { directives: !1, passes: 10 },
36
- ecma: 2020,
37
- output: {
38
- comments: (_node, comment) => {
39
- const text = comment.value;
40
- return comment.type === "comment2" ? /@preserve|@license|@cc_on/i.test(text) : !1;
41
- },
42
- preserve_annotations: !0
43
- }
44
- })
45
- ].filter(Boolean);
46
- const hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? !1, chunkFileNames = `${hashChunkFileNames ? "_chunks" : "_chunks-[format]"}/${hashChunkFileNames ? "[name]-[hash]" : "[name]"}${outputExt}`, entryFileNames = `[name]${outputExt}`, inputOptions = {
15
+ ), hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? !1, chunkFileNames = `${hashChunkFileNames ? "_chunks" : "_chunks-[format]"}/${hashChunkFileNames ? "[name]-[hash]" : "[name]"}${outputExt}`, entryFileNames = `[name]${outputExt}`, inputOptions = {
47
16
  cwd,
48
17
  jsx: {
49
18
  mode: config?.jsx === "automatic" ? "automatic" : config?.jsx === "preserve" ? "preserve" : config?.jsx === "transform" ? "classic" : "automatic",
@@ -92,7 +61,7 @@ function resolveRolldownConfig(ctx, buildTask) {
92
61
  rolldownPluginDts.dts({
93
62
  emitDtsOnly: !0,
94
63
  tsconfig: ctx.ts.configPath || "tsconfig.json",
95
- isolatedDeclarations: !0
64
+ tsgo: typeof pkg.devDependencies == "object" && "@typescript/native-preview" in pkg.devDependencies
96
65
  })
97
66
  ],
98
67
  treeshake: !0
@@ -107,8 +76,5 @@ function resolveRolldownConfig(ctx, buildTask) {
107
76
  };
108
77
  return { inputOptions, outputOptions };
109
78
  }
110
- function hasDependency(pkg, packageName) {
111
- return pkg.dependencies ? packageName in pkg.dependencies : pkg.peerDependencies ? packageName in pkg.peerDependencies : !1;
112
- }
113
79
  exports.resolveRolldownConfig = resolveRolldownConfig;
114
80
  //# sourceMappingURL=resolveRolldownConfig.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveRolldownConfig.cjs","sources":["../../src/node/tasks/rolldown/resolveRolldownConfig.ts"],"sourcesContent":["import path from 'node:path'\nimport {optimizeLodashImports} from '@optimize-lodash/rollup-plugin'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport terser from '@rollup/plugin-terser'\nimport type {InputOptions, OutputOptions, Plugin} from 'rolldown'\nimport {dts as dtsPlugin} from 'rolldown-plugin-dts'\nimport esbuild from 'rollup-plugin-esbuild'\nimport type {BuildContext} from '../../core/contexts/buildContext'\nimport {pkgExtMap as extMap} from '../../core/pkg/pkgExt'\nimport type {PackageJSON} from '../../core/pkg/types'\nimport type {RolldownDtsTask} from '../types'\n\nexport interface RolldownConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\nexport function resolveRolldownConfig(\n ctx: BuildContext,\n buildTask: RolldownDtsTask,\n): RolldownConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n }),\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)]),\n )\n\n const {optimizeLodash: enableOptimizeLodash = hasDependency(pkg, 'lodash')} = config?.rollup || {}\n\n // @ts-expect-error - TODO: fix this\n const _defaultPlugins = [\n esbuild({\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n treeShaking: true,\n minifySyntax: config?.minify !== false,\n supported: {\n 'template-literal': true,\n },\n }),\n Array.isArray(config?.babel?.plugins) &&\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config.babel.plugins,\n }),\n enableOptimizeLodash &&\n optimizeLodashImports({\n useLodashEs: format === 'esm' && hasDependency(pkg, 'lodash-es') ? true : undefined,\n ...(typeof config?.rollup?.optimizeLodash === 'boolean'\n ? {}\n : config?.rollup?.optimizeLodash),\n }),\n minify &&\n terser({\n compress: {directives: false, passes: 10},\n ecma: 2020,\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const cType = comment.type\n\n // Check if this is a multiline comment\n if (cType === 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n preserve_annotations: true,\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? false\n const chunksFolder = hashChunkFileNames ? '_chunks' : '_chunks-[format]'\n const chunkFileNames = `${chunksFolder}/${hashChunkFileNames ? '[name]-[hash]' : '[name]'}${outputExt}`\n const entryFileNames = `[name]${outputExt}`\n\n const inputOptions = {\n cwd,\n jsx: {\n mode:\n config?.jsx === 'automatic'\n ? 'automatic'\n : config?.jsx === 'preserve'\n ? 'preserve'\n : config?.jsx === 'transform'\n ? 'classic'\n : 'automatic',\n factory: config?.jsxFactory,\n fragment: config?.jsxFragment,\n importSource: config?.jsxImportSource,\n },\n define:\n pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env['PKG_VERSION'] || pkg.version),\n ...replacements,\n },\n\n platform:\n buildTask.type === 'rolldown:dts'\n ? 'node'\n : runtime === 'node'\n ? 'node'\n : runtime === 'browser'\n ? 'browser'\n : 'neutral',\n\n resolve: {\n alias: pathAliases,\n tsconfigFilename: ctx.ts.configPath || 'tsconfig.json',\n },\n transform: {\n target,\n },\n experimental: {\n attachDebugInfo: 'none',\n },\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath,\n )}`,\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>(\n (acc, entry) => Object.assign(acc, {[entry.name]: entry.source}),\n {},\n ),\n\n plugins: [\n dtsPlugin({\n emitDtsOnly: true,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n isolatedDeclarations: true,\n }),\n ],\n\n treeshake: true,\n } satisfies InputOptions\n const outputOptions = {\n chunkFileNames,\n dir: outDir,\n entryFileNames,\n esModule: true,\n format: buildTask.type === 'rolldown:dts' ? 'es' : format,\n sourcemap: buildTask.type === 'rolldown:dts' ? false : (config?.sourcemap ?? true),\n hoistTransitiveImports: false,\n } satisfies OutputOptions\n\n return {inputOptions, outputOptions}\n}\n\nfunction hasDependency(pkg: PackageJSON, packageName: string): boolean {\n return pkg.dependencies\n ? packageName in pkg.dependencies\n : pkg.peerDependencies\n ? packageName in pkg.peerDependencies\n : false\n}\n"],"names":["extMap","path","esbuild","getBabelOutputPlugin","optimizeLodashImports","terser","dtsPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"resolveRolldownConfig.cjs","sources":["../../src/node/tasks/rolldown/resolveRolldownConfig.ts"],"sourcesContent":["import path from 'node:path'\nimport type {InputOptions, OutputOptions} from 'rolldown'\nimport {dts as dtsPlugin} from 'rolldown-plugin-dts'\nimport type {BuildContext} from '../../core/contexts/buildContext'\nimport {pkgExtMap as extMap} from '../../core/pkg/pkgExt'\nimport type {RolldownDtsTask} from '../types'\n\nexport interface RolldownConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\nexport function resolveRolldownConfig(\n ctx: BuildContext,\n buildTask: RolldownDtsTask,\n): RolldownConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n }),\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)]),\n )\n\n const hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? false\n const chunksFolder = hashChunkFileNames ? '_chunks' : '_chunks-[format]'\n const chunkFileNames = `${chunksFolder}/${hashChunkFileNames ? '[name]-[hash]' : '[name]'}${outputExt}`\n const entryFileNames = `[name]${outputExt}`\n\n const inputOptions = {\n cwd,\n jsx: {\n mode:\n config?.jsx === 'automatic'\n ? 'automatic'\n : config?.jsx === 'preserve'\n ? 'preserve'\n : config?.jsx === 'transform'\n ? 'classic'\n : 'automatic',\n factory: config?.jsxFactory,\n fragment: config?.jsxFragment,\n importSource: config?.jsxImportSource,\n },\n define:\n pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env['PKG_VERSION'] || pkg.version),\n ...replacements,\n },\n\n platform:\n buildTask.type === 'rolldown:dts'\n ? 'node'\n : runtime === 'node'\n ? 'node'\n : runtime === 'browser'\n ? 'browser'\n : 'neutral',\n\n resolve: {\n alias: pathAliases,\n tsconfigFilename: ctx.ts.configPath || 'tsconfig.json',\n },\n transform: {\n target,\n },\n experimental: {\n attachDebugInfo: 'none',\n },\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath,\n )}`,\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>(\n (acc, entry) => Object.assign(acc, {[entry.name]: entry.source}),\n {},\n ),\n\n plugins: [\n dtsPlugin({\n emitDtsOnly: true,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n tsgo:\n typeof pkg.devDependencies === 'object' &&\n '@typescript/native-preview' in pkg.devDependencies,\n }),\n ],\n\n treeshake: true,\n } satisfies InputOptions\n const outputOptions = {\n chunkFileNames,\n dir: outDir,\n entryFileNames,\n esModule: true,\n format: buildTask.type === 'rolldown:dts' ? 'es' : format,\n sourcemap: buildTask.type === 'rolldown:dts' ? false : (config?.sourcemap ?? true),\n hoistTransitiveImports: false,\n } satisfies OutputOptions\n\n return {inputOptions, outputOptions}\n}\n"],"names":["extMap","path","dtsPlugin"],"mappings":"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"}
@@ -1,50 +1,15 @@
1
1
  import path from "node:path";
2
- import { optimizeLodashImports } from "@optimize-lodash/rollup-plugin";
3
- import { getBabelOutputPlugin } from "@rollup/plugin-babel";
4
- import terser from "@rollup/plugin-terser";
5
2
  import { dts } from "rolldown-plugin-dts";
6
- import esbuild from "rollup-plugin-esbuild";
7
3
  import { pkgExtMap } from "./index.js";
8
4
  function resolveRolldownConfig(ctx, buildTask) {
9
- const { format, runtime, target } = buildTask, { config, cwd, exports: _exports, external, distPath, logger, pkg, ts } = ctx, outputExt = pkgExtMap[pkg.type || "commonjs"][format], minify = config?.minify ?? !1, outDir = path.relative(cwd, distPath), pathAliases = Object.fromEntries(
5
+ const { format, runtime, target } = buildTask, { config, cwd, exports: _exports, external, distPath, logger, pkg, ts } = ctx, outputExt = pkgExtMap[pkg.type || "commonjs"][format], outDir = path.relative(cwd, distPath), pathAliases = Object.fromEntries(
10
6
  Object.entries(ts.config?.options.paths || {}).map(([key, val]) => [key, path.resolve(cwd, ts.config?.options.baseUrl || ".", val[0])])
11
7
  ), entries = buildTask.entries.map((entry) => ({
12
8
  ...entry,
13
9
  name: path.relative(outDir, entry.output).replace(/\.[^/.]+$/, "")
14
10
  }), {}), exportIds = _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath)), sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source)), replacements = Object.fromEntries(
15
11
  Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])
16
- ), { optimizeLodash: enableOptimizeLodash = hasDependency(pkg, "lodash") } = config?.rollup || {};
17
- [
18
- esbuild({
19
- target,
20
- tsconfig: ctx.ts.configPath || "tsconfig.json",
21
- treeShaking: !0,
22
- minifySyntax: config?.minify !== !1,
23
- supported: {
24
- "template-literal": !0
25
- }
26
- }),
27
- Array.isArray(config?.babel?.plugins) && getBabelOutputPlugin({
28
- babelrc: !1,
29
- plugins: config.babel.plugins
30
- }),
31
- enableOptimizeLodash && optimizeLodashImports({
32
- useLodashEs: format === "esm" && hasDependency(pkg, "lodash-es") ? !0 : void 0,
33
- ...typeof config?.rollup?.optimizeLodash == "boolean" ? {} : config?.rollup?.optimizeLodash
34
- }),
35
- minify && terser({
36
- compress: { directives: !1, passes: 10 },
37
- ecma: 2020,
38
- output: {
39
- comments: (_node, comment) => {
40
- const text = comment.value;
41
- return comment.type === "comment2" ? /@preserve|@license|@cc_on/i.test(text) : !1;
42
- },
43
- preserve_annotations: !0
44
- }
45
- })
46
- ].filter(Boolean);
47
- const hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? !1, chunkFileNames = `${hashChunkFileNames ? "_chunks" : "_chunks-[format]"}/${hashChunkFileNames ? "[name]-[hash]" : "[name]"}${outputExt}`, entryFileNames = `[name]${outputExt}`, inputOptions = {
12
+ ), hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? !1, chunkFileNames = `${hashChunkFileNames ? "_chunks" : "_chunks-[format]"}/${hashChunkFileNames ? "[name]-[hash]" : "[name]"}${outputExt}`, entryFileNames = `[name]${outputExt}`, inputOptions = {
48
13
  cwd,
49
14
  jsx: {
50
15
  mode: config?.jsx === "automatic" ? "automatic" : config?.jsx === "preserve" ? "preserve" : config?.jsx === "transform" ? "classic" : "automatic",
@@ -93,7 +58,7 @@ function resolveRolldownConfig(ctx, buildTask) {
93
58
  dts({
94
59
  emitDtsOnly: !0,
95
60
  tsconfig: ctx.ts.configPath || "tsconfig.json",
96
- isolatedDeclarations: !0
61
+ tsgo: typeof pkg.devDependencies == "object" && "@typescript/native-preview" in pkg.devDependencies
97
62
  })
98
63
  ],
99
64
  treeshake: !0
@@ -108,9 +73,6 @@ function resolveRolldownConfig(ctx, buildTask) {
108
73
  };
109
74
  return { inputOptions, outputOptions };
110
75
  }
111
- function hasDependency(pkg, packageName) {
112
- return pkg.dependencies ? packageName in pkg.dependencies : pkg.peerDependencies ? packageName in pkg.peerDependencies : !1;
113
- }
114
76
  export {
115
77
  resolveRolldownConfig
116
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resolveRolldownConfig.js","sources":["../../src/node/tasks/rolldown/resolveRolldownConfig.ts"],"sourcesContent":["import path from 'node:path'\nimport {optimizeLodashImports} from '@optimize-lodash/rollup-plugin'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport terser from '@rollup/plugin-terser'\nimport type {InputOptions, OutputOptions, Plugin} from 'rolldown'\nimport {dts as dtsPlugin} from 'rolldown-plugin-dts'\nimport esbuild from 'rollup-plugin-esbuild'\nimport type {BuildContext} from '../../core/contexts/buildContext'\nimport {pkgExtMap as extMap} from '../../core/pkg/pkgExt'\nimport type {PackageJSON} from '../../core/pkg/types'\nimport type {RolldownDtsTask} from '../types'\n\nexport interface RolldownConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\nexport function resolveRolldownConfig(\n ctx: BuildContext,\n buildTask: RolldownDtsTask,\n): RolldownConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n }),\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)]),\n )\n\n const {optimizeLodash: enableOptimizeLodash = hasDependency(pkg, 'lodash')} = config?.rollup || {}\n\n // @ts-expect-error - TODO: fix this\n const _defaultPlugins = [\n esbuild({\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n treeShaking: true,\n minifySyntax: config?.minify !== false,\n supported: {\n 'template-literal': true,\n },\n }),\n Array.isArray(config?.babel?.plugins) &&\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config.babel.plugins,\n }),\n enableOptimizeLodash &&\n optimizeLodashImports({\n useLodashEs: format === 'esm' && hasDependency(pkg, 'lodash-es') ? true : undefined,\n ...(typeof config?.rollup?.optimizeLodash === 'boolean'\n ? {}\n : config?.rollup?.optimizeLodash),\n }),\n minify &&\n terser({\n compress: {directives: false, passes: 10},\n ecma: 2020,\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const cType = comment.type\n\n // Check if this is a multiline comment\n if (cType === 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n preserve_annotations: true,\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? false\n const chunksFolder = hashChunkFileNames ? '_chunks' : '_chunks-[format]'\n const chunkFileNames = `${chunksFolder}/${hashChunkFileNames ? '[name]-[hash]' : '[name]'}${outputExt}`\n const entryFileNames = `[name]${outputExt}`\n\n const inputOptions = {\n cwd,\n jsx: {\n mode:\n config?.jsx === 'automatic'\n ? 'automatic'\n : config?.jsx === 'preserve'\n ? 'preserve'\n : config?.jsx === 'transform'\n ? 'classic'\n : 'automatic',\n factory: config?.jsxFactory,\n fragment: config?.jsxFragment,\n importSource: config?.jsxImportSource,\n },\n define:\n pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env['PKG_VERSION'] || pkg.version),\n ...replacements,\n },\n\n platform:\n buildTask.type === 'rolldown:dts'\n ? 'node'\n : runtime === 'node'\n ? 'node'\n : runtime === 'browser'\n ? 'browser'\n : 'neutral',\n\n resolve: {\n alias: pathAliases,\n tsconfigFilename: ctx.ts.configPath || 'tsconfig.json',\n },\n transform: {\n target,\n },\n experimental: {\n attachDebugInfo: 'none',\n },\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath,\n )}`,\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>(\n (acc, entry) => Object.assign(acc, {[entry.name]: entry.source}),\n {},\n ),\n\n plugins: [\n dtsPlugin({\n emitDtsOnly: true,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n isolatedDeclarations: true,\n }),\n ],\n\n treeshake: true,\n } satisfies InputOptions\n const outputOptions = {\n chunkFileNames,\n dir: outDir,\n entryFileNames,\n esModule: true,\n format: buildTask.type === 'rolldown:dts' ? 'es' : format,\n sourcemap: buildTask.type === 'rolldown:dts' ? false : (config?.sourcemap ?? true),\n hoistTransitiveImports: false,\n } satisfies OutputOptions\n\n return {inputOptions, outputOptions}\n}\n\nfunction hasDependency(pkg: PackageJSON, packageName: string): boolean {\n return pkg.dependencies\n ? packageName in pkg.dependencies\n : pkg.peerDependencies\n ? packageName in pkg.peerDependencies\n : false\n}\n"],"names":["extMap","dtsPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"resolveRolldownConfig.js","sources":["../../src/node/tasks/rolldown/resolveRolldownConfig.ts"],"sourcesContent":["import path from 'node:path'\nimport type {InputOptions, OutputOptions} from 'rolldown'\nimport {dts as dtsPlugin} from 'rolldown-plugin-dts'\nimport type {BuildContext} from '../../core/contexts/buildContext'\nimport {pkgExtMap as extMap} from '../../core/pkg/pkgExt'\nimport type {RolldownDtsTask} from '../types'\n\nexport interface RolldownConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\nexport function resolveRolldownConfig(\n ctx: BuildContext,\n buildTask: RolldownDtsTask,\n): RolldownConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n }),\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)]),\n )\n\n const hashChunkFileNames = config?.rollup?.hashChunkFileNames ?? false\n const chunksFolder = hashChunkFileNames ? '_chunks' : '_chunks-[format]'\n const chunkFileNames = `${chunksFolder}/${hashChunkFileNames ? '[name]-[hash]' : '[name]'}${outputExt}`\n const entryFileNames = `[name]${outputExt}`\n\n const inputOptions = {\n cwd,\n jsx: {\n mode:\n config?.jsx === 'automatic'\n ? 'automatic'\n : config?.jsx === 'preserve'\n ? 'preserve'\n : config?.jsx === 'transform'\n ? 'classic'\n : 'automatic',\n factory: config?.jsxFactory,\n fragment: config?.jsxFragment,\n importSource: config?.jsxImportSource,\n },\n define:\n pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env['PKG_VERSION'] || pkg.version),\n ...replacements,\n },\n\n platform:\n buildTask.type === 'rolldown:dts'\n ? 'node'\n : runtime === 'node'\n ? 'node'\n : runtime === 'browser'\n ? 'browser'\n : 'neutral',\n\n resolve: {\n alias: pathAliases,\n tsconfigFilename: ctx.ts.configPath || 'tsconfig.json',\n },\n transform: {\n target,\n },\n experimental: {\n attachDebugInfo: 'none',\n },\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath,\n )}`,\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>(\n (acc, entry) => Object.assign(acc, {[entry.name]: entry.source}),\n {},\n ),\n\n plugins: [\n dtsPlugin({\n emitDtsOnly: true,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n tsgo:\n typeof pkg.devDependencies === 'object' &&\n '@typescript/native-preview' in pkg.devDependencies,\n }),\n ],\n\n treeshake: true,\n } satisfies InputOptions\n const outputOptions = {\n chunkFileNames,\n dir: outDir,\n entryFileNames,\n esModule: true,\n format: buildTask.type === 'rolldown:dts' ? 'es' : format,\n sourcemap: buildTask.type === 'rolldown:dts' ? false : (config?.sourcemap ?? true),\n hoistTransitiveImports: false,\n } satisfies OutputOptions\n\n return {inputOptions, outputOptions}\n}\n"],"names":["extMap","dtsPlugin"],"mappings":"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"}
package/dist/cli.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- var cac = require("cac"), version = "7.2.10-canary.2";
2
+ var cac = require("cac"), version = "7.2.10-canary.4";
3
3
  const cli = cac.cac();
4
4
  cli.command("", "Check").alias("check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async (options) => {
5
5
  const { checkAction } = await Promise.resolve().then(function() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/pkg-utils",
3
- "version": "7.2.10-canary.2",
3
+ "version": "7.2.10-canary.4",
4
4
  "description": "Simple utilities for modern npm packages.",
5
5
  "keywords": [
6
6
  "sanity-io",
@@ -140,7 +140,7 @@
140
140
  "tsx": "^4.20.3",
141
141
  "typescript": "5.8.3",
142
142
  "vitest": "^3.2.4",
143
- "@sanity/pkg-utils": "7.2.10-canary.2"
143
+ "@sanity/pkg-utils": "7.2.10-canary.4"
144
144
  },
145
145
  "peerDependencies": {
146
146
  "babel-plugin-react-compiler": "*",