@xylabs/ts-scripts-yarn3 3.9.1 → 3.10.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/actions/package/compile/XyConfig.js.map +1 -1
- package/dist/actions/package/compile/packageCompileTsup.js +50 -0
- package/dist/actions/package/compile/packageCompileTsup.js.map +1 -1
- package/dist/actions/package/compile/packageCompileTsup.mjs +50 -0
- package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/package.json +13 -13
- package/src/actions/package/compile/XyConfig.ts +1 -0
- package/src/actions/package/compile/packageCompileTsup.ts +56 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/actions/package/compile/XyConfig.ts"],"sourcesContent":["import { Options } from 'tsup'\n\nexport type EntryMode = 'all' | 'single' | 'auto' | 'platform'\n\nexport type CompileMode = 'tsup' | 'tsc'\n\nexport interface LiveShareConfig {\n exclude?: string[]\n include?: string[]\n}\n\nexport interface CompileConfig {\n depth?: number\n /** @param entryMode all, single, platform, or auto */\n entryMode?: EntryMode\n /** @param files Manually specify the files to be compiled */\n files?: string[]\n mode?: CompileMode\n}\n\nexport type PackageCompileTsupConfig = CompileConfig & {\n browser?: Record<string, Options | boolean>\n mode?: 'tsup'\n node?: Record<string, Options | boolean>\n tsup?: {\n options?: Options\n }\n}\n\nexport type PackageCompileTscConfig = CompileConfig & {\n mode: 'tsc'\n}\n\nexport interface XyConfigBase {\n compile?: CompileConfig\n liveShare?: LiveShareConfig\n publint?: boolean\n verbose?: boolean\n}\n\nexport interface XyTsupConfig extends XyConfigBase {\n compile?: PackageCompileTsupConfig\n}\n\nexport interface XyTscConfig extends XyConfigBase {\n compile?: PackageCompileTscConfig\n}\n\nexport type XyConfig = XyTsupConfig | XyTscConfig\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/actions/package/compile/XyConfig.ts"],"sourcesContent":["import { Options } from 'tsup'\n\nexport type EntryMode = 'all' | 'single' | 'auto' | 'platform'\n\nexport type CompileMode = 'tsup' | 'tsc'\n\nexport interface LiveShareConfig {\n exclude?: string[]\n include?: string[]\n}\n\nexport interface CompileConfig {\n depth?: number\n /** @param entryMode all, single, platform, or auto */\n entryMode?: EntryMode\n /** @param files Manually specify the files to be compiled */\n files?: string[]\n mode?: CompileMode\n}\n\nexport type PackageCompileTsupConfig = CompileConfig & {\n browser?: Record<string, Options | boolean>\n mode?: 'tsup'\n neutral?: Record<string, Options | boolean>\n node?: Record<string, Options | boolean>\n tsup?: {\n options?: Options\n }\n}\n\nexport type PackageCompileTscConfig = CompileConfig & {\n mode: 'tsc'\n}\n\nexport interface XyConfigBase {\n compile?: CompileConfig\n liveShare?: LiveShareConfig\n publint?: boolean\n verbose?: boolean\n}\n\nexport interface XyTsupConfig extends XyConfigBase {\n compile?: PackageCompileTsupConfig\n}\n\nexport interface XyTscConfig extends XyConfigBase {\n compile?: PackageCompileTscConfig\n}\n\nexport type XyConfig = XyTsupConfig | XyTscConfig\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -63,6 +63,7 @@ const packageCompileTsup = async (config) => {
|
|
|
63
63
|
}
|
|
64
64
|
const compileForNode = (compile == null ? void 0 : compile.node) ?? { src: {} };
|
|
65
65
|
const compileForBrowser = (compile == null ? void 0 : compile.browser) ?? { src: {} };
|
|
66
|
+
const compileForNeutral = (compile == null ? void 0 : compile.neutral) ?? { src: {} };
|
|
66
67
|
return await (0, import_packageCompileTsc.packageCompileTsc)(true, { publint: false, verbose }) || (await Promise.all(
|
|
67
68
|
Object.entries(compileForNode).map(async ([folder, options]) => {
|
|
68
69
|
var _a, _b, _c;
|
|
@@ -137,6 +138,55 @@ const packageCompileTsup = async (config) => {
|
|
|
137
138
|
)
|
|
138
139
|
])).reduce((prev, value) => prev + value, 0) : 0;
|
|
139
140
|
})
|
|
141
|
+
)).reduce((prev, value) => prev + value, 0) || (await Promise.all(
|
|
142
|
+
Object.entries(compileForNeutral).map(async ([folder, options]) => {
|
|
143
|
+
var _a, _b, _c, _d;
|
|
144
|
+
const inEsBuildOptions = typeof ((_a = compile == null ? void 0 : compile.neutral) == null ? void 0 : _a.esbuildOptions) === "object" ? (_b = compile == null ? void 0 : compile.neutral) == null ? void 0 : _b.esbuildOptions : {};
|
|
145
|
+
return folder ? (await Promise.all([
|
|
146
|
+
compileFolder(
|
|
147
|
+
folder,
|
|
148
|
+
compile == null ? void 0 : compile.entryMode,
|
|
149
|
+
{
|
|
150
|
+
bundle: true,
|
|
151
|
+
format: ["cjs"],
|
|
152
|
+
loader: (0, import_lodash.merge)(
|
|
153
|
+
{},
|
|
154
|
+
{ ".gif": "copy", ".html": "copy", ".jpg": "copy", ".json": "json", ".png": "copy", ".svg": "copy", ".webp": "copy" },
|
|
155
|
+
inEsBuildOptions == null ? void 0 : inEsBuildOptions.loader
|
|
156
|
+
),
|
|
157
|
+
outDir: "dist/neutral",
|
|
158
|
+
outExtension: ({ format }) => format === "esm" ? { js: ".js" } : { js: ".cjs" },
|
|
159
|
+
platform: "neutral",
|
|
160
|
+
skipNodeModulesBundle: true,
|
|
161
|
+
target: "esnext",
|
|
162
|
+
...(_c = compile == null ? void 0 : compile.tsup) == null ? void 0 : _c.options,
|
|
163
|
+
...typeof options === "object" ? options : {}
|
|
164
|
+
},
|
|
165
|
+
verbose
|
|
166
|
+
),
|
|
167
|
+
compileFolder(
|
|
168
|
+
folder,
|
|
169
|
+
compile == null ? void 0 : compile.entryMode,
|
|
170
|
+
{
|
|
171
|
+
bundle: true,
|
|
172
|
+
format: ["esm"],
|
|
173
|
+
loader: (0, import_lodash.merge)(
|
|
174
|
+
{},
|
|
175
|
+
{ ".gif": "copy", ".html": "copy", ".jpg": "copy", ".json": "json", ".png": "copy", ".svg": "copy", ".webp": "copy" },
|
|
176
|
+
inEsBuildOptions == null ? void 0 : inEsBuildOptions.loader
|
|
177
|
+
),
|
|
178
|
+
outDir: "dist/neutral",
|
|
179
|
+
outExtension: ({ format }) => format === "esm" ? { js: ".js" } : { js: ".cjs" },
|
|
180
|
+
platform: "neutral",
|
|
181
|
+
skipNodeModulesBundle: true,
|
|
182
|
+
target: "esnext",
|
|
183
|
+
...(_d = compile == null ? void 0 : compile.tsup) == null ? void 0 : _d.options,
|
|
184
|
+
...typeof options === "object" ? options : {}
|
|
185
|
+
},
|
|
186
|
+
verbose
|
|
187
|
+
)
|
|
188
|
+
])).reduce((prev, value) => prev + value, 0) : 0;
|
|
189
|
+
})
|
|
140
190
|
)).reduce((prev, value) => prev + value, 0) || (publint ? await (0, import_publint.packagePublint)() : 0);
|
|
141
191
|
};
|
|
142
192
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/actions/package/compile/packageCompileTsup.ts"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { merge } from 'lodash'\nimport { build, defineConfig, Options } from 'tsup'\n\nimport { packagePublint } from '../publint'\nimport { buildEntries } from './buildEntries'\nimport { packageCompileTsc } from './packageCompileTsc'\nimport { packageCompileTscTypes } from './packageCompileTscTypes'\nimport { EntryMode, XyTsupConfig } from './XyConfig'\n\nconst compileFolder = async (folder: string, entryMode: EntryMode = 'single', options?: Options, verbose?: boolean) => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: false,\n entry,\n format: ['cjs', 'esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n await Promise.all(optionsList.map((options) => build(options)))\n await packageCompileTscTypes(folder, { verbose }, { outDir })\n\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n\n return (\n (await packageCompileTsc(true, { publint: false, verbose })) ||\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder ?\n await compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs', 'esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/node',\n platform: 'node',\n skipNodeModulesBundle: true,\n target: 'node16',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (publint ? await packagePublint() : 0)\n )\n}\n"],"mappings":"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","names":["options"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/actions/package/compile/packageCompileTsup.ts"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { merge } from 'lodash'\nimport { build, defineConfig, Options } from 'tsup'\n\nimport { packagePublint } from '../publint'\nimport { buildEntries } from './buildEntries'\nimport { packageCompileTsc } from './packageCompileTsc'\nimport { packageCompileTscTypes } from './packageCompileTscTypes'\nimport { EntryMode, XyTsupConfig } from './XyConfig'\n\nconst compileFolder = async (folder: string, entryMode: EntryMode = 'single', options?: Options, verbose?: boolean) => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: false,\n entry,\n format: ['cjs', 'esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n await Promise.all(optionsList.map((options) => build(options)))\n await packageCompileTscTypes(folder, { verbose }, { outDir })\n\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n return (\n (await packageCompileTsc(true, { publint: false, verbose })) ||\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder ?\n await compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs', 'esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/node',\n platform: 'node',\n skipNodeModulesBundle: true,\n target: 'node16',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForNeutral).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (publint ? await packagePublint() : 0)\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAsB;AACtB,kBAA6C;AAE7C,qBAA+B;AAC/B,0BAA6B;AAC7B,+BAAkC;AAClC,oCAAuC;AAGvC,MAAM,gBAAgB,OAAO,QAAgB,YAAuB,UAAU,SAAmB,YAAsB;AACrH,QAAM,UAAS,mCAAS,WAAU;AAClC,QAAM,YAAQ,kCAAa,QAAQ,SAAS;AAC5C,QAAM,oBAAgB,0BAAa;AAAA,IACjC,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,KAAK;AAAA,IACL;AAAA,IACA,QAAQ,CAAC,OAAO,KAAK;AAAA,IACrB;AAAA,IACA,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,WAAW;AAAA,IACX,UAAU;AAAA,IACV,GAAG;AAAA,EACL,CAAC;AACD,QAAM,eACJ,MAAM,QAAQ;AAAA,KACX,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa,GAAG,QAA4B,OAAOA,aAAY;AAC9G,YAAM,SAAS,OAAOA,aAAY,aAAa,MAAMA,SAAQ,CAAC,CAAC,IAAI,CAACA,QAAO;AAC3E,aAAO,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AAAA,IACjD,CAAC;AAAA,EACH,GACA,KAAK;AAEP,QAAM,QAAQ,IAAI,YAAY,IAAI,CAACA,iBAAY,mBAAMA,QAAO,CAAC,CAAC;AAC9D,YAAM,sDAAuB,QAAQ,EAAE,QAAQ,GAAG,EAAE,OAAO,CAAC;AAE5D,SAAO;AACT;AAEO,MAAM,qBAAqB,OAAO,WAA0B;AACjE,QAAM,UAAU,iCAAQ;AACxB,QAAM,WAAU,iCAAQ,YAAW;AACnC,QAAM,WAAU,iCAAQ,YAAW;AACnC,MAAI,SAAS;AACX,YAAQ,IAAI,+BAA+B,mCAAS,KAAK,GAAG;AAAA,EAC9D;AAEA,QAAM,kBAAiB,mCAAS,SAAQ,EAAE,KAAK,CAAC,EAAE;AAClD,QAAM,qBAAoB,mCAAS,YAAW,EAAE,KAAK,CAAC,EAAE;AACxD,QAAM,qBAAoB,mCAAS,YAAW,EAAE,KAAK,CAAC,EAAE;AAExD,SACG,UAAM,4CAAkB,MAAM,EAAE,SAAS,OAAO,QAAQ,CAAC,MAExD,MAAM,QAAQ;AAAA,IACZ,OAAO,QAAQ,cAAc,EAAE,IAAI,OAAO,CAAC,QAAQ,OAAO,MAAM;AA1DxE;AA2DU,YAAM,mBAAmB,SAAO,wCAAS,SAAT,mBAAe,oBAAmB,YAAW,wCAAS,SAAT,mBAAe,iBAAiB,CAAC;AAC9G,aAAO,SACH,MAAM;AAAA,QACJ;AAAA,QACA,mCAAS;AAAA,QACT;AAAA,UACE,QAAQ;AAAA,UACR,QAAQ,CAAC,OAAO,KAAK;AAAA,UACrB,YAAQ;AAAA,YACN,CAAC;AAAA,YACD,EAAE,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,OAAO;AAAA,YACpH,qDAAkB;AAAA,UACpB;AAAA,UACA,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,uBAAuB;AAAA,UACvB,QAAQ;AAAA,UACR,IAAG,wCAAS,SAAT,mBAAe;AAAA,UAClB,GAAI,OAAO,YAAY,WAAW,UAAU,CAAC;AAAA,QAC/C;AAAA,QACA;AAAA,MACF,IACA;AAAA,IACN,CAAC;AAAA,EACH,GACA,OAAO,CAAC,MAAM,UAAU,OAAO,OAAO,CAAC,MAEvC,MAAM,QAAQ;AAAA,IACZ,OAAO,QAAQ,iBAAiB,EAAE,IAAI,OAAO,CAAC,QAAQ,OAAO,MAAM;AAvF3E;AAwFU,YAAM,mBAAmB,SAAO,wCAAS,YAAT,mBAAkB,oBAAmB,YAAW,wCAAS,YAAT,mBAAkB,iBAAiB,CAAC;AACpH,aAAO,UAED,MAAM,QAAQ,IAAI;AAAA,QAChB;AAAA,UACE;AAAA,UACA,mCAAS;AAAA,UACT;AAAA,YACE,QAAQ;AAAA,YACR,QAAQ,CAAC,KAAK;AAAA,YACd,YAAQ;AAAA,cACN,CAAC;AAAA,cACD,EAAE,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,OAAO;AAAA,cACpH,qDAAkB;AAAA,YACpB;AAAA,YACA,QAAQ;AAAA,YACR,cAAc,CAAC,EAAE,OAAO,MAAO,WAAW,QAAQ,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,OAAO;AAAA,YAC/E,UAAU;AAAA,YACV,uBAAuB;AAAA,YACvB,QAAQ;AAAA,YACR,IAAG,wCAAS,SAAT,mBAAe;AAAA,YAClB,GAAI,OAAO,YAAY,WAAW,UAAU,CAAC;AAAA,UAC/C;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,UACA,mCAAS;AAAA,UACT;AAAA,YACE,QAAQ;AAAA,YACR,QAAQ,CAAC,KAAK;AAAA,YACd,YAAQ;AAAA,cACN,CAAC;AAAA,cACD,EAAE,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,OAAO;AAAA,cACpH,qDAAkB;AAAA,YACpB;AAAA,YACA,QAAQ;AAAA,YACR,cAAc,CAAC,EAAE,OAAO,MAAO,WAAW,QAAQ,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,OAAO;AAAA,YAC/E,UAAU;AAAA,YACV,uBAAuB;AAAA,YACvB,QAAQ;AAAA,YACR,IAAG,wCAAS,SAAT,mBAAe;AAAA,YAClB,GAAI,OAAO,YAAY,WAAW,UAAU,CAAC;AAAA,UAC/C;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC,GACD,OAAO,CAAC,MAAM,UAAU,OAAO,OAAO,CAAC,IACzC;AAAA,IACN,CAAC;AAAA,EACH,GACA,OAAO,CAAC,MAAM,UAAU,OAAO,OAAO,CAAC,MAEvC,MAAM,QAAQ;AAAA,IACZ,OAAO,QAAQ,iBAAiB,EAAE,IAAI,OAAO,CAAC,QAAQ,OAAO,MAAM;AA9I3E;AA+IU,YAAM,mBAAmB,SAAO,wCAAS,YAAT,mBAAkB,oBAAmB,YAAW,wCAAS,YAAT,mBAAkB,iBAAiB,CAAC;AACpH,aAAO,UAED,MAAM,QAAQ,IAAI;AAAA,QAChB;AAAA,UACE;AAAA,UACA,mCAAS;AAAA,UACT;AAAA,YACE,QAAQ;AAAA,YACR,QAAQ,CAAC,KAAK;AAAA,YACd,YAAQ;AAAA,cACN,CAAC;AAAA,cACD,EAAE,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,OAAO;AAAA,cACpH,qDAAkB;AAAA,YACpB;AAAA,YACA,QAAQ;AAAA,YACR,cAAc,CAAC,EAAE,OAAO,MAAO,WAAW,QAAQ,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,OAAO;AAAA,YAC/E,UAAU;AAAA,YACV,uBAAuB;AAAA,YACvB,QAAQ;AAAA,YACR,IAAG,wCAAS,SAAT,mBAAe;AAAA,YAClB,GAAI,OAAO,YAAY,WAAW,UAAU,CAAC;AAAA,UAC/C;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,UACA,mCAAS;AAAA,UACT;AAAA,YACE,QAAQ;AAAA,YACR,QAAQ,CAAC,KAAK;AAAA,YACd,YAAQ;AAAA,cACN,CAAC;AAAA,cACD,EAAE,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,OAAO;AAAA,cACpH,qDAAkB;AAAA,YACpB;AAAA,YACA,QAAQ;AAAA,YACR,cAAc,CAAC,EAAE,OAAO,MAAO,WAAW,QAAQ,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,OAAO;AAAA,YAC/E,UAAU;AAAA,YACV,uBAAuB;AAAA,YACvB,QAAQ;AAAA,YACR,IAAG,wCAAS,SAAT,mBAAe;AAAA,YAClB,GAAI,OAAO,YAAY,WAAW,UAAU,CAAC;AAAA,UAC/C;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC,GACD,OAAO,CAAC,MAAM,UAAU,OAAO,OAAO,CAAC,IACzC;AAAA,IACN,CAAC;AAAA,EACH,GACA,OAAO,CAAC,MAAM,UAAU,OAAO,OAAO,CAAC,MACxC,UAAU,UAAM,+BAAe,IAAI;AAExC;","names":["options"]}
|
|
@@ -40,6 +40,7 @@ const packageCompileTsup = async (config) => {
|
|
|
40
40
|
}
|
|
41
41
|
const compileForNode = (compile == null ? void 0 : compile.node) ?? { src: {} };
|
|
42
42
|
const compileForBrowser = (compile == null ? void 0 : compile.browser) ?? { src: {} };
|
|
43
|
+
const compileForNeutral = (compile == null ? void 0 : compile.neutral) ?? { src: {} };
|
|
43
44
|
return await packageCompileTsc(true, { publint: false, verbose }) || (await Promise.all(
|
|
44
45
|
Object.entries(compileForNode).map(async ([folder, options]) => {
|
|
45
46
|
var _a, _b, _c;
|
|
@@ -114,6 +115,55 @@ const packageCompileTsup = async (config) => {
|
|
|
114
115
|
)
|
|
115
116
|
])).reduce((prev, value) => prev + value, 0) : 0;
|
|
116
117
|
})
|
|
118
|
+
)).reduce((prev, value) => prev + value, 0) || (await Promise.all(
|
|
119
|
+
Object.entries(compileForNeutral).map(async ([folder, options]) => {
|
|
120
|
+
var _a, _b, _c, _d;
|
|
121
|
+
const inEsBuildOptions = typeof ((_a = compile == null ? void 0 : compile.neutral) == null ? void 0 : _a.esbuildOptions) === "object" ? (_b = compile == null ? void 0 : compile.neutral) == null ? void 0 : _b.esbuildOptions : {};
|
|
122
|
+
return folder ? (await Promise.all([
|
|
123
|
+
compileFolder(
|
|
124
|
+
folder,
|
|
125
|
+
compile == null ? void 0 : compile.entryMode,
|
|
126
|
+
{
|
|
127
|
+
bundle: true,
|
|
128
|
+
format: ["cjs"],
|
|
129
|
+
loader: merge(
|
|
130
|
+
{},
|
|
131
|
+
{ ".gif": "copy", ".html": "copy", ".jpg": "copy", ".json": "json", ".png": "copy", ".svg": "copy", ".webp": "copy" },
|
|
132
|
+
inEsBuildOptions == null ? void 0 : inEsBuildOptions.loader
|
|
133
|
+
),
|
|
134
|
+
outDir: "dist/neutral",
|
|
135
|
+
outExtension: ({ format }) => format === "esm" ? { js: ".js" } : { js: ".cjs" },
|
|
136
|
+
platform: "neutral",
|
|
137
|
+
skipNodeModulesBundle: true,
|
|
138
|
+
target: "esnext",
|
|
139
|
+
...(_c = compile == null ? void 0 : compile.tsup) == null ? void 0 : _c.options,
|
|
140
|
+
...typeof options === "object" ? options : {}
|
|
141
|
+
},
|
|
142
|
+
verbose
|
|
143
|
+
),
|
|
144
|
+
compileFolder(
|
|
145
|
+
folder,
|
|
146
|
+
compile == null ? void 0 : compile.entryMode,
|
|
147
|
+
{
|
|
148
|
+
bundle: true,
|
|
149
|
+
format: ["esm"],
|
|
150
|
+
loader: merge(
|
|
151
|
+
{},
|
|
152
|
+
{ ".gif": "copy", ".html": "copy", ".jpg": "copy", ".json": "json", ".png": "copy", ".svg": "copy", ".webp": "copy" },
|
|
153
|
+
inEsBuildOptions == null ? void 0 : inEsBuildOptions.loader
|
|
154
|
+
),
|
|
155
|
+
outDir: "dist/neutral",
|
|
156
|
+
outExtension: ({ format }) => format === "esm" ? { js: ".js" } : { js: ".cjs" },
|
|
157
|
+
platform: "neutral",
|
|
158
|
+
skipNodeModulesBundle: true,
|
|
159
|
+
target: "esnext",
|
|
160
|
+
...(_d = compile == null ? void 0 : compile.tsup) == null ? void 0 : _d.options,
|
|
161
|
+
...typeof options === "object" ? options : {}
|
|
162
|
+
},
|
|
163
|
+
verbose
|
|
164
|
+
)
|
|
165
|
+
])).reduce((prev, value) => prev + value, 0) : 0;
|
|
166
|
+
})
|
|
117
167
|
)).reduce((prev, value) => prev + value, 0) || (publint ? await packagePublint() : 0);
|
|
118
168
|
};
|
|
119
169
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/actions/package/compile/packageCompileTsup.ts"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { merge } from 'lodash'\nimport { build, defineConfig, Options } from 'tsup'\n\nimport { packagePublint } from '../publint'\nimport { buildEntries } from './buildEntries'\nimport { packageCompileTsc } from './packageCompileTsc'\nimport { packageCompileTscTypes } from './packageCompileTscTypes'\nimport { EntryMode, XyTsupConfig } from './XyConfig'\n\nconst compileFolder = async (folder: string, entryMode: EntryMode = 'single', options?: Options, verbose?: boolean) => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: false,\n entry,\n format: ['cjs', 'esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n await Promise.all(optionsList.map((options) => build(options)))\n await packageCompileTscTypes(folder, { verbose }, { outDir })\n\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n\n return (\n (await packageCompileTsc(true, { publint: false, verbose })) ||\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder ?\n await compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs', 'esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/node',\n platform: 'node',\n skipNodeModulesBundle: true,\n target: 'node16',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (publint ? await packagePublint() : 0)\n )\n}\n"],"mappings":"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","names":["options"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/actions/package/compile/packageCompileTsup.ts"],"sourcesContent":["// eslint-disable-next-line no-restricted-imports\nimport { merge } from 'lodash'\nimport { build, defineConfig, Options } from 'tsup'\n\nimport { packagePublint } from '../publint'\nimport { buildEntries } from './buildEntries'\nimport { packageCompileTsc } from './packageCompileTsc'\nimport { packageCompileTscTypes } from './packageCompileTscTypes'\nimport { EntryMode, XyTsupConfig } from './XyConfig'\n\nconst compileFolder = async (folder: string, entryMode: EntryMode = 'single', options?: Options, verbose?: boolean) => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: false,\n entry,\n format: ['cjs', 'esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n await Promise.all(optionsList.map((options) => build(options)))\n await packageCompileTscTypes(folder, { verbose }, { outDir })\n\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n return (\n (await packageCompileTsc(true, { publint: false, verbose })) ||\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder ?\n await compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs', 'esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/node',\n platform: 'node',\n skipNodeModulesBundle: true,\n target: 'node16',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForNeutral).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n target: 'esnext',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (publint ? await packagePublint() : 0)\n )\n}\n"],"mappings":"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","names":["options"]}
|
package/dist/index.d.mts
CHANGED
|
@@ -141,6 +141,7 @@ interface CompileConfig {
|
|
|
141
141
|
type PackageCompileTsupConfig = CompileConfig & {
|
|
142
142
|
browser?: Record<string, Options | boolean>;
|
|
143
143
|
mode?: 'tsup';
|
|
144
|
+
neutral?: Record<string, Options | boolean>;
|
|
144
145
|
node?: Record<string, Options | boolean>;
|
|
145
146
|
tsup?: {
|
|
146
147
|
options?: Options;
|
package/dist/index.d.ts
CHANGED
|
@@ -141,6 +141,7 @@ interface CompileConfig {
|
|
|
141
141
|
type PackageCompileTsupConfig = CompileConfig & {
|
|
142
142
|
browser?: Record<string, Options | boolean>;
|
|
143
143
|
mode?: 'tsup';
|
|
144
|
+
neutral?: Record<string, Options | boolean>;
|
|
144
145
|
node?: Record<string, Options | boolean>;
|
|
145
146
|
tsup?: {
|
|
146
147
|
options?: Options;
|
package/package.json
CHANGED
|
@@ -62,17 +62,17 @@
|
|
|
62
62
|
"@rollup/plugin-typescript": "^11.1.6",
|
|
63
63
|
"@types/node": "^20.12.7",
|
|
64
64
|
"@types/yargs": "^17.0.32",
|
|
65
|
-
"@typescript-eslint/eslint-plugin": "^7.
|
|
66
|
-
"@typescript-eslint/parser": "^7.
|
|
67
|
-
"@xylabs/tsconfig": "~3.
|
|
68
|
-
"@xylabs/tsconfig-dom": "~3.
|
|
65
|
+
"@typescript-eslint/eslint-plugin": "^7.8.0",
|
|
66
|
+
"@typescript-eslint/parser": "^7.8.0",
|
|
67
|
+
"@xylabs/tsconfig": "~3.10.0",
|
|
68
|
+
"@xylabs/tsconfig-dom": "~3.10.0",
|
|
69
69
|
"async-mutex": "^0.5.0",
|
|
70
70
|
"chalk": "^4.1.2",
|
|
71
71
|
"cosmiconfig": "^9.0.0",
|
|
72
72
|
"cosmiconfig-typescript-loader": "^5.0.0",
|
|
73
73
|
"cpy": "^8.1.2",
|
|
74
74
|
"depcheck": "^1.4.7",
|
|
75
|
-
"eslint": "^
|
|
75
|
+
"eslint": "^9.1.1",
|
|
76
76
|
"eslint-config-prettier": "^9.1.0",
|
|
77
77
|
"eslint-plugin-prettier": "^5.1.3",
|
|
78
78
|
"eslint-plugin-sonarjs": "^0.25.1",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"license-checker": "^25.0.1",
|
|
86
86
|
"lodash": "^4.17.21",
|
|
87
87
|
"node-cmd": "^5.0.0",
|
|
88
|
-
"npm-check-updates": "^16.14.
|
|
88
|
+
"npm-check-updates": "^16.14.20",
|
|
89
89
|
"npm-package-json-lint": "^7.1.0",
|
|
90
90
|
"npm-package-json-lint-config-default": "^6.0.0",
|
|
91
91
|
"parse-git-config": "^3.0.0",
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"publint": "^0.2.7",
|
|
94
94
|
"reflect-metadata": "^0.2.2",
|
|
95
95
|
"rimraf": "^4.4.1",
|
|
96
|
-
"rollup": "^4.
|
|
96
|
+
"rollup": "^4.17.1",
|
|
97
97
|
"rollup-plugin-exclude-dependencies-from-bundle": "^1.1.23",
|
|
98
|
-
"rollup-plugin-node-externals": "^7.1.
|
|
99
|
-
"supertest": "^
|
|
98
|
+
"rollup-plugin-node-externals": "^7.1.2",
|
|
99
|
+
"supertest": "^7.0.0",
|
|
100
100
|
"ts-jest": "^29.1.2",
|
|
101
101
|
"ts-node": "^10.9.2",
|
|
102
102
|
"ts-prune": "^0.10.3",
|
|
@@ -109,12 +109,12 @@
|
|
|
109
109
|
},
|
|
110
110
|
"description": "TypeScript project scripts",
|
|
111
111
|
"devDependencies": {
|
|
112
|
-
"@types/eslint": "^8.56.
|
|
112
|
+
"@types/eslint": "^8.56.10",
|
|
113
113
|
"@types/license-checker": "^25.0.6",
|
|
114
114
|
"@types/lodash": "^4.17.0",
|
|
115
115
|
"@types/parse-git-config": "^3.0.4",
|
|
116
|
-
"@xylabs/eslint-config": "~3.
|
|
117
|
-
"@xylabs/tsconfig": "~3.
|
|
116
|
+
"@xylabs/eslint-config": "~3.10.0",
|
|
117
|
+
"@xylabs/tsconfig": "~3.10.0",
|
|
118
118
|
"publint": "^0.2.7",
|
|
119
119
|
"typescript": "^5.4.5"
|
|
120
120
|
},
|
|
@@ -170,6 +170,6 @@
|
|
|
170
170
|
"package-clean": "echo Not cleaning..."
|
|
171
171
|
},
|
|
172
172
|
"sideEffects": false,
|
|
173
|
-
"version": "3.
|
|
173
|
+
"version": "3.10.0",
|
|
174
174
|
"type": "commonjs"
|
|
175
175
|
}
|
|
@@ -21,6 +21,7 @@ export interface CompileConfig {
|
|
|
21
21
|
export type PackageCompileTsupConfig = CompileConfig & {
|
|
22
22
|
browser?: Record<string, Options | boolean>
|
|
23
23
|
mode?: 'tsup'
|
|
24
|
+
neutral?: Record<string, Options | boolean>
|
|
24
25
|
node?: Record<string, Options | boolean>
|
|
25
26
|
tsup?: {
|
|
26
27
|
options?: Options
|
|
@@ -50,6 +50,7 @@ export const packageCompileTsup = async (config?: XyTsupConfig) => {
|
|
|
50
50
|
|
|
51
51
|
const compileForNode = compile?.node ?? { src: {} }
|
|
52
52
|
const compileForBrowser = compile?.browser ?? { src: {} }
|
|
53
|
+
const compileForNeutral = compile?.neutral ?? { src: {} }
|
|
53
54
|
|
|
54
55
|
return (
|
|
55
56
|
(await packageCompileTsc(true, { publint: false, verbose })) ||
|
|
@@ -137,6 +138,61 @@ export const packageCompileTsup = async (config?: XyTsupConfig) => {
|
|
|
137
138
|
}),
|
|
138
139
|
)
|
|
139
140
|
).reduce((prev, value) => prev + value, 0) ||
|
|
141
|
+
(
|
|
142
|
+
await Promise.all(
|
|
143
|
+
Object.entries(compileForNeutral).map(async ([folder, options]) => {
|
|
144
|
+
const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}
|
|
145
|
+
return folder ?
|
|
146
|
+
(
|
|
147
|
+
await Promise.all([
|
|
148
|
+
compileFolder(
|
|
149
|
+
folder,
|
|
150
|
+
compile?.entryMode,
|
|
151
|
+
{
|
|
152
|
+
bundle: true,
|
|
153
|
+
format: ['cjs'],
|
|
154
|
+
loader: merge(
|
|
155
|
+
{},
|
|
156
|
+
{ '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },
|
|
157
|
+
inEsBuildOptions?.loader,
|
|
158
|
+
),
|
|
159
|
+
outDir: 'dist/neutral',
|
|
160
|
+
outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),
|
|
161
|
+
platform: 'neutral',
|
|
162
|
+
skipNodeModulesBundle: true,
|
|
163
|
+
target: 'esnext',
|
|
164
|
+
...compile?.tsup?.options,
|
|
165
|
+
...(typeof options === 'object' ? options : {}),
|
|
166
|
+
},
|
|
167
|
+
verbose,
|
|
168
|
+
),
|
|
169
|
+
compileFolder(
|
|
170
|
+
folder,
|
|
171
|
+
compile?.entryMode,
|
|
172
|
+
{
|
|
173
|
+
bundle: true,
|
|
174
|
+
format: ['esm'],
|
|
175
|
+
loader: merge(
|
|
176
|
+
{},
|
|
177
|
+
{ '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },
|
|
178
|
+
inEsBuildOptions?.loader,
|
|
179
|
+
),
|
|
180
|
+
outDir: 'dist/neutral',
|
|
181
|
+
outExtension: ({ format }) => (format === 'esm' ? { js: '.js' } : { js: '.cjs' }),
|
|
182
|
+
platform: 'neutral',
|
|
183
|
+
skipNodeModulesBundle: true,
|
|
184
|
+
target: 'esnext',
|
|
185
|
+
...compile?.tsup?.options,
|
|
186
|
+
...(typeof options === 'object' ? options : {}),
|
|
187
|
+
},
|
|
188
|
+
verbose,
|
|
189
|
+
),
|
|
190
|
+
])
|
|
191
|
+
).reduce((prev, value) => prev + value, 0)
|
|
192
|
+
: 0
|
|
193
|
+
}),
|
|
194
|
+
)
|
|
195
|
+
).reduce((prev, value) => prev + value, 0) ||
|
|
140
196
|
(publint ? await packagePublint() : 0)
|
|
141
197
|
)
|
|
142
198
|
}
|