@visulima/packem 2.0.0-alpha.4 → 2.0.0-alpha.40
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 +449 -1
- package/LICENSE.md +5860 -963
- package/README.md +16 -12
- package/dist/builder/typedoc/generate-reference-documentation.d.ts +4 -0
- package/dist/builder/typedoc/index.d.ts +3 -26
- package/dist/cli/commands/add.d.ts +3 -0
- package/dist/cli/commands/build.d.ts +21 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/migrate.d.ts +21 -0
- package/dist/cli/commands/utils/css-loader-dependencies.d.ts +2 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +39 -35
- package/dist/config/index.d.ts +48 -28
- package/dist/config/preset/auto.d.ts +3 -0
- package/dist/config/preset/utils/infer-entries.d.ts +12 -0
- package/dist/config/preset/utils/overwrite-with-publish-config.d.ts +4 -0
- package/dist/config/utils/find-packem-file.d.ts +2 -0
- package/dist/config/utils/load-package-json.d.ts +6 -0
- package/dist/config/utils/load-packem-config.d.ts +7 -0
- package/dist/config/utils/load-preset.d.ts +4 -0
- package/dist/config/utils/load-tsconfig.d.ts +5 -0
- package/dist/config/utils/prepare-entries.d.ts +4 -0
- package/dist/index.d.ts +45 -32
- package/dist/index.js +1 -1
- package/dist/jit/create-stub.d.ts +4 -0
- package/dist/packem/build.d.ts +21 -0
- package/dist/packem/index.d.ts +25 -0
- package/dist/packem/node10-compatibility.d.ts +7 -0
- package/dist/packem/utils/brotli-size.d.ts +2 -0
- package/dist/packem/utils/group-by-keys.d.ts +3 -0
- package/dist/packem/utils/gzip-size.d.ts +2 -0
- package/dist/packem_shared/default-B2EOH52z.js +1 -0
- package/dist/packem_shared/default-BYM_JvQL.js +1 -0
- package/dist/packem_shared/{default-DqRcOUe1.js → default-Dego_fiC.js} +1 -1
- package/dist/packem_shared/{default-B6X7-Lx3.js → default-E4TiWfSK.js} +1 -1
- package/dist/packem_shared/esbuildPlugin-DpLtQGuZ-Bny-e486.js +3 -0
- package/dist/packem_shared/index-DFigeRU2.js +174 -0
- package/dist/packem_shared/oxcResolvePlugin-Ccef6pyL-D14z9S9i.js +1 -0
- package/dist/packem_shared/{resolveTypescriptMjsCtsPlugin-DcZrZTmM-BEkYWTsH.js → resolveTypescriptMjsCtsPlugin-DcZrZTmM-3AmQC7y7.js} +4 -4
- package/dist/rollup/build-types.d.ts +5 -0
- package/dist/rollup/build.d.ts +5 -0
- package/dist/rollup/get-rollup-options.d.ts +5 -0
- package/dist/rollup/plugins/css/loaders/less.d.ts +1 -1
- package/dist/rollup/plugins/css/loaders/less.js +1 -1
- package/dist/rollup/plugins/css/loaders/lightningcss.d.ts +1 -1
- package/dist/rollup/plugins/css/loaders/lightningcss.js +1 -1
- package/dist/rollup/plugins/css/loaders/postcss.d.ts +1 -1
- package/dist/rollup/plugins/css/loaders/postcss.js +1 -1
- package/dist/rollup/plugins/css/loaders/sass.d.ts +1 -1
- package/dist/rollup/plugins/css/loaders/sass.js +1 -1
- package/dist/rollup/plugins/css/loaders/sourcemap.d.ts +1 -8
- package/dist/rollup/plugins/css/loaders/sourcemap.js +1 -1
- package/dist/rollup/plugins/css/loaders/stylus.d.ts +1 -1
- package/dist/rollup/plugins/css/loaders/stylus.js +1 -1
- package/dist/rollup/plugins/css/loaders/tailwindcss.d.ts +1 -0
- package/dist/rollup/plugins/css/loaders/tailwindcss.js +1 -0
- package/dist/rollup/plugins/css/minifiers/cssnano.d.ts +1 -1
- package/dist/rollup/plugins/css/minifiers/cssnano.js +1 -1
- package/dist/rollup/plugins/css/minifiers/lightningcss.d.ts +1 -1
- package/dist/rollup/plugins/css/minifiers/lightningcss.js +1 -1
- package/dist/rollup/plugins/esbuild/index.d.ts +2 -24
- package/dist/rollup/plugins/esbuild/index.js +1 -1
- package/dist/rollup/plugins/oxc/isolated-declarations-oxc-transformer.d.ts +1 -25
- package/dist/rollup/plugins/oxc/oxc-transformer.d.ts +2 -20
- package/dist/rollup/plugins/resolve-externals-plugin.d.ts +60 -0
- package/dist/rollup/plugins/sucrase/index.d.ts +2 -19
- package/dist/rollup/plugins/swc/isolated-declarations-swc-transformer.d.ts +1 -20
- package/dist/rollup/plugins/swc/swc-plugin.d.ts +2 -26
- package/dist/rollup/plugins/typescript/isolated-declarations-typescript-transformer.d.ts +1 -24
- package/dist/rollup/utils/resolve-aliases.d.ts +4 -0
- package/dist/rollup/watch.d.ts +5 -0
- package/dist/types.d.ts +328 -0
- package/dist/utils/clean-distribution-directories.d.ts +4 -0
- package/dist/utils/create-or-update-key-storage.d.ts +3 -0
- package/dist/utils/extract-export-filenames.d.ts +16 -0
- package/dist/utils/find-alternatives.d.ts +2 -0
- package/dist/utils/get-package-side-effect.d.ts +3 -0
- package/dist/utils/infer-export-type.d.ts +3 -0
- package/dist/utils/kill-process.d.ts +14 -0
- package/dist/utils/log-build-errors.d.ts +4 -0
- package/dist/utils/remove-old-cache-folders.d.ts +3 -0
- package/dist/utils/warn-legacy-cjs.d.ts +8 -0
- package/dist/validator/attw.d.ts +7 -0
- package/dist/validator/package-json/index.d.ts +4 -0
- package/dist/validator/package-json/validate-dependencies.d.ts +4 -0
- package/dist/validator/package-json/validate-engines.d.ts +4 -0
- package/dist/validator/package-json/validate-package-entries.d.ts +4 -0
- package/dist/validator/package-json/validate-package-fields.d.ts +4 -0
- package/dist/validator/validate-alias-entries.d.ts +3 -0
- package/dist/validator/validate-bundle-size.d.ts +4 -0
- package/files.d.ts +37 -0
- package/package.json +53 -29
- package/dist/packem_shared/default-C3sdXf4G.js +0 -1
- package/dist/packem_shared/default-DR5Fia_R.js +0 -1
- package/dist/packem_shared/esbuildPlugin-BAwyhG6L-yty60jMl.js +0 -3
- package/dist/packem_shared/index-DySckW0r.d.ts +0 -5227
- package/dist/packem_shared/index-VKZ7e6tb.js +0 -138
- package/dist/packem_shared/oxcResolvePlugin-BJpi-eSG-BsYx9cDO.js +0 -1
- package/dist/packem_shared/types-CaBbG-vU.d.ts +0 -163
package/dist/index.d.ts
CHANGED
|
@@ -1,36 +1,49 @@
|
|
|
1
|
-
import { ConstructorOptions } from
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
import 'rollup';
|
|
17
|
-
import 'rollup-plugin-dts';
|
|
18
|
-
import 'rollup-plugin-polyfill-node';
|
|
19
|
-
import 'rollup-plugin-pure';
|
|
20
|
-
import 'rollup-plugin-visualizer';
|
|
21
|
-
import 'esbuild';
|
|
22
|
-
import '@visulima/package';
|
|
23
|
-
import '@visulima/colorize';
|
|
24
|
-
import 'oxc-resolver';
|
|
25
|
-
import 'oxc-transform';
|
|
26
|
-
import 'sucrase';
|
|
27
|
-
|
|
28
|
-
interface PackemOptions extends BuildConfig {
|
|
1
|
+
import type { ConstructorOptions } from "@visulima/pail";
|
|
2
|
+
import type { BuildConfig, Environment, Mode } from "./types.d.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for Packem bundler.
|
|
5
|
+
* @interface PackemOptions
|
|
6
|
+
* @augments {BuildConfig}
|
|
7
|
+
*/
|
|
8
|
+
export interface PackemOptions extends BuildConfig {
|
|
9
|
+
/**
|
|
10
|
+
* The environment to build for
|
|
11
|
+
* Determines the build environment configuration
|
|
12
|
+
* @default "production"
|
|
13
|
+
* @type {Environment}
|
|
14
|
+
* @memberof PackemOptions
|
|
15
|
+
*/
|
|
29
16
|
environment?: Environment;
|
|
17
|
+
/**
|
|
18
|
+
* Logger configuration options
|
|
19
|
+
* Used to customize the logging behavior and output format
|
|
20
|
+
* @type {ConstructorOptions<string, string>}
|
|
21
|
+
* @memberof PackemOptions
|
|
22
|
+
*/
|
|
30
23
|
logger?: ConstructorOptions<string, string>;
|
|
24
|
+
/**
|
|
25
|
+
* The mode to run Packem in
|
|
26
|
+
* Controls how the bundler processes and optimizes the code
|
|
27
|
+
* @default "build"
|
|
28
|
+
* @type {Mode}
|
|
29
|
+
* @memberof PackemOptions
|
|
30
|
+
*/
|
|
31
31
|
mode?: Mode;
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Runs the Packem bundler with the specified options
|
|
35
|
+
* @param rootDirectory The root directory of the project to bundle
|
|
36
|
+
* @param options Configuration options for the bundler
|
|
37
|
+
* @returns Promise that resolves with the build result
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* const result = await packem("./src", {
|
|
41
|
+
* mode: "build",
|
|
42
|
+
* environment: "production"
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare const packem: (rootDirectory: string, options?: PackemOptions) => Promise<void>;
|
|
47
|
+
export type { BuildEntry, BuildOptions, RollupBuildOptions } from "./types.d.ts";
|
|
48
|
+
export type { IsolatedDeclarationsTransformer, TransformerFn, TransformerName } from "@visulima/packem-rollup";
|
|
49
|
+
export type { BuildContext, BuildContextBuildAssetAndChunk, BuildContextBuildEntry, BuildHooks, Environment, Mode, Runtime, } from "@visulima/packem-share/types";
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var c=Object.defineProperty;var o=(e,r)=>c(e,"name",{value:r,configurable:!0});import{createPail as s}from"@visulima/pail";import{SimpleReporter as u}from"@visulima/pail/reporter";import{
|
|
1
|
+
var c=Object.defineProperty;var o=(e,r)=>c(e,"name",{value:r,configurable:!0});import{createPail as s}from"@visulima/pail";import{SimpleReporter as u}from"@visulima/pail/reporter";import{x as g}from"./packem_shared/index-DFigeRU2.js";var f=Object.defineProperty,l=o((e,r)=>f(e,"name",{value:r,configurable:!0}),"r");const C=l(async(e,r={})=>{const{debug:t,environment:i,logger:a,mode:n,tsconfigPath:m,...d}={debug:!1,environment:"production",logger:{},mode:"build",tsconfigPath:void 0,...r},p=s({reporters:[new u({error:{hideErrorCauseCodeView:!0,hideErrorCodeView:!0,hideErrorErrorsCodeView:!0}})],scope:"packem",...a});await g(e,n,i,p,t,d,m)},"packem");export{C as packem};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { FileCache } from "@visulima/packem-share";
|
|
2
|
+
import type { BuildContext } from "@visulima/packem-share/types";
|
|
3
|
+
import type { InternalBuildOptions } from "../types.d.ts";
|
|
4
|
+
/**
|
|
5
|
+
* Main build function that orchestrates the entire build process.
|
|
6
|
+
* Handles both JavaScript/TypeScript compilation and type definition generation.
|
|
7
|
+
* @param context Build context containing configuration and state
|
|
8
|
+
* @param fileCache Cache instance for file operations
|
|
9
|
+
* @returns Promise resolving to a boolean indicating build success
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const success = await build(BuildContext<InternalBuildOptions>, new FileCache());
|
|
13
|
+
* if (success) {
|
|
14
|
+
* console.log('Build completed successfully');
|
|
15
|
+
* }
|
|
16
|
+
* ```
|
|
17
|
+
* @throws {Error} If the build process encounters critical errors
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
declare const build: (context: BuildContext<InternalBuildOptions>, fileCache: FileCache) => Promise<boolean>;
|
|
21
|
+
export default build;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Pail } from "@visulima/pail";
|
|
2
|
+
import type { BuildConfig, Environment, Mode } from '../types.d.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Main entry point for the Packem bundler.
|
|
5
|
+
* Handles the complete build process including configuration loading, validation,
|
|
6
|
+
* and execution of the build/watch process.
|
|
7
|
+
* @param rootDirectory Root directory of the project
|
|
8
|
+
* @param mode Build mode (build/watch)
|
|
9
|
+
* @param environment Build environment (development/production)
|
|
10
|
+
* @param logger Logger instance for output
|
|
11
|
+
* @param inputConfig User provided build configuration and options
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import packem from 'packem';
|
|
15
|
+
*
|
|
16
|
+
* await packem('/path/to/project', 'build', 'production', logger, {
|
|
17
|
+
* debug: true,
|
|
18
|
+
* configPath: './packem.config.js'
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
* @throws {Error} If configuration validation fails or build process encounters errors
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
declare const packem: (rootDirectory: string, mode: Mode, environment: Environment, logger: Pail, debug: boolean, config: BuildConfig, tsconfigPath?: string) => Promise<void>;
|
|
25
|
+
export default packem;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BuildContext } from "@visulima/packem-share/types";
|
|
2
|
+
import type { InternalBuildOptions } from "../types.d.ts";
|
|
3
|
+
export type Node10CompatibilityOptions = {
|
|
4
|
+
typeScriptVersion?: string;
|
|
5
|
+
writeToPackageJson?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare const node10Compatibility: (logger: BuildContext<InternalBuildOptions>["logger"], entries: BuildContext<InternalBuildOptions>["options"]["entries"], outDirectory: string, rootDirectory: string, mode: "console" | "file", typeScriptVersion: string) => Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as a}from"./isolatedDeclarationsOxcTransformer-WbfE6cGu-NeZOx2Y7.js";import{z as s}from"./oxcResolvePlugin-Ccef6pyL-D14z9S9i.js";import{n as x}from"./oxcTransformPlugin-DfVQouIB-Cpfv95eA.js";export{a as isolatedDeclarationsOxcTransformer,s as oxcResolvePlugin,x as oxcTransformPlugin};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as a}from"./isolatedDeclarationsSwcTransformer-Ch2AgtWC-B-0lOgFf.js";import{t as e}from"./swcPlugin-Boip4lWG-CwJ-HVJc.js";export{a as isolatedDeclarationsSwcTransformer,e as swcPlugin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{v as r}from"./isolatedDeclarationsTypescriptTransformer-DkuEkofo-Cwe3ODMG.js";import{B as o,B as p,N as t,D as a,i as c}from"./resolveTypescriptMjsCtsPlugin-DcZrZTmM-
|
|
1
|
+
import{v as r}from"./isolatedDeclarationsTypescriptTransformer-DkuEkofo-Cwe3ODMG.js";import{B as o,B as p,N as t,D as a,i as c}from"./resolveTypescriptMjsCtsPlugin-DcZrZTmM-3AmQC7y7.js";export{r as isolatedDeclarationsTypescriptTransformer,o as patchTypescriptTypes,p as patchTypescriptTypesPlugin,t as resolveTsconfigPathsPlugin,a as resolveTsconfigRootDirectoriesPlugin,c as resolveTypescriptMjsCtsPlugin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as r}from"./browserslistToEsbuild-C0IWmbNe-C6xPL1oW.js";import{
|
|
1
|
+
import{b as r}from"./browserslistToEsbuild-C0IWmbNe-C6xPL1oW.js";import{z as e}from"./esbuildPlugin-DpLtQGuZ-Bny-e486.js";export{r as browserslistToEsbuild,e as esbuildPlugin};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var x=Object.defineProperty;var v=(e,r)=>x(e,"name",{value:r,configurable:!0});import{createFilter as O}from"@rollup/pluginutils";import{a as k}from"./index-CUp9WuCG.js";import{extname as M,join as P}from"@visulima/path";import{transform as y,formatMessages as $,build as A}from"esbuild";import{findCacheDirSync as E}from"@visulima/find-cache-dir";import{readFileSync as S}from"@visulima/fs";import*as W from"rs-module-lexer";import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
|
|
2
|
+
const require = __cjs_mod__.createRequire(import.meta.url);
|
|
3
|
+
var C=Object.defineProperty,F=v((e,r)=>C(e,"name",{value:r,configurable:!0}),"h"),I=Object.defineProperty,f=F((e,r)=>I(e,"name",{value:r,configurable:!0}),"u"),R=Object.defineProperty,q=f((e,r)=>R(e,"name",{value:r,configurable:!0}),"n$1");const w=q(async(e,r)=>{r.length>0&&(await $(r,{color:!0,kind:"warning"})).forEach(s=>e.warn(s))},"warn");var L=Object.defineProperty,D=f((e,r)=>L(e,"name",{value:r,configurable:!0}),"t");const N=D(e=>{if(e==="es")return"esm";if(e==="cjs")return e},"getEsbuildFormat"),T=D(({sourceMap:e=!0,...r})=>async function(s,n,i){if(r.minify||r.minifyWhitespace||r.minifyIdentifiers||r.minifySyntax){const t=N(i.format),c=await y(s,{format:t,loader:"js",sourcemap:e,...r});if(await w(this,c.warnings),c.code)return{code:c.code,map:c.map||void 0}}},"getRenderChunk");var B=Object.defineProperty,j=f((e,r)=>B(e,"name",{value:r,configurable:!0}),"n");const h=j(e=>e.replaceAll("\\","/"),"slash"),{parseAsync:G}=W,H=j(async e=>{const r=E("@visulima/packem/optimize-deps",{create:!0,cwd:e.cwd});if(!r)throw new Error('[packem:optimize-deps]: failed to find or create cache directory "node_modules/.cache/packem/optimize_deps".');await A({absWorkingDir:e.cwd,bundle:!0,entryPoints:e.include,format:"esm",ignoreAnnotations:!0,metafile:!0,outdir:r,sourcemap:e.sourceMap,splitting:!0,...e.esbuildOptions,plugins:[{name:"optimize-deps",async setup(n){n.onResolve({filter:/.*/},async i=>{if(e.exclude?.includes(i.path))return{external:!0};if(!i.pluginData?.__resolving_dep_path__&&e.include.includes(i.path)){const t=await n.resolve(i.path,{kind:"import-statement",pluginData:{__resolving_dep_path__:!0},resolveDir:i.resolveDir});return t.errors.length>0||t.warnings.length>0?t:{namespace:"optimize-deps",path:i.path,pluginData:{absolute:t.path,resolveDir:i.resolveDir}}}}),n.onLoad({filter:/.*/,namespace:"optimize-deps"},async i=>{const{absolute:t,resolveDir:c}=i.pluginData,p=S(t),{output:g}=await G({input:[{code:p,filename:t}]});return{contents:(g[0]?.exports??[]).length>0?`export * from '${h(t)}'`:`module.exports = require('${h(t)}')`,resolveDir:c}})}},...e.esbuildOptions?.plugins??[]]});const s=new Map;for(const n of e.include)s.set(n,{file:P(r,`${n}.js`)});return{cacheDir:r,optimized:s}},"optimizeDeps");var U=Object.defineProperty,J=f((e,r)=>U(e,"name",{value:r,configurable:!0}),"g");const K=J(({exclude:e,include:r,loaders:s,logger:n,optimizeDeps:i,sourceMap:t,...c})=>{const p=k;if(s!==void 0)for(let[o,a]of Object.entries(s)){const l=o.startsWith(".")?o:`.${o}`;typeof a=="string"?p[l]=a:a||delete p[l]}const g=Object.keys(p),z=new RegExp(`\\.(${g.map(o=>o.slice(1)).join("|")})$`),_=O(r??z,e);let u,b=process.cwd();return{async buildStart(){!i||u||(u=await H({cwd:b,sourceMap:t??!1,...i}),n.debug("optimized %O",u.optimized))},name:"packem:esbuild",options({context:o}){o&&(b=o)},renderChunk:T({...c,sourceMap:t}),async resolveId(o){if(u?.optimized.has(o)){const a=u.optimized.get(o);if(a)return n.debug("resolved %s to %s",o,a.file),a.file}},async transform(o,a){if(!_(a)||u?.optimized.has(a))return;const l=M(a),d=p[l];if(n.debug("transforming %s with %s loader",a,d),!d)return;const m=await y(o,{format:["base64","binary","dataurl","text","json"].includes(d)?"esm":void 0,loader:d,sourcefile:a.replace(/\.[cm]ts/,".ts"),sourcemap:t,...c});if(await w(this,m.warnings),m.code)return{code:m.code,map:m.map||void 0}}}},"esbuildTransformer");K.NAME="esbuild";export{K as z};
|