@visulima/packem-rollup 1.0.0-alpha.21 → 1.0.0-alpha.22

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## @visulima/packem-rollup [1.0.0-alpha.22](https://github.com/visulima/packem/compare/@visulima/packem-rollup@1.0.0-alpha.21...@visulima/packem-rollup@1.0.0-alpha.22) (2025-10-11)
2
+
3
+ ### Bug Fixes
4
+
5
+ * update dependencies and improve require CJS transformer ([a8d4fb7](https://github.com/visulima/packem/commit/a8d4fb7f35a313fd22c123b4b6487a346eb66e0a))
6
+
1
7
  ## @visulima/packem-rollup [1.0.0-alpha.21](https://github.com/visulima/packem/compare/@visulima/packem-rollup@1.0.0-alpha.20...@visulima/packem-rollup@1.0.0-alpha.21) (2025-10-08)
2
8
 
3
9
  ### Bug Fixes
package/dist/index.d.mts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { Plugin, RenderedChunk, GetManualChunk, CustomPluginOptions } from 'rollup';
2
- export { C as CJSInteropOptions, a as CopyPluginOptions, D as DataUriPluginOptions, e as DebarrelPluginOptions, E as EsmShimCjsSyntaxOptions, I as IsolatedDeclarationsOptions, t as IsolatedDeclarationsResult, v as IsolatedDeclarationsTransformer, J as JSXRemoveAttributesPlugin, L as LicenseOptions, N as NativeModulesOptions, P as PackemRollupOptions, R as RawLoaderOptions, O as RequireCJSPluginOptions, T as RequireCJSPluginTransformFunction, w as RollupPlugins, S as ShebangOptions, p as SourcemapsPluginOptions, x as TransformerFn, y as TransformerName, U as UrlOptions, c as cjsInteropPlugin, b as copyPlugin, d as dataUriPlugin, f as debarrelPlugin, g as esmShimCjsSyntaxPlugin, k as getShebang, i as isolatedDeclarationsPlugin, j as jsxRemoveAttributes, l as licensePlugin, m as makeExecutable, n as nativeModulesPlugin, r as rawPlugin, o as removeShebangPlugin, h as requireCJSTransformerPlugin, s as shebangPlugin, q as sourcemapsPlugin, u as urlPlugin } from './packem_shared/types-BK7k04DQ.mjs';
2
+ export { C as CJSInteropOptions, a as CopyPluginOptions, D as DataUriPluginOptions, e as DebarrelPluginOptions, E as EsmShimCjsSyntaxOptions, I as IsolatedDeclarationsOptions, t as IsolatedDeclarationsResult, v as IsolatedDeclarationsTransformer, J as JSXRemoveAttributesPlugin, L as LicenseOptions, N as NativeModulesOptions, P as PackemRollupOptions, R as RawLoaderOptions, O as RequireCJSPluginOptions, T as RequireCJSPluginTransformFunction, w as RollupPlugins, S as ShebangOptions, p as SourcemapsPluginOptions, x as TransformerFn, y as TransformerName, U as UrlOptions, c as cjsInteropPlugin, b as copyPlugin, d as dataUriPlugin, f as debarrelPlugin, g as esmShimCjsSyntaxPlugin, k as getShebang, i as isolatedDeclarationsPlugin, j as jsxRemoveAttributes, l as licensePlugin, m as makeExecutable, n as nativeModulesPlugin, r as rawPlugin, o as removeShebangPlugin, h as requireCJSTransformerPlugin, s as shebangPlugin, q as sourcemapsPlugin, u as urlPlugin } from './packem_shared/types-CMThMMkh.mjs';
3
3
  export { b as browserslistToEsbuild } from './packem_shared/browserslist-to-esbuild-DY9HwYtp.mjs';
4
4
  import { RollupJsonOptions } from '@rollup/plugin-json';
5
- export { MinifyHTMLLiteralsOptions, default as minifyHTMLLiteralsPlugin } from './plugins/minify-html-literals/index.mjs';
5
+ import { P as PailServerType } from './packem_shared/index-hWYvkB02.mjs';
6
+ export { M as MinifyHTMLLiteralsOptions, m as minifyHTMLLiteralsPlugin } from './packem_shared/index-hWYvkB02.mjs';
6
7
  import { FileCache } from '@visulima/packem-share/utils';
7
8
  import { FilterPattern } from '@rollup/pluginutils';
8
- import { P as PailServerType } from './packem_shared/index.server.d-DhMawQMd.mjs';
9
9
  import { BuildContextBuildAssetAndChunk, BuildContextBuildEntry } from '@visulima/packem-share/types';
10
10
  export { Alias, ResolverObject as AliasResolverObject, ResolvedAlias, RollupAliasOptions, default as alias } from '@rollup/plugin-alias';
11
11
  export { RollupCommonJSOptions, default as commonjs } from '@rollup/plugin-commonjs';
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { Plugin, RenderedChunk, GetManualChunk, CustomPluginOptions } from 'rollup';
2
- export { C as CJSInteropOptions, a as CopyPluginOptions, D as DataUriPluginOptions, e as DebarrelPluginOptions, E as EsmShimCjsSyntaxOptions, I as IsolatedDeclarationsOptions, t as IsolatedDeclarationsResult, v as IsolatedDeclarationsTransformer, J as JSXRemoveAttributesPlugin, L as LicenseOptions, N as NativeModulesOptions, P as PackemRollupOptions, R as RawLoaderOptions, O as RequireCJSPluginOptions, T as RequireCJSPluginTransformFunction, w as RollupPlugins, S as ShebangOptions, p as SourcemapsPluginOptions, x as TransformerFn, y as TransformerName, U as UrlOptions, c as cjsInteropPlugin, b as copyPlugin, d as dataUriPlugin, f as debarrelPlugin, g as esmShimCjsSyntaxPlugin, k as getShebang, i as isolatedDeclarationsPlugin, j as jsxRemoveAttributes, l as licensePlugin, m as makeExecutable, n as nativeModulesPlugin, r as rawPlugin, o as removeShebangPlugin, h as requireCJSTransformerPlugin, s as shebangPlugin, q as sourcemapsPlugin, u as urlPlugin } from './packem_shared/types-DvaEike_.js';
2
+ export { C as CJSInteropOptions, a as CopyPluginOptions, D as DataUriPluginOptions, e as DebarrelPluginOptions, E as EsmShimCjsSyntaxOptions, I as IsolatedDeclarationsOptions, t as IsolatedDeclarationsResult, v as IsolatedDeclarationsTransformer, J as JSXRemoveAttributesPlugin, L as LicenseOptions, N as NativeModulesOptions, P as PackemRollupOptions, R as RawLoaderOptions, O as RequireCJSPluginOptions, T as RequireCJSPluginTransformFunction, w as RollupPlugins, S as ShebangOptions, p as SourcemapsPluginOptions, x as TransformerFn, y as TransformerName, U as UrlOptions, c as cjsInteropPlugin, b as copyPlugin, d as dataUriPlugin, f as debarrelPlugin, g as esmShimCjsSyntaxPlugin, k as getShebang, i as isolatedDeclarationsPlugin, j as jsxRemoveAttributes, l as licensePlugin, m as makeExecutable, n as nativeModulesPlugin, r as rawPlugin, o as removeShebangPlugin, h as requireCJSTransformerPlugin, s as shebangPlugin, q as sourcemapsPlugin, u as urlPlugin } from './packem_shared/types-Bk7lLMcF.js';
3
3
  export { b as browserslistToEsbuild } from './packem_shared/browserslist-to-esbuild-DY9HwYtp.js';
4
4
  import { RollupJsonOptions } from '@rollup/plugin-json';
5
- export { MinifyHTMLLiteralsOptions, default as minifyHTMLLiteralsPlugin } from './plugins/minify-html-literals/index.js';
5
+ import { P as PailServerType } from './packem_shared/index-hWYvkB02.js';
6
+ export { M as MinifyHTMLLiteralsOptions, m as minifyHTMLLiteralsPlugin } from './packem_shared/index-hWYvkB02.js';
6
7
  import { FileCache } from '@visulima/packem-share/utils';
7
8
  import { FilterPattern } from '@rollup/pluginutils';
8
- import { P as PailServerType } from './packem_shared/index.server.d-DhMawQMd.js';
9
9
  import { BuildContextBuildAssetAndChunk, BuildContextBuildEntry } from '@visulima/packem-share/types';
10
10
  export { Alias, ResolverObject as AliasResolverObject, ResolvedAlias, RollupAliasOptions, default as alias } from '@rollup/plugin-alias';
11
11
  export { RollupCommonJSOptions, default as commonjs } from '@rollup/plugin-commonjs';
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{default as o}from"./packem_shared/chunkSplitter-DWAy1JkE.mjs";import{cjsInteropPlugin as a}from"./packem_shared/cjsInteropPlugin-D5wyoQ_B.mjs";import{copyPlugin as f}from"./packem_shared/copyPlugin--6RITp1-.mjs";import{dataUriPlugin as s}from"./packem_shared/dataUriPlugin-BFb7bZZs.mjs";import{debarrelPlugin as i}from"./packem_shared/debarrelPlugin-BTYc859G.mjs";import{default as n}from"./packem_shared/browserslistToEsbuild-C0IWmbNe.mjs";import{esmShimCjsSyntaxPlugin as d}from"./packem_shared/esmShimCjsSyntaxPlugin-DjKqX4DE.mjs";import{fixDtsDefaultCjsExportsPlugin as P}from"./packem_shared/fixDtsDefaultCjsExportsPlugin-Dp1UcHVR.mjs";import{default as b}from"./packem_shared/fixDynamicImportExtension-BBGNRniz.mjs";import{isolatedDeclarationsPlugin as y}from"./packem_shared/isolatedDeclarationsPlugin-B34s_qkE.mjs";import{default as j}from"./packem_shared/jsonPlugin-BAi3Da-h.mjs";import{jsxRemoveAttributes as C}from"./packem_shared/jsxRemoveAttributes-B1PLPffj.mjs";import{license as E}from"./packem_shared/licensePlugin-C5yzUqe-.mjs";import{default as M}from"./packem_shared/metafilePlugin-CVcqFpPJ.mjs";import{minifyHTMLLiteralsPlugin as w}from"./plugins/minify-html-literals/index.mjs";import{nativeModulesPlugin as T}from"./packem_shared/nativeModulesPlugin-D6lO-8g6.mjs";import{default as U}from"./packem_shared/cachingPlugin-TWoY5ZxV.mjs";import{default as z}from"./packem_shared/preserveDirectivesPlugin-B49Cbykd.mjs";import{rawPlugin as F}from"./packem_shared/rawPlugin-DgRj14Xy.mjs";import{requireCJSTransformerPlugin as J}from"./packem_shared/requireCJSTransformerPlugin-BZ49I4kw.mjs";import{default as V}from"./packem_shared/resolveFileUrlPlugin-BkpjVHeK.mjs";import{getShebang as G,makeExecutable as K,removeShebangPlugin as O,shebangPlugin as Q}from"./packem_shared/makeExecutable-6aOVHoJR.mjs";import{sourcemapsPlugin as X}from"./packem_shared/sourcemapsPlugin-B4W3J79w.mjs";import{urlPlugin as Z}from"./packem_shared/urlPlugin-DJJrDWjj.mjs";import{default as $}from"./packem_shared/createSplitChunks-CGDk55G3.mjs";import{default as re}from"./packem_shared/getCustomModuleLayer-d8i66lfh.mjs";import{default as te}from"./packem_shared/getModuleLayer-rF9RxnJ5.mjs";import{default as le}from"@rollup/plugin-alias";import{default as ue}from"@rollup/plugin-commonjs";import{default as me}from"@rollup/plugin-dynamic-import-vars";import{default as pe}from"@rollup/plugin-inject";import{default as xe}from"@rollup/plugin-node-resolve";import{default as ge}from"@rollup/plugin-replace";import{default as ce}from"@rollup/plugin-wasm";import{default as ve}from"rollup-plugin-polyfill-node";import{PluginPure as he}from"rollup-plugin-pure";import{default as Se}from"rollup-plugin-visualizer";export{he as PluginPure,le as alias,n as browserslistToEsbuild,U as cachingPlugin,o as chunkSplitter,a as cjsInteropPlugin,ue as commonjs,f as copyPlugin,$ as createSplitChunks,s as dataUriPlugin,i as debarrelPlugin,me as dynamicImportVars,d as esmShimCjsSyntaxPlugin,P as fixDtsDefaultCjsExportsPlugin,b as fixDynamicImportExtension,re as getCustomModuleLayer,te as getModuleLayer,G as getShebang,pe as inject,y as isolatedDeclarationsPlugin,j as jsonPlugin,C as jsxRemoveAttributes,E as licensePlugin,K as makeExecutable,M as metafilePlugin,w as minifyHTMLLiteralsPlugin,T as nativeModulesPlugin,xe as nodeResolve,ve as polyfillNode,z as preserveDirectivesPlugin,F as rawPlugin,O as removeShebangPlugin,ge as replace,J as requireCJSTransformerPlugin,V as resolveFileUrlPlugin,Q as shebangPlugin,X as sourcemapsPlugin,Z as urlPlugin,Se as visualizer,ce as wasm};
1
+ import{default as o}from"./packem_shared/chunkSplitter-DWAy1JkE.mjs";import{cjsInteropPlugin as a}from"./packem_shared/cjsInteropPlugin-D5wyoQ_B.mjs";import{copyPlugin as f}from"./packem_shared/copyPlugin--6RITp1-.mjs";import{dataUriPlugin as s}from"./packem_shared/dataUriPlugin-BFb7bZZs.mjs";import{debarrelPlugin as i}from"./packem_shared/debarrelPlugin-BTYc859G.mjs";import{default as n}from"./packem_shared/browserslistToEsbuild-C0IWmbNe.mjs";import{esmShimCjsSyntaxPlugin as d}from"./packem_shared/esmShimCjsSyntaxPlugin-DjKqX4DE.mjs";import{fixDtsDefaultCjsExportsPlugin as P}from"./packem_shared/fixDtsDefaultCjsExportsPlugin-Dp1UcHVR.mjs";import{default as b}from"./packem_shared/fixDynamicImportExtension-BBGNRniz.mjs";import{isolatedDeclarationsPlugin as y}from"./packem_shared/isolatedDeclarationsPlugin-B34s_qkE.mjs";import{default as j}from"./packem_shared/jsonPlugin-BAi3Da-h.mjs";import{jsxRemoveAttributes as C}from"./packem_shared/jsxRemoveAttributes-B1PLPffj.mjs";import{license as E}from"./packem_shared/licensePlugin-C5yzUqe-.mjs";import{default as M}from"./packem_shared/metafilePlugin-CVcqFpPJ.mjs";import{minifyHTMLLiteralsPlugin as w}from"./plugins/minify-html-literals/index.mjs";import{nativeModulesPlugin as T}from"./packem_shared/nativeModulesPlugin-D6lO-8g6.mjs";import{default as U}from"./packem_shared/cachingPlugin-TWoY5ZxV.mjs";import{default as z}from"./packem_shared/preserveDirectivesPlugin-B49Cbykd.mjs";import{rawPlugin as F}from"./packem_shared/rawPlugin-DgRj14Xy.mjs";import{requireCJSTransformerPlugin as J}from"./packem_shared/requireCJSTransformerPlugin-qcY8AH5r.mjs";import{default as V}from"./packem_shared/resolveFileUrlPlugin-BkpjVHeK.mjs";import{getShebang as G,makeExecutable as K,removeShebangPlugin as O,shebangPlugin as Q}from"./packem_shared/makeExecutable-6aOVHoJR.mjs";import{sourcemapsPlugin as X}from"./packem_shared/sourcemapsPlugin-B4W3J79w.mjs";import{urlPlugin as Z}from"./packem_shared/urlPlugin-DJJrDWjj.mjs";import{default as $}from"./packem_shared/createSplitChunks-CGDk55G3.mjs";import{default as re}from"./packem_shared/getCustomModuleLayer-d8i66lfh.mjs";import{default as te}from"./packem_shared/getModuleLayer-rF9RxnJ5.mjs";import{default as le}from"@rollup/plugin-alias";import{default as ue}from"@rollup/plugin-commonjs";import{default as me}from"@rollup/plugin-dynamic-import-vars";import{default as pe}from"@rollup/plugin-inject";import{default as xe}from"@rollup/plugin-node-resolve";import{default as ge}from"@rollup/plugin-replace";import{default as ce}from"@rollup/plugin-wasm";import{default as ve}from"rollup-plugin-polyfill-node";import{PluginPure as he}from"rollup-plugin-pure";import{default as Se}from"rollup-plugin-visualizer";export{he as PluginPure,le as alias,n as browserslistToEsbuild,U as cachingPlugin,o as chunkSplitter,a as cjsInteropPlugin,ue as commonjs,f as copyPlugin,$ as createSplitChunks,s as dataUriPlugin,i as debarrelPlugin,me as dynamicImportVars,d as esmShimCjsSyntaxPlugin,P as fixDtsDefaultCjsExportsPlugin,b as fixDynamicImportExtension,re as getCustomModuleLayer,te as getModuleLayer,G as getShebang,pe as inject,y as isolatedDeclarationsPlugin,j as jsonPlugin,C as jsxRemoveAttributes,E as licensePlugin,K as makeExecutable,M as metafilePlugin,w as minifyHTMLLiteralsPlugin,T as nativeModulesPlugin,xe as nodeResolve,ve as polyfillNode,z as preserveDirectivesPlugin,F as rawPlugin,O as removeShebangPlugin,ge as replace,J as requireCJSTransformerPlugin,V as resolveFileUrlPlugin,Q as shebangPlugin,X as sourcemapsPlugin,Z as urlPlugin,Se as visualizer,ce as wasm};
@@ -1,3 +1,8 @@
1
+ import { FilterPattern } from '@rollup/pluginutils';
2
+ import { Plugin } from 'rollup';
3
+ import { SourceMapOptions } from 'magic-string';
4
+ import { MinifierOptions } from 'html-minifier-next';
5
+
1
6
  type AnsiColors = "bgBlack" | "bgBlackBright" | "bgBlue" | "bgBlueBright" | "bgCyan" | "bgCyanBright" | "bgGray" | "bgGreen" | "bgGreenBright" | "bgGrey" | "bgMagenta" | "bgMagentaBright" | "bgRed" | "bgRedBright" | "bgWhite" | "bgWhiteBright" | "bgYellow" | "bgYellowBright" | "black" | "blackBright" | "blue" | "blueBright" | "cyan" | "cyanBright" | "gray" | "green" | "greenBright" | "grey" | "magenta" | "magentaBright" | "red" | "redBright" | "white" | "whiteBright" | "yellow" | "yellowBright";
2
7
 
3
8
  /**
@@ -248,4 +253,94 @@ declare class PailServerImpl<T extends string = string, L extends string = strin
248
253
  }
249
254
  type PailServerType<T extends string = string, L extends string = string> = PailServerImpl<T, L> & Record<DefaultLogTypes, LoggerFunction> & Record<T, LoggerFunction> & (new <TC extends string = string, LC extends string = string>(options?: ServerConstructorOptions<TC, LC>) => PailServerType<TC, LC>);
250
255
 
251
- export type { PailServerType as P };
256
+ interface Template {
257
+ parts: TemplatePart[];
258
+ tag?: string;
259
+ }
260
+ interface TemplatePart {
261
+ end: number;
262
+ start: number;
263
+ text: string;
264
+ }
265
+ interface Strategy$1<N = unknown> {
266
+ getRootNode: (source: string, fileName?: string) => N;
267
+ getTaggedTemplateTemplate: (node: N) => unknown;
268
+ getTagText: (node: N) => string;
269
+ getTemplateParts: (node: N) => TemplatePart[];
270
+ isTaggedTemplate: (node: N) => boolean;
271
+ isTemplate: (node: N) => boolean;
272
+ walkNodes: (parent: N, visit: (child: N) => void) => void;
273
+ }
274
+
275
+ interface ParseLiteralsOptions {
276
+ fileName?: string;
277
+ strategy?: Partial<Strategy$1<unknown>>;
278
+ }
279
+ declare const parseLiterals: (source: string, options?: ParseLiteralsOptions) => Template[];
280
+
281
+ interface Strategy<O = unknown, C = unknown> {
282
+ combineHTMLStrings: (parts: TemplatePart[], placeholder: string) => string;
283
+ getPlaceholder: (parts: TemplatePart[]) => string;
284
+ minifyCSS?: (css: string, options?: C) => string;
285
+ minifyHTML: (html: string, options?: O) => string | Promise<string>;
286
+ splitHTMLByPlaceholder: (html: string, placeholder: string) => string[];
287
+ }
288
+ declare const defaultMinifyOptions: MinifierOptions;
289
+
290
+ type Options = DefaultOptions | CustomOptions<unknown>;
291
+ interface DefaultOptions extends BaseOptions {
292
+ minifyOptions?: Partial<typeof defaultMinifyOptions>;
293
+ }
294
+ interface CustomOptions<S extends Strategy | unknown> extends BaseOptions {
295
+ minifyOptions?: S extends Strategy<infer O> ? Partial<O> : never;
296
+ strategy: S;
297
+ }
298
+ interface BaseOptions {
299
+ fileName?: string;
300
+ generateSourceMap?: ((ms: MagicStringLike, fileName: string) => SourceMap | undefined) | false;
301
+ MagicString?: new (source: string) => MagicStringLike;
302
+ parseLiterals?: typeof parseLiterals;
303
+ parseLiteralsOptions?: Partial<ParseLiteralsOptions>;
304
+ shouldMinify?: (template: Template) => boolean;
305
+ shouldMinifyCSS?: (template: Template) => boolean;
306
+ validate?: Validation | false;
307
+ }
308
+ interface MagicStringLike {
309
+ generateMap: (options?: Partial<SourceMapOptions>) => SourceMap;
310
+ overwrite: (start: number, end: number, content: string) => unknown;
311
+ toString: () => string;
312
+ }
313
+ interface SourceMap {
314
+ file?: string;
315
+ mappings: string;
316
+ names: string[];
317
+ sources: string[];
318
+ sourcesContent?: string[];
319
+ toString: () => string;
320
+ toUrl: () => string;
321
+ version: number;
322
+ }
323
+ interface Validation {
324
+ ensureHTMLPartsValid: (parts: TemplatePart[], htmlParts: string[]) => void;
325
+ ensurePlaceholderValid: (placeholder: unknown) => void;
326
+ }
327
+ interface Result {
328
+ code: string;
329
+ map: SourceMap | undefined;
330
+ }
331
+ declare function minifyHTMLLiterals(source: string, options?: DefaultOptions): Promise<Result | null>;
332
+ declare function minifyHTMLLiterals<S extends Strategy>(source: string, options?: CustomOptions<S>): Promise<Result | null>;
333
+
334
+ interface MinifyHTMLLiteralsOptions {
335
+ exclude?: FilterPattern;
336
+ failOnError?: boolean;
337
+ include?: FilterPattern;
338
+ minifyHTMLLiterals?: typeof minifyHTMLLiterals;
339
+ options?: Partial<Options>;
340
+ }
341
+ declare const minifyHTMLLiteralsPlugin: ({ exclude, failOnError, include, logger, minifyHTMLLiterals, options, }: MinifyHTMLLiteralsOptions & {
342
+ logger: PailServerType;
343
+ }) => Plugin;
344
+
345
+ export { minifyHTMLLiteralsPlugin as m };
346
+ export type { MinifyHTMLLiteralsOptions as M, PailServerType as P };
@@ -1,3 +1,8 @@
1
+ import { FilterPattern } from '@rollup/pluginutils';
2
+ import { Plugin } from 'rollup';
3
+ import { SourceMapOptions } from 'magic-string';
4
+ import { MinifierOptions } from 'html-minifier-next';
5
+
1
6
  type AnsiColors = "bgBlack" | "bgBlackBright" | "bgBlue" | "bgBlueBright" | "bgCyan" | "bgCyanBright" | "bgGray" | "bgGreen" | "bgGreenBright" | "bgGrey" | "bgMagenta" | "bgMagentaBright" | "bgRed" | "bgRedBright" | "bgWhite" | "bgWhiteBright" | "bgYellow" | "bgYellowBright" | "black" | "blackBright" | "blue" | "blueBright" | "cyan" | "cyanBright" | "gray" | "green" | "greenBright" | "grey" | "magenta" | "magentaBright" | "red" | "redBright" | "white" | "whiteBright" | "yellow" | "yellowBright";
2
7
 
3
8
  /**
@@ -248,4 +253,94 @@ declare class PailServerImpl<T extends string = string, L extends string = strin
248
253
  }
249
254
  type PailServerType<T extends string = string, L extends string = string> = PailServerImpl<T, L> & Record<DefaultLogTypes, LoggerFunction> & Record<T, LoggerFunction> & (new <TC extends string = string, LC extends string = string>(options?: ServerConstructorOptions<TC, LC>) => PailServerType<TC, LC>);
250
255
 
251
- export type { PailServerType as P };
256
+ interface Template {
257
+ parts: TemplatePart[];
258
+ tag?: string;
259
+ }
260
+ interface TemplatePart {
261
+ end: number;
262
+ start: number;
263
+ text: string;
264
+ }
265
+ interface Strategy$1<N = unknown> {
266
+ getRootNode: (source: string, fileName?: string) => N;
267
+ getTaggedTemplateTemplate: (node: N) => unknown;
268
+ getTagText: (node: N) => string;
269
+ getTemplateParts: (node: N) => TemplatePart[];
270
+ isTaggedTemplate: (node: N) => boolean;
271
+ isTemplate: (node: N) => boolean;
272
+ walkNodes: (parent: N, visit: (child: N) => void) => void;
273
+ }
274
+
275
+ interface ParseLiteralsOptions {
276
+ fileName?: string;
277
+ strategy?: Partial<Strategy$1<unknown>>;
278
+ }
279
+ declare const parseLiterals: (source: string, options?: ParseLiteralsOptions) => Template[];
280
+
281
+ interface Strategy<O = unknown, C = unknown> {
282
+ combineHTMLStrings: (parts: TemplatePart[], placeholder: string) => string;
283
+ getPlaceholder: (parts: TemplatePart[]) => string;
284
+ minifyCSS?: (css: string, options?: C) => string;
285
+ minifyHTML: (html: string, options?: O) => string | Promise<string>;
286
+ splitHTMLByPlaceholder: (html: string, placeholder: string) => string[];
287
+ }
288
+ declare const defaultMinifyOptions: MinifierOptions;
289
+
290
+ type Options = DefaultOptions | CustomOptions<unknown>;
291
+ interface DefaultOptions extends BaseOptions {
292
+ minifyOptions?: Partial<typeof defaultMinifyOptions>;
293
+ }
294
+ interface CustomOptions<S extends Strategy | unknown> extends BaseOptions {
295
+ minifyOptions?: S extends Strategy<infer O> ? Partial<O> : never;
296
+ strategy: S;
297
+ }
298
+ interface BaseOptions {
299
+ fileName?: string;
300
+ generateSourceMap?: ((ms: MagicStringLike, fileName: string) => SourceMap | undefined) | false;
301
+ MagicString?: new (source: string) => MagicStringLike;
302
+ parseLiterals?: typeof parseLiterals;
303
+ parseLiteralsOptions?: Partial<ParseLiteralsOptions>;
304
+ shouldMinify?: (template: Template) => boolean;
305
+ shouldMinifyCSS?: (template: Template) => boolean;
306
+ validate?: Validation | false;
307
+ }
308
+ interface MagicStringLike {
309
+ generateMap: (options?: Partial<SourceMapOptions>) => SourceMap;
310
+ overwrite: (start: number, end: number, content: string) => unknown;
311
+ toString: () => string;
312
+ }
313
+ interface SourceMap {
314
+ file?: string;
315
+ mappings: string;
316
+ names: string[];
317
+ sources: string[];
318
+ sourcesContent?: string[];
319
+ toString: () => string;
320
+ toUrl: () => string;
321
+ version: number;
322
+ }
323
+ interface Validation {
324
+ ensureHTMLPartsValid: (parts: TemplatePart[], htmlParts: string[]) => void;
325
+ ensurePlaceholderValid: (placeholder: unknown) => void;
326
+ }
327
+ interface Result {
328
+ code: string;
329
+ map: SourceMap | undefined;
330
+ }
331
+ declare function minifyHTMLLiterals(source: string, options?: DefaultOptions): Promise<Result | null>;
332
+ declare function minifyHTMLLiterals<S extends Strategy>(source: string, options?: CustomOptions<S>): Promise<Result | null>;
333
+
334
+ interface MinifyHTMLLiteralsOptions {
335
+ exclude?: FilterPattern;
336
+ failOnError?: boolean;
337
+ include?: FilterPattern;
338
+ minifyHTMLLiterals?: typeof minifyHTMLLiterals;
339
+ options?: Partial<Options>;
340
+ }
341
+ declare const minifyHTMLLiteralsPlugin: ({ exclude, failOnError, include, logger, minifyHTMLLiterals, options, }: MinifyHTMLLiteralsOptions & {
342
+ logger: PailServerType;
343
+ }) => Plugin;
344
+
345
+ export { minifyHTMLLiteralsPlugin as m };
346
+ export type { MinifyHTMLLiteralsOptions as M, PailServerType as P };
@@ -0,0 +1,26 @@
1
+ var O=Object.defineProperty;var x=(r,e)=>O(r,"name",{value:e,configurable:!0});import{createRequire as F,builtinModules as I}from"node:module";import R from"node:process";import{createFilter as W}from"@rollup/pluginutils";import{init as N,parse as B}from"cjs-module-lexer";import G from"magic-string";import{parseSync as D}from"oxc-parser";import{readFile as K}from"@visulima/fs";import{findPackageJson as E}from"@visulima/package/package-json";var L=Object.defineProperty,U=x((r,e)=>L(r,"name",{value:e,configurable:!0}),"s");const z=U(async(r,e,p)=>{if(await N(),r.startsWith("node:"))return!1;if(r.endsWith(".cjs"))return!0;if(r.endsWith(".js")||!r.includes("/")&&!r.startsWith(".")){let o;if(p)try{o=(await p(r,e)).id}catch{}if(!o&&e&&!e.includes("!~{"))try{o=F(e).resolve(r)}catch{}if(o){try{const{packageJson:d}=await E(o);if(d.type==="module")return!1;if(d.type==="commonjs")return!0}catch{}try{const d=await K(o,{encoding:"utf8"});try{return B(d,o),!0}catch{}}catch{}}}return!1},"isPureCJS");var H=Object.defineProperty,w=x((r,e)=>H(r,"name",{value:e,configurable:!0}),"q");let T=!1;const y="__cjs_require",Q=w(r=>{if(Array.isArray(r.shouldTransform)){const{shouldTransform:e}=r;r.shouldTransform=p=>e.includes(p)}return{builtinNodeModules:!!r.builtinNodeModules,cwd:r.cwd||R.cwd(),exclude:r.exclude||[/node_modules/,/\.d\.[cm]?ts$/],include:r.include||[/\.[cm]?[jt]sx?$/],order:"order"in r?r.order:"pre",shouldTransform:r.shouldTransform}},"resolveOptions"),ne=w((r,e)=>{const{builtinNodeModules:p,cwd:o,exclude:d,include:P,order:J,shouldTransform:k}=Q(r),A=W(P,d);return{async buildStart(){T||(await N(),T=!0)},name:"packem:plugin-require-cjs",renderChunk:{async handler(a,g,{format:C}){if(C!=="es"){e.debug({message:"skip",prefix:"plugin:require-cjs-transformer"});return}if(!A(g.fileName)){e.debug({message:`Skipping file (excluded by filter): ${g.fileName}`,prefix:"plugin:require-cjs-transformer"});return}e.debug({message:`Processing chunk: ${g.fileName}`,prefix:"plugin:require-cjs-transformer"}),e.debug({message:`Code length: ${a.length} characters`,prefix:"plugin:require-cjs-transformer"});const M=D(g.fileName,a,{astType:"js",lang:"js",sourceType:"module"}),{body:_}=M.program,l=new G(a);let j=!1;e.debug({message:`Found ${_.length} AST statements to process`,prefix:"plugin:require-cjs-transformer"});for await(const i of _)if(i.type==="ImportDeclaration"){if(i.importKind==="type"){e.debug({message:`Skipping type-only import: ${i.source.value}`,prefix:"plugin:require-cjs-transformer"});continue}const s=i.source.value;e.debug({message:`Processing import: ${s}`,prefix:"plugin:require-cjs-transformer"});const $=p&&(I.includes(s)||s.startsWith("node:"));e.debug({message:`Is builtin module: ${$}`,prefix:"plugin:require-cjs-transformer"});let b;if($)b=!0,e.debug({message:"Processing as builtin module",prefix:"plugin:require-cjs-transformer"});else{const t=k?.(s,o,this?.resolveId);if(e.debug({message:`shouldTransform result: ${t}`,prefix:"plugin:require-cjs-transformer"}),t===void 0){const m=await z(s,o,this.resolveId?.bind(this));b=m,e.debug({message:`isPureCJS result: ${m}`,prefix:"plugin:require-cjs-transformer"})}else b=t,e.debug({message:`Using shouldTransform result: ${b}`,prefix:"plugin:require-cjs-transformer"})}if(!b){e.debug({message:`Skipping import (not a CJS module): ${s}`,prefix:"plugin:require-cjs-transformer"});continue}if(i.specifiers.length===0){$?(e.debug({message:`Transforming side-effect builtin import to removal: ${s}`,prefix:"plugin:require-cjs-transformer"}),l.remove(i.start,i.end)):(e.debug({message:`Transforming side-effect import to require call: ${s} -> ${y}(${JSON.stringify(s)})`,prefix:"plugin:require-cjs-transformer"}),l.overwrite(i.start,i.end,`${y}(${JSON.stringify(s)});`),j=!0);continue}e.debug({message:`Processing ${i.specifiers.length} import specifiers`,prefix:"plugin:require-cjs-transformer"});const h=[];let c,n;for(const t of i.specifiers)if(t.type==="ImportNamespaceSpecifier")c=t.local.name,e.debug({message:`Found namespace import: ${c} from ${s}`,prefix:"plugin:require-cjs-transformer"});else if(t.type==="ImportSpecifier"){if(t.importKind==="type"){e.debug({message:`Skipping type-only named import: ${a.slice(t.imported.start,t.imported.end)}`,prefix:"plugin:require-cjs-transformer"});continue}const m=a.slice(t.imported.start,t.imported.end),f=t.local.name;h.push([m,f]),e.debug({message:`Found named import: ${m} as ${f}`,prefix:"plugin:require-cjs-transformer"})}else n=t.local.name,e.debug({message:`Found default import: ${n}`,prefix:"plugin:require-cjs-transformer"});let u;$?(s==="process"||s==="node:process"?u="__cjs_getProcess":(u=`__cjs_getBuiltinModule(${JSON.stringify(s)})`,j=!0),e.debug({message:`Generated builtin require code: ${u}`,prefix:"plugin:require-cjs-transformer"})):(u=`__cjs_require(${JSON.stringify(s)})`,j=!0,e.debug({message:`Generated CJS require code: ${u}`,prefix:"plugin:require-cjs-transformer"}));const q=[];if(c&&(n||=`_cjs_${c}_default`,e.debug({message:`Generated default ID for namespace: ${n}`,prefix:"plugin:require-cjs-transformer"})),n&&(q.push(`const ${n} = ${u};`),e.debug({message:`Added default import transformation: const ${n} = ${u}`,prefix:"plugin:require-cjs-transformer"})),c&&(q.push(`const ${c} = { ...${n}, default: ${n} };`),e.debug({message:`Added namespace import transformation: const ${c} = { ...${n}, default: ${n} }`,prefix:"plugin:require-cjs-transformer"})),h.length>0){const t=`const {
2
+ ${h.map(([m,f])=>` ${m===f?f:`${m}: ${f}`}`).join(`,
3
+ `)}
4
+ } = ${n||u};`;q.push(t),e.debug({message:`Added named imports transformation: ${t.replaceAll(`
5
+ `," ").trim()}`,prefix:"plugin:require-cjs-transformer"})}const v=q.join(`
6
+ `);e.debug({message:`Final transformation for ${s}: ${v}`,prefix:"plugin:require-cjs-transformer"}),l.overwrite(i.start,i.end,v)}if(j){const i=`import { createRequire as __cjs_createRequire } from "node:module";
7
+ const ${y} = __cjs_createRequire(import.meta.url);
8
+
9
+ // Runtime capability helpers
10
+ const __cjs_getBuiltinModule = (module) => {
11
+ // Check if we're in Node.js and version supports getBuiltinModule
12
+ if ("object" !== "undefined" && process.versions?.node) {
13
+ const [major, minor] = process.versions.node.split(".").map(Number);
14
+ // Node.js 20.16.0+ and 22.3.0+
15
+ if (major > 22 || (major === 22 && minor >= 3) || (major === 20 && minor >= 16)) {
16
+ return process.getBuiltinModule(module);
17
+ }
18
+ }
19
+ // Fallback to createRequire
20
+ return __cjs_require(module);
21
+ };
22
+
23
+ const __cjs_getProcess = typeof globalThis !== "undefined" && typeof globalThis.process !== "undefined" ? globalThis.process : process;
24
+ `;if(e.debug({message:`Adding require preamble: ${i.replaceAll(`
25
+ `," ").trim()}`,prefix:"plugin:require-cjs-transformer"}),a[0]==="#"){const s=a.indexOf(`
26
+ `)+1;e.debug({message:`Adding preamble after shebang at position ${s}`,prefix:"plugin:require-cjs-transformer"}),l.appendLeft(s,i)}else e.debug({message:"Adding preamble at the beginning",prefix:"plugin:require-cjs-transformer"}),l.prepend(i)}else e.debug({message:"No require preamble needed",prefix:"plugin:require-cjs-transformer"});const S=l.toString();return e.debug({message:`Transformation complete for ${g.fileName}`,prefix:"plugin:require-cjs-transformer"}),e.debug({message:`Original code length: ${a.length}, Transformed code length: ${S.length}`,prefix:"plugin:require-cjs-transformer"}),{code:S,map:l.generateMap()}},order:J}}},"requireCJSTransformerPlugin");export{ne as requireCJSTransformerPlugin};
@@ -10,7 +10,7 @@ import { Options as Options$4 } from 'rollup-plugin-dts';
10
10
  import { NodePolyfillsOptions } from 'rollup-plugin-polyfill-node';
11
11
  import { PureAnnotationsOptions } from 'rollup-plugin-pure';
12
12
  import { PluginVisualizerOptions } from 'rollup-plugin-visualizer';
13
- import { P as PailServerType } from './index.server.d-DhMawQMd.js';
13
+ import { P as PailServerType, M as MinifyHTMLLiteralsOptions } from './index-hWYvkB02.js';
14
14
  import { TransformOptions, Loader, BuildOptions } from 'esbuild';
15
15
  import { PackageJson } from '@visulima/package';
16
16
  import { BuildContext } from '@visulima/packem-share/types';
@@ -10,7 +10,7 @@ import { Options as Options$4 } from 'rollup-plugin-dts';
10
10
  import { NodePolyfillsOptions } from 'rollup-plugin-polyfill-node';
11
11
  import { PureAnnotationsOptions } from 'rollup-plugin-pure';
12
12
  import { PluginVisualizerOptions } from 'rollup-plugin-visualizer';
13
- import { P as PailServerType } from './index.server.d-DhMawQMd.mjs';
13
+ import { P as PailServerType, M as MinifyHTMLLiteralsOptions } from './index-hWYvkB02.mjs';
14
14
  import { TransformOptions, Loader, BuildOptions } from 'esbuild';
15
15
  import { PackageJson } from '@visulima/package';
16
16
  import { BuildContext } from '@visulima/packem-share/types';
@@ -1,6 +1,6 @@
1
1
  export { b as browserslistToEsbuild } from '../../packem_shared/browserslist-to-esbuild-DY9HwYtp.mjs';
2
- import { x as TransformerFn } from '../../packem_shared/types-BK7k04DQ.mjs';
3
- export { z as EsbuildPluginConfig, B as OptimizeDepsOptions, F as OptimizeDepsResult, A as Optimized, G as Options } from '../../packem_shared/types-BK7k04DQ.mjs';
2
+ import { x as TransformerFn } from '../../packem_shared/types-CMThMMkh.mjs';
3
+ export { z as EsbuildPluginConfig, B as OptimizeDepsOptions, F as OptimizeDepsResult, A as Optimized, G as Options } from '../../packem_shared/types-CMThMMkh.mjs';
4
4
  import '@rollup/plugin-alias';
5
5
  import '@rollup/plugin-commonjs';
6
6
  import '@rollup/plugin-json';
@@ -13,7 +13,9 @@ import 'rollup-plugin-dts';
13
13
  import 'rollup-plugin-polyfill-node';
14
14
  import 'rollup-plugin-pure';
15
15
  import 'rollup-plugin-visualizer';
16
- import '../../packem_shared/index.server.d-DhMawQMd.mjs';
16
+ import '../../packem_shared/index-hWYvkB02.mjs';
17
+ import 'magic-string';
18
+ import 'html-minifier-next';
17
19
  import 'esbuild';
18
20
  import '@visulima/package';
19
21
  import '@visulima/packem-share/types';
@@ -1,6 +1,6 @@
1
1
  export { b as browserslistToEsbuild } from '../../packem_shared/browserslist-to-esbuild-DY9HwYtp.js';
2
- import { x as TransformerFn } from '../../packem_shared/types-DvaEike_.js';
3
- export { z as EsbuildPluginConfig, B as OptimizeDepsOptions, F as OptimizeDepsResult, A as Optimized, G as Options } from '../../packem_shared/types-DvaEike_.js';
2
+ import { x as TransformerFn } from '../../packem_shared/types-Bk7lLMcF.js';
3
+ export { z as EsbuildPluginConfig, B as OptimizeDepsOptions, F as OptimizeDepsResult, A as Optimized, G as Options } from '../../packem_shared/types-Bk7lLMcF.js';
4
4
  import '@rollup/plugin-alias';
5
5
  import '@rollup/plugin-commonjs';
6
6
  import '@rollup/plugin-json';
@@ -13,7 +13,9 @@ import 'rollup-plugin-dts';
13
13
  import 'rollup-plugin-polyfill-node';
14
14
  import 'rollup-plugin-pure';
15
15
  import 'rollup-plugin-visualizer';
16
- import '../../packem_shared/index.server.d-DhMawQMd.js';
16
+ import '../../packem_shared/index-hWYvkB02.js';
17
+ import 'magic-string';
18
+ import 'html-minifier-next';
17
19
  import 'esbuild';
18
20
  import '@visulima/package';
19
21
  import '@visulima/packem-share/types';
@@ -1,97 +1,5 @@
1
- import { FilterPattern } from '@rollup/pluginutils';
2
- import { P as PailServerType } from '../../packem_shared/index.server.d-DhMawQMd.mjs';
3
- import { Plugin } from 'rollup';
4
- import { SourceMapOptions } from 'magic-string';
5
- import { MinifierOptions } from 'html-minifier-next';
6
-
7
- interface Template {
8
- parts: TemplatePart[];
9
- tag?: string;
10
- }
11
- interface TemplatePart {
12
- end: number;
13
- start: number;
14
- text: string;
15
- }
16
- interface Strategy$1<N = unknown> {
17
- getRootNode: (source: string, fileName?: string) => N;
18
- getTaggedTemplateTemplate: (node: N) => unknown;
19
- getTagText: (node: N) => string;
20
- getTemplateParts: (node: N) => TemplatePart[];
21
- isTaggedTemplate: (node: N) => boolean;
22
- isTemplate: (node: N) => boolean;
23
- walkNodes: (parent: N, visit: (child: N) => void) => void;
24
- }
25
-
26
- interface ParseLiteralsOptions {
27
- fileName?: string;
28
- strategy?: Partial<Strategy$1<unknown>>;
29
- }
30
- declare const parseLiterals: (source: string, options?: ParseLiteralsOptions) => Template[];
31
-
32
- interface Strategy<O = unknown, C = unknown> {
33
- combineHTMLStrings: (parts: TemplatePart[], placeholder: string) => string;
34
- getPlaceholder: (parts: TemplatePart[]) => string;
35
- minifyCSS?: (css: string, options?: C) => string;
36
- minifyHTML: (html: string, options?: O) => string | Promise<string>;
37
- splitHTMLByPlaceholder: (html: string, placeholder: string) => string[];
38
- }
39
- declare const defaultMinifyOptions: MinifierOptions;
40
-
41
- type Options = DefaultOptions | CustomOptions<unknown>;
42
- interface DefaultOptions extends BaseOptions {
43
- minifyOptions?: Partial<typeof defaultMinifyOptions>;
44
- }
45
- interface CustomOptions<S extends Strategy | unknown> extends BaseOptions {
46
- minifyOptions?: S extends Strategy<infer O> ? Partial<O> : never;
47
- strategy: S;
48
- }
49
- interface BaseOptions {
50
- fileName?: string;
51
- generateSourceMap?: ((ms: MagicStringLike, fileName: string) => SourceMap | undefined) | false;
52
- MagicString?: new (source: string) => MagicStringLike;
53
- parseLiterals?: typeof parseLiterals;
54
- parseLiteralsOptions?: Partial<ParseLiteralsOptions>;
55
- shouldMinify?: (template: Template) => boolean;
56
- shouldMinifyCSS?: (template: Template) => boolean;
57
- validate?: Validation | false;
58
- }
59
- interface MagicStringLike {
60
- generateMap: (options?: Partial<SourceMapOptions>) => SourceMap;
61
- overwrite: (start: number, end: number, content: string) => unknown;
62
- toString: () => string;
63
- }
64
- interface SourceMap {
65
- file?: string;
66
- mappings: string;
67
- names: string[];
68
- sources: string[];
69
- sourcesContent?: string[];
70
- toString: () => string;
71
- toUrl: () => string;
72
- version: number;
73
- }
74
- interface Validation {
75
- ensureHTMLPartsValid: (parts: TemplatePart[], htmlParts: string[]) => void;
76
- ensurePlaceholderValid: (placeholder: unknown) => void;
77
- }
78
- interface Result {
79
- code: string;
80
- map: SourceMap | undefined;
81
- }
82
- declare function minifyHTMLLiterals(source: string, options?: DefaultOptions): Promise<Result | null>;
83
- declare function minifyHTMLLiterals<S extends Strategy>(source: string, options?: CustomOptions<S>): Promise<Result | null>;
84
-
85
- interface MinifyHTMLLiteralsOptions {
86
- exclude?: FilterPattern;
87
- failOnError?: boolean;
88
- include?: FilterPattern;
89
- minifyHTMLLiterals?: typeof minifyHTMLLiterals;
90
- options?: Partial<Options>;
91
- }
92
- declare const minifyHTMLLiteralsPlugin: ({ exclude, failOnError, include, logger, minifyHTMLLiterals, options, }: MinifyHTMLLiteralsOptions & {
93
- logger: PailServerType;
94
- }) => Plugin;
95
-
96
- export { minifyHTMLLiteralsPlugin as default, minifyHTMLLiteralsPlugin };
97
- export type { MinifyHTMLLiteralsOptions };
1
+ import '@rollup/pluginutils';
2
+ export { M as MinifyHTMLLiteralsOptions, m as default, m as minifyHTMLLiteralsPlugin } from '../../packem_shared/index-hWYvkB02.mjs';
3
+ import 'rollup';
4
+ import 'magic-string';
5
+ import 'html-minifier-next';
@@ -1,78 +1,6 @@
1
- // @ts-ignore
2
- minifyHTMLLiteralsPlugin;
3
- export { minifyHTMLLiteralsPlugin };
4
- declare namespace minifyHTMLLiteralsPlugin {
5
- export interface Template {
6
- parts: TemplatePart[];
7
- tag?: string; }
8
- export interface TemplatePart {
9
- end: number;
10
- start: number;
11
- text: string; }
12
- export interface Strategy$1<N = unknown> {
13
- getRootNode: (source: string, fileName?: string) => N;
14
- getTaggedTemplateTemplate: (node: N) => unknown;
15
- getTagText: (node: N) => string;
16
- getTemplateParts: (node: N) => TemplatePart[];
17
- isTaggedTemplate: (node: N) => boolean;
18
- isTemplate: (node: N) => boolean;
19
- walkNodes: (parent: N, visit: (child: N) => void) => void; }
20
- export interface ParseLiteralsOptions {
21
- fileName?: string;
22
- strategy?: Partial<Strategy$1<unknown>>; }
23
- export const parseLiterals: (source: string, options?: ParseLiteralsOptions) => Template[];
24
- export interface Strategy<O = unknown, C = unknown> {
25
- combineHTMLStrings: (parts: TemplatePart[], placeholder: string) => string;
26
- getPlaceholder: (parts: TemplatePart[]) => string;
27
- minifyCSS?: (css: string, options?: C) => string;
28
- minifyHTML: (html: string, options?: O) => string | Promise<string>;
29
- splitHTMLByPlaceholder: (html: string, placeholder: string) => string[]; }
30
- export const defaultMinifyOptions: MinifierOptions;
31
- export type Options = DefaultOptions | CustomOptions<unknown>;
32
- export interface DefaultOptions extends BaseOptions {
33
- minifyOptions?: Partial<typeof defaultMinifyOptions>; }
34
- export interface CustomOptions<S extends Strategy | unknown> extends BaseOptions {
35
- minifyOptions?: S extends Strategy<infer O> ? Partial<O> : never;
36
- strategy: S; }
37
- export interface BaseOptions {
38
- fileName?: string;
39
- generateSourceMap?: ((ms: MagicStringLike, fileName: string) => SourceMap | undefined) | false;
40
- MagicString?: new (source: string) => MagicStringLike;
41
- parseLiterals?: typeof parseLiterals;
42
- parseLiteralsOptions?: Partial<ParseLiteralsOptions>;
43
- shouldMinify?: (template: Template) => boolean;
44
- shouldMinifyCSS?: (template: Template) => boolean;
45
- validate?: Validation | false; }
46
- export interface MagicStringLike {
47
- generateMap: (options?: Partial<SourceMapOptions>) => SourceMap;
48
- overwrite: (start: number, end: number, content: string) => unknown;
49
- toString: () => string; }
50
- export interface SourceMap {
51
- file?: string;
52
- mappings: string;
53
- names: string[];
54
- sources: string[];
55
- sourcesContent?: string[];
56
- toString: () => string;
57
- toUrl: () => string;
58
- version: number; }
59
- export interface Validation {
60
- ensureHTMLPartsValid: (parts: TemplatePart[], htmlParts: string[]) => void;
61
- ensurePlaceholderValid: (placeholder: unknown) => void; }
62
- export interface Result {
63
- code: string;
64
- map: SourceMap | undefined; }
65
- export function minifyHTMLLiterals<S extends Strategy>(source: string, options?: CustomOptions<S>): Promise<Result | null>;
66
- export interface MinifyHTMLLiteralsOptions {
67
- exclude?: FilterPattern;
68
- failOnError?: boolean;
69
- include?: FilterPattern;
70
- minifyHTMLLiterals?: typeof minifyHTMLLiterals;
71
- options?: Partial<Options>; }
72
- export const minifyHTMLLiteralsPlugin: ({ exclude, failOnError, include, logger, minifyHTMLLiterals, options, }: MinifyHTMLLiteralsOptions & {
73
- logger: PailServerType;
74
- }) => Plugin;
75
- import _default = minifyHTMLLiteralsPlugin;
76
- export { _default as default };
77
- }
78
- export = minifyHTMLLiteralsPlugin;
1
+ import '@rollup/pluginutils';
2
+ export { M as MinifyHTMLLiteralsOptions, m as minifyHTMLLiteralsPlugin } from '../../packem_shared/index-hWYvkB02.js';
3
+ import 'rollup';
4
+ import 'magic-string';
5
+ import 'html-minifier-next';
6
+ import { m } from '../../packem_shared/index-hWYvkB02.js';
@@ -1,7 +1,7 @@
1
1
  import { IsolatedDeclarationsOptions } from 'oxc-transform';
2
- import { t as IsolatedDeclarationsResult, X as OxcResolveOptions, x as TransformerFn } from '../../packem_shared/types-BK7k04DQ.mjs';
3
- export { Y as InternalOXCTransformPluginConfig, Z as OXCTransformPluginConfig } from '../../packem_shared/types-BK7k04DQ.mjs';
4
- import { P as PailServerType } from '../../packem_shared/index.server.d-DhMawQMd.mjs';
2
+ import { t as IsolatedDeclarationsResult, X as OxcResolveOptions, x as TransformerFn } from '../../packem_shared/types-CMThMMkh.mjs';
3
+ export { Y as InternalOXCTransformPluginConfig, Z as OXCTransformPluginConfig } from '../../packem_shared/types-CMThMMkh.mjs';
4
+ import { P as PailServerType } from '../../packem_shared/index-hWYvkB02.mjs';
5
5
  import { Plugin } from 'rollup';
6
6
  import '@rollup/plugin-alias';
7
7
  import '@rollup/plugin-commonjs';
@@ -19,6 +19,8 @@ import '@visulima/package';
19
19
  import '@visulima/packem-share/types';
20
20
  import 'oxc-resolver';
21
21
  import 'sucrase';
22
+ import 'magic-string';
23
+ import 'html-minifier-next';
22
24
 
23
25
  declare const isolatedDeclarationsOxcTransformer: (id: string, code: string, sourceMap?: boolean, transformOptions?: Omit<IsolatedDeclarationsOptions, "sourcemap">) => IsolatedDeclarationsResult;
24
26
 
@@ -1,7 +1,7 @@
1
1
  import { IsolatedDeclarationsOptions } from 'oxc-transform';
2
- import { t as IsolatedDeclarationsResult, X as OxcResolveOptions, x as TransformerFn } from '../../packem_shared/types-DvaEike_.js';
3
- export { Y as InternalOXCTransformPluginConfig, Z as OXCTransformPluginConfig } from '../../packem_shared/types-DvaEike_.js';
4
- import { P as PailServerType } from '../../packem_shared/index.server.d-DhMawQMd.js';
2
+ import { t as IsolatedDeclarationsResult, X as OxcResolveOptions, x as TransformerFn } from '../../packem_shared/types-Bk7lLMcF.js';
3
+ export { Y as InternalOXCTransformPluginConfig, Z as OXCTransformPluginConfig } from '../../packem_shared/types-Bk7lLMcF.js';
4
+ import { P as PailServerType } from '../../packem_shared/index-hWYvkB02.js';
5
5
  import { Plugin } from 'rollup';
6
6
  import '@rollup/plugin-alias';
7
7
  import '@rollup/plugin-commonjs';
@@ -19,6 +19,8 @@ import '@visulima/package';
19
19
  import '@visulima/packem-share/types';
20
20
  import 'oxc-resolver';
21
21
  import 'sucrase';
22
+ import 'magic-string';
23
+ import 'html-minifier-next';
22
24
 
23
25
  declare const isolatedDeclarationsOxcTransformer: (id: string, code: string, sourceMap?: boolean, transformOptions?: Omit<IsolatedDeclarationsOptions, "sourcemap">) => IsolatedDeclarationsResult;
24
26
 
@@ -1,6 +1,6 @@
1
1
  import '@rollup/pluginutils';
2
2
  import 'sucrase';
3
- export { _ as SucrasePluginConfig, $ as sucrasePlugin } from '../../packem_shared/types-BK7k04DQ.mjs';
3
+ export { _ as SucrasePluginConfig, $ as sucrasePlugin } from '../../packem_shared/types-CMThMMkh.mjs';
4
4
  import '@rollup/plugin-alias';
5
5
  import '@rollup/plugin-commonjs';
6
6
  import '@rollup/plugin-json';
@@ -12,7 +12,9 @@ import 'rollup-plugin-dts';
12
12
  import 'rollup-plugin-polyfill-node';
13
13
  import 'rollup-plugin-pure';
14
14
  import 'rollup-plugin-visualizer';
15
- import '../../packem_shared/index.server.d-DhMawQMd.mjs';
15
+ import '../../packem_shared/index-hWYvkB02.mjs';
16
+ import 'magic-string';
17
+ import 'html-minifier-next';
16
18
  import 'esbuild';
17
19
  import '@visulima/package';
18
20
  import '@visulima/packem-share/types';
@@ -1,6 +1,6 @@
1
1
  import '@rollup/pluginutils';
2
2
  import 'sucrase';
3
- export { _ as SucrasePluginConfig, $ as sucrasePlugin } from '../../packem_shared/types-DvaEike_.js';
3
+ export { _ as SucrasePluginConfig, $ as sucrasePlugin } from '../../packem_shared/types-Bk7lLMcF.js';
4
4
  import '@rollup/plugin-alias';
5
5
  import '@rollup/plugin-commonjs';
6
6
  import '@rollup/plugin-json';
@@ -12,7 +12,9 @@ import 'rollup-plugin-dts';
12
12
  import 'rollup-plugin-polyfill-node';
13
13
  import 'rollup-plugin-pure';
14
14
  import 'rollup-plugin-visualizer';
15
- import '../../packem_shared/index.server.d-DhMawQMd.js';
15
+ import '../../packem_shared/index-hWYvkB02.js';
16
+ import 'magic-string';
17
+ import 'html-minifier-next';
16
18
  import 'esbuild';
17
19
  import '@visulima/package';
18
20
  import '@visulima/packem-share/types';
@@ -1,5 +1,5 @@
1
- import { t as IsolatedDeclarationsResult, x as TransformerFn } from '../../packem_shared/types-BK7k04DQ.mjs';
2
- export { H as SwcPluginConfig } from '../../packem_shared/types-BK7k04DQ.mjs';
1
+ import { t as IsolatedDeclarationsResult, x as TransformerFn } from '../../packem_shared/types-CMThMMkh.mjs';
2
+ export { H as SwcPluginConfig } from '../../packem_shared/types-CMThMMkh.mjs';
3
3
  import '@rollup/plugin-alias';
4
4
  import '@rollup/plugin-commonjs';
5
5
  import '@rollup/plugin-json';
@@ -12,7 +12,9 @@ import 'rollup-plugin-dts';
12
12
  import 'rollup-plugin-polyfill-node';
13
13
  import 'rollup-plugin-pure';
14
14
  import 'rollup-plugin-visualizer';
15
- import '../../packem_shared/index.server.d-DhMawQMd.mjs';
15
+ import '../../packem_shared/index-hWYvkB02.mjs';
16
+ import 'magic-string';
17
+ import 'html-minifier-next';
16
18
  import 'esbuild';
17
19
  import '@visulima/package';
18
20
  import '@visulima/packem-share/types';
@@ -1,5 +1,5 @@
1
- import { t as IsolatedDeclarationsResult, x as TransformerFn } from '../../packem_shared/types-DvaEike_.js';
2
- export { H as SwcPluginConfig } from '../../packem_shared/types-DvaEike_.js';
1
+ import { t as IsolatedDeclarationsResult, x as TransformerFn } from '../../packem_shared/types-Bk7lLMcF.js';
2
+ export { H as SwcPluginConfig } from '../../packem_shared/types-Bk7lLMcF.js';
3
3
  import '@rollup/plugin-alias';
4
4
  import '@rollup/plugin-commonjs';
5
5
  import '@rollup/plugin-json';
@@ -12,7 +12,9 @@ import 'rollup-plugin-dts';
12
12
  import 'rollup-plugin-polyfill-node';
13
13
  import 'rollup-plugin-pure';
14
14
  import 'rollup-plugin-visualizer';
15
- import '../../packem_shared/index.server.d-DhMawQMd.js';
15
+ import '../../packem_shared/index-hWYvkB02.js';
16
+ import 'magic-string';
17
+ import 'html-minifier-next';
16
18
  import 'esbuild';
17
19
  import '@visulima/package';
18
20
  import '@visulima/packem-share/types';
@@ -1,7 +1,7 @@
1
1
  import { TranspileOptions } from 'typescript';
2
- import { t as IsolatedDeclarationsResult, K as TsConfigResult } from '../../packem_shared/types-BK7k04DQ.mjs';
3
- export { M as PatchTypesOptions, V as TsconfigPathsPluginOptions, Q as patchTypescriptTypes, Q as patchTypescriptTypesPlugin, W as resolveTsconfigPathsPlugin } from '../../packem_shared/types-BK7k04DQ.mjs';
4
- import { P as PailServerType } from '../../packem_shared/index.server.d-DhMawQMd.mjs';
2
+ import { t as IsolatedDeclarationsResult, K as TsConfigResult } from '../../packem_shared/types-CMThMMkh.mjs';
3
+ export { M as PatchTypesOptions, V as TsconfigPathsPluginOptions, Q as patchTypescriptTypes, Q as patchTypescriptTypesPlugin, W as resolveTsconfigPathsPlugin } from '../../packem_shared/types-CMThMMkh.mjs';
4
+ import { P as PailServerType } from '../../packem_shared/index-hWYvkB02.mjs';
5
5
  import { Plugin } from 'rollup';
6
6
  import '@rollup/plugin-alias';
7
7
  import '@rollup/plugin-commonjs';
@@ -20,6 +20,8 @@ import '@visulima/packem-share/types';
20
20
  import 'oxc-resolver';
21
21
  import 'oxc-transform';
22
22
  import 'sucrase';
23
+ import 'magic-string';
24
+ import 'html-minifier-next';
23
25
 
24
26
  declare const isolatedDeclarationsTypescriptTransformer: (id: string, code: string, sourceMap?: boolean, transformOptions?: TranspileOptions) => Promise<IsolatedDeclarationsResult>;
25
27
 
@@ -1,7 +1,7 @@
1
1
  import { TranspileOptions } from 'typescript';
2
- import { t as IsolatedDeclarationsResult, K as TsConfigResult } from '../../packem_shared/types-DvaEike_.js';
3
- export { M as PatchTypesOptions, V as TsconfigPathsPluginOptions, Q as patchTypescriptTypes, Q as patchTypescriptTypesPlugin, W as resolveTsconfigPathsPlugin } from '../../packem_shared/types-DvaEike_.js';
4
- import { P as PailServerType } from '../../packem_shared/index.server.d-DhMawQMd.js';
2
+ import { t as IsolatedDeclarationsResult, K as TsConfigResult } from '../../packem_shared/types-Bk7lLMcF.js';
3
+ export { M as PatchTypesOptions, V as TsconfigPathsPluginOptions, Q as patchTypescriptTypes, Q as patchTypescriptTypesPlugin, W as resolveTsconfigPathsPlugin } from '../../packem_shared/types-Bk7lLMcF.js';
4
+ import { P as PailServerType } from '../../packem_shared/index-hWYvkB02.js';
5
5
  import { Plugin } from 'rollup';
6
6
  import '@rollup/plugin-alias';
7
7
  import '@rollup/plugin-commonjs';
@@ -20,6 +20,8 @@ import '@visulima/packem-share/types';
20
20
  import 'oxc-resolver';
21
21
  import 'oxc-transform';
22
22
  import 'sucrase';
23
+ import 'magic-string';
24
+ import 'html-minifier-next';
23
25
 
24
26
  declare const isolatedDeclarationsTypescriptTransformer: (id: string, code: string, sourceMap?: boolean, transformOptions?: TranspileOptions) => Promise<IsolatedDeclarationsResult>;
25
27
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/packem-rollup",
3
- "version": "1.0.0-alpha.21",
3
+ "version": "1.0.0-alpha.22",
4
4
  "description": "Rollup plugins for packem",
5
5
  "keywords": [
6
6
  "visulima",
@@ -88,7 +88,7 @@
88
88
  "cjs-module-lexer": "^2.1.0",
89
89
  "clean-css": "^5.3.3",
90
90
  "glob-parent": "6.0.2",
91
- "html-minifier-next": "^2.1.6",
91
+ "html-minifier-next": "^2.1.7",
92
92
  "magic-string": "0.30.19",
93
93
  "mlly": "1.8.0",
94
94
  "oxc-parser": "0.93.0",
@@ -1,11 +0,0 @@
1
- var F=Object.defineProperty;var y=(r,e)=>F(r,"name",{value:e,configurable:!0});import{createRequire as I,builtinModules as M}from"node:module";import R from"node:process";import{createFilter as W}from"@rollup/pluginutils";import{init as w,parse as G}from"cjs-module-lexer";import B from"magic-string";import{parseSync as D}from"oxc-parser";import{readFile as K}from"@visulima/fs";import{findPackageJson as E}from"@visulima/package/package-json";var L=Object.defineProperty,U=y((r,e)=>L(r,"name",{value:e,configurable:!0}),"s");const z=U(async(r,e,m)=>{if(await w(),r.startsWith("node:"))return!1;if(r.endsWith(".cjs"))return!0;if(r.endsWith(".js")||!r.includes("/")&&!r.startsWith(".")){let o;if(m)try{o=(await m(r,e)).id}catch{}if(!o&&e&&!e.includes("!~{"))try{o=I(e).resolve(r)}catch{}if(o){try{const{packageJson:f}=await E(o);if(f.type==="module")return!1;if(f.type==="commonjs")return!0}catch{}try{const f=await K(o,{encoding:"utf8"});try{return G(f,o),!0}catch{}}catch{}}}return!1},"isPureCJS");var H=Object.defineProperty,N=y((r,e)=>H(r,"name",{value:e,configurable:!0}),"j");let _=!1;const q="__cjs_require",Q=N(r=>{if(Array.isArray(r.shouldTransform)){const{shouldTransform:e}=r;r.shouldTransform=m=>e.includes(m)}return{builtinNodeModules:!!r.builtinNodeModules,cwd:r.cwd||R.cwd(),exclude:r.exclude||[/node_modules/,/\.d\.[cm]?ts$/],include:r.include||[/\.[cm]?[jt]sx?$/],order:"order"in r?r.order:"pre",shouldTransform:r.shouldTransform}},"resolveOptions"),ne=N((r,e)=>{const{builtinNodeModules:m,cwd:o,exclude:f,include:J,order:P,shouldTransform:A}=Q(r),k=W(J,f);return{async buildStart(){_||(await w(),_=!0)},name:"packem:plugin-require-cjs",renderChunk:{async handler(a,g,{format:O}){if(O!=="es"){e.debug({message:"skip",prefix:"plugin:require-cjs-transformer"});return}if(!k(g.fileName)){e.debug({message:`Skipping file (excluded by filter): ${g.fileName}`,prefix:"plugin:require-cjs-transformer"});return}e.debug({message:`Processing chunk: ${g.fileName}`,prefix:"plugin:require-cjs-transformer"}),e.debug({message:`Code length: ${a.length} characters`,prefix:"plugin:require-cjs-transformer"});const C=D(g.fileName,a,{astType:"js",lang:"js",sourceType:"module"}),{body:S}=C.program,l=new B(a);let h=!1;e.debug({message:`Found ${S.length} AST statements to process`,prefix:"plugin:require-cjs-transformer"});for await(const i of S)if(i.type==="ImportDeclaration"){if(i.importKind==="type"){e.debug({message:`Skipping type-only import: ${i.source.value}`,prefix:"plugin:require-cjs-transformer"});continue}const s=i.source.value;e.debug({message:`Processing import: ${s}`,prefix:"plugin:require-cjs-transformer"});const b=m&&(M.includes(s)||s.startsWith("node:"));e.debug({message:`Is builtin module: ${b}`,prefix:"plugin:require-cjs-transformer"});let $;if(b)$=!0,e.debug({message:"Processing as builtin module",prefix:"plugin:require-cjs-transformer"});else{const t=A?.(s,o,this?.resolveId);if(e.debug({message:`shouldTransform result: ${t}`,prefix:"plugin:require-cjs-transformer"}),t===void 0){const u=await z(s,o,this.resolveId?.bind(this));$=u,e.debug({message:`isPureCJS result: ${u}`,prefix:"plugin:require-cjs-transformer"})}else $=t,e.debug({message:`Using shouldTransform result: ${$}`,prefix:"plugin:require-cjs-transformer"})}if(!$){e.debug({message:`Skipping import (not a CJS module): ${s}`,prefix:"plugin:require-cjs-transformer"});continue}if(i.specifiers.length===0){b?(e.debug({message:`Transforming side-effect builtin import to removal: ${s}`,prefix:"plugin:require-cjs-transformer"}),l.remove(i.start,i.end)):(e.debug({message:`Transforming side-effect import to require call: ${s} -> ${q}(${JSON.stringify(s)})`,prefix:"plugin:require-cjs-transformer"}),l.overwrite(i.start,i.end,`${q}(${JSON.stringify(s)});`),h=!0);continue}e.debug({message:`Processing ${i.specifiers.length} import specifiers`,prefix:"plugin:require-cjs-transformer"});const x=[];let p,n;for(const t of i.specifiers)if(t.type==="ImportNamespaceSpecifier")p=t.local.name,e.debug({message:`Found namespace import: ${p} from ${s}`,prefix:"plugin:require-cjs-transformer"});else if(t.type==="ImportSpecifier"){if(t.importKind==="type"){e.debug({message:`Skipping type-only named import: ${a.slice(t.imported.start,t.imported.end)}`,prefix:"plugin:require-cjs-transformer"});continue}const u=a.slice(t.imported.start,t.imported.end),d=t.local.name;x.push([u,d]),e.debug({message:`Found named import: ${u} as ${d}`,prefix:"plugin:require-cjs-transformer"})}else n=t.local.name,e.debug({message:`Found default import: ${n}`,prefix:"plugin:require-cjs-transformer"});let c;b?(c=s==="process"||s==="node:process"?"globalThis.process":`globalThis.process.getBuiltinModule(${JSON.stringify(s)})`,e.debug({message:`Generated builtin require code: ${c}`,prefix:"plugin:require-cjs-transformer"})):(c=`__cjs_require(${JSON.stringify(s)})`,h=!0,e.debug({message:`Generated CJS require code: ${c}`,prefix:"plugin:require-cjs-transformer"}));const j=[];if(p&&(n||=`_cjs_${p}_default`,e.debug({message:`Generated default ID for namespace: ${n}`,prefix:"plugin:require-cjs-transformer"})),n&&(j.push(`const ${n} = ${c};`),e.debug({message:`Added default import transformation: const ${n} = ${c}`,prefix:"plugin:require-cjs-transformer"})),p&&(j.push(`const ${p} = { ...${n}, default: ${n} };`),e.debug({message:`Added namespace import transformation: const ${p} = { ...${n}, default: ${n} }`,prefix:"plugin:require-cjs-transformer"})),x.length>0){const t=`const {
2
- ${x.map(([u,d])=>` ${u===d?d:`${u}: ${d}`}`).join(`,
3
- `)}
4
- } = ${n||c};`;j.push(t),e.debug({message:`Added named imports transformation: ${t.replaceAll(`
5
- `," ").trim()}`,prefix:"plugin:require-cjs-transformer"})}const v=j.join(`
6
- `);e.debug({message:`Final transformation for ${s}: ${v}`,prefix:"plugin:require-cjs-transformer"}),l.overwrite(i.start,i.end,v)}if(h){const i=m?`const ${q} = globalThis.process.getBuiltinModule("module").createRequire(import.meta.url);
7
- `:`import { createRequire as __cjs_createRequire } from "node:module";
8
- const ${q} = __cjs_createRequire(import.meta.url);
9
- `;if(e.debug({message:`Adding require preamble: ${i.replaceAll(`
10
- `," ").trim()}`,prefix:"plugin:require-cjs-transformer"}),a[0]==="#"){const s=a.indexOf(`
11
- `)+1;e.debug({message:`Adding preamble after shebang at position ${s}`,prefix:"plugin:require-cjs-transformer"}),l.appendLeft(s,i)}else e.debug({message:"Adding preamble at the beginning",prefix:"plugin:require-cjs-transformer"}),l.prepend(i)}else e.debug({message:"No require preamble needed",prefix:"plugin:require-cjs-transformer"});const T=l.toString();return e.debug({message:`Transformation complete for ${g.fileName}`,prefix:"plugin:require-cjs-transformer"}),e.debug({message:`Original code length: ${a.length}, Transformed code length: ${T.length}`,prefix:"plugin:require-cjs-transformer"}),{code:T,map:l.generateMap()}},order:P}}},"requireCJSTransformerPlugin");export{ne as requireCJSTransformerPlugin};