Détail du package

@visulima/packem

visulima2.5kMIT1.28.2

A fast and modern bundler for Node.js and TypeScript.

anolilab, assets, bundle, bundler

readme

Visulima Packem

A fast and modern bundler for Node.js and TypeScript.
Supports multiple runtimes, shared modules, server components, dynamic import, wasm, css, and more.
Built on top of Rollup, combined with your preferred transformer like esbuild, swc, OXC, or sucrase.


typescript-image npm-image license-image

Daniel Bannert's open source work is supported by the community on GitHub Sponsors


Overview

Visulima Packem is built on top of Rollup, combined with your preferred transformer like esbuild, swc, OXC, or sucrase. It enables you to generate multiple bundles (CommonJS or ESModule) simultaneously while adhering to Node.js’ native file type support.

It uses the exports configuration in package.json and recognizes entry file conventions to match your exports and build them into bundles.

Features

  • ✅ package.json#exports, package.json#main, package.json#module to define entry-points
  • ✅ package.json#bin to define executables
  • ✅ package.json#types to define types
  • ✅ Generates package.json#typeVersions to support node 10
  • ✅ Dependency externalization
  • ✅ Minification
  • ✅ TypeScript support + .d.ts bundling
  • ✅ Watch mode
  • ✅ CLI outputs (auto hashbang insertion)
  • ✅ Validator
    • Validates package.json and checks if all fields that are needed to publish your package are configured correctly
    • Bundle size validation
  • ✅ Supports multiple runtimes (default, react-server, edge-light, browser and node)
  • ✅ Supports react server and client components
  • ✅ Supports shared modules
  • ✅ Supports dynamic import
  • ✅ Supports tsconfig.json paths and package.json imports resolution
  • ✅ ESM ⇄ CJS interoperability
  • ✅ Supports isolated declaration types (experimental) (Typescript version 5.5 or higher)
  • ✅ Supports wasm WebAssembly modules
  • ✅ Supports css, sass, less, stylus and Up-to-date CSS Modules (experimental)
  • TypeDoc documentation generation

And more...

Install

npm install --save-dev @visulima/packem
yarn add -D @visulima/packem
pnpm add -D @visulima/packem

Prepare your project

You need to prepare your project to be able to bundle it with packem.

You can check out the following cases to configure your package.json.

<summary> JavaScript</summary> Then use the exports field in package.json to configure different conditions and leverage the same functionality as other bundlers, such as webpack. The exports field allows you to define multiple conditions. json { "files": ["dist"], "exports": { "import": "./dist/index.mjs", "require": "./dist/index.cjs" }, "scripts": { "build": "packem build" } }
<summary>TypeScript</summary> When building a TypeScript library, separate the types from the main entry file by specifying the types path in package.json. When you're using .mjs or .cjs extensions with TypeScript and modern module resolution (above node16), TypeScript will require specific type declaration files like .d.mts or .d.cts to match the extension. packem can automatically generate them to match the types to match the condition and extensions. One example is to configure your exports like this in package.json: json { "files": ["dist"], "exports": { "import": { "types": "./dist/index.d.mts", "default": "./dist/index.mjs" }, "require": { "types": "./dist/index.d.cts", "default": "./dist/index.cjs" } }, "scripts": { "build": "packem build" } }
<summary>Hybrid (CJS & ESM) Module Resolution with TypeScript</summary> If you're using TypeScript with Node 10 and Node 16 module resolution, you can use the types field in package.json to specify the types path. Then packem will generate the types file with the same extension as the main entry file. json { "files": ["dist"], "main": "./dist/index.cjs", "module": "./dist/index.mjs", "types": "./dist/index.d.ts", "exports": { "import": { "types": "./dist/index.d.mts", "default": "./dist/index.mjs" }, "require": { "types": "./dist/index.d.cts", "default": "./dist/index.cjs" } }, "scripts": { "build": "packem build" } } Enable the automatic node 10 typesVersions generation in packem.config.js: js export default defineConfig({ // ... rollup: { // ... node10Compatibility: { typeScriptVersion: ">=5.0", // Chose the version of TypeScript you want to support writeToPackageJson: true, }, // ... }, transformer, }); You can validate your package.json exports configuration with are the types wrong cli tool.

Links:

Usage

Initialize the packem configuration

Initialize packem in your project, this will create a packem.config.ts or packem.config.js file in the root of your project.

packem init [options]

This command will ask you some questions about your project and create the configuration file.

Bundle files

Run the following command to bundle your files:

packem build [options]

Then files in src folders will be treated as entry files and match the export names in package.json.

[!NOTE] The src folder can be configured in the packem configuration file.

For example: src/index.ts will match the exports name "." or the only main export.

Now just run npm run build or pnpm build / yarn build if you're using these package managers, packem will find the entry files and build them. The output format will be based on the exports condition and also the file extension. Given an example:

  • It's CommonJS for require and ESM for import based on the exports condition.
  • It's CommonJS for .cjs and ESM for .mjs based on the extension regardless the exports condition. Then for export condition like "node" you could choose the format with your extension.

[!NOTE] All the dependencies and peerDependencies will be marked as external automatically and not included in the bundle. If you want to include them in the bundle, you can use the --no-external option.

This will write the files into the ./dist folder.

[!NOTE] The dist folder can be configured in the packem configuration file.

Multiple Runtime

For exports condition like react-native, react-server and edge-light as they're special platforms, they could have different exports or different code conditions. In this case packem provides an override input source file convention if you want to build them as different code bundle.

For instance:

{
    "exports": {
        "react-server": "./dist/react-server.mjs",
        "edge-light": "./dist/edge-light.mjs",
        "import": "./dist/index.mjs"
    }
}

[!NOTE] The edge-light export contains a process.env.EdgeRuntime variable true, for all other runtimes false is returned.

production and development exports condition

If you need to separate the production and development exports condition, packem provides process.env.NODE_ENV injected by default if present that you don't need to manually inject yourself.

  • When the production exports condition is defined and the file ends with *.production.* in the package.json, the bundle will be minified.
  • When the development exports condition is defined and the file ends with *.development.* in the package.json, the bundle will not be minified.
{
    "exports": {
        "development": "./dist/index.development.mjs",
        "production": "./dist/index.production.mjs"
    }
}

Executables

To build executable files with the bin field in package.json. The source file matching will be same as the entry files convention.

[!NOTE] > packem automatically preserves and prepends the shebang to the executable file, and fix correct permissions for the executable file.

For example:

|- src/
  |- bin/
    |- index.ts

This will match the bin field in package.json as:

{
    "bin": "./dist/bin/index.cjs"
}

or .mjs if the type field is module in package.json.

{
    "type": "module",
    "bin": "./dist/bin/index.mjs"
}

For multiple executable files, you can create multiple files.

|- src/
  |- bin/
    |- foo.ts
    |- bar.ts

This will match the bin field in package.json as:

{
    "bin": {
        "foo": "./dist/bin/foo.cjs",
        "bar": "./dist/bin/bar.cjs"
    }
}

Server Components

packem supports to build server components and server actions with library directives like "use client" or "use server". It will generate the corresponding chunks for client and server that scope the client and server boundaries properly. Then when the library is integrated to an app such as Next.js, app bundler can transform the client components and server actions correctly and maximum the benefits.

If you're using "use client" or "use server" in entry file, then it will be preserved on top and the dist file of that entry will become a client component. If you're using "use client" or "use server" in a file that used as a dependency for an entry, then that file containing directives be split into a separate chunk and hoist the directives to the top of the chunk.

Shared Modules (Experimental)

There are always cases that you need to share code among bundles, but they don't have to be a separate entry or exports. You want to have them bundled into a shared chunk and then use them in different bundles. You can use shared module convention [name].[layer]-runtime.[ext] to create shared modules bundles.

<summary>Shared Utils Example</summary> js // src/util.shared-runtime.js /** * */ export function sharedUtil() { /* ... */ } Then you can use them in different entry files: js // src/index.js import { sharedUtil as sharedUtility } from "./util.shared-runtime"; js // src/lite.js import { sharedUtil as sharedUtility } from "./util.shared-runtime"; packem will bundle the shared module into a separate layer which matches the file name convention, in the above case it's "shared", and that bundle will be referenced by the different entry bundles.

With multiple runtime bundles, such as having default and react-server together. They could have the modules that need to be shared and kept as only one instance among different runtime bundles. You can use the shared module convention to create shared modules bundles for different runtime bundles.

<summary>Shared Runtime Module Example</summary> js "use client"; // src/app-context.shared-runtime.js export const AppContext = React.createContext(null); Then you can use them in different entry files: js // src/index.js import { AppContext } from "./app-context.shared-runtime"; js // src/index.react-server.js import { AppContext } from "./app-context.shared-runtime"; app-context.shared-runtime will be bundled into a separate chunk that only has one instance and be shared among different runtime bundles.

Text or Data Files

packem supports importing of file as string content, you can name the extension as .txt or .data, and it will be bundled as string content.

// src/index.js
import { text } from "./text.txt";

console.log(text); // "Hello World"

Visualize Bundle Makeup

Use the --visualize flag to generate a packem-bundle-analyze.html file at build time, showing the makeup of your bundle.

Building Module Workers (Experimental) (WIP)

packem supports building module workers with the --workers flag, which are a special type of bundle that can be used to run code in a web worker.

worker = new Worker(new URL("worker.js", import.meta.url), { type: "module" });
// or simply:
worker = new Worker("./worker.js", { type: "module" });

Plugins

A plugin can additionally specify an enforce property (similar to webpack loaders) to adjust its application order. The value of enforce can be either "pre" or "post". The value of type can be either "build" or "dts", where "build" is the default value.

If dts is specified, the plugin will only run when declaration files are generated.

The resolved plugins will be in the following order:

  • Alias
  • User plugins with enforce: 'pre'
  • Rollup core plugins
  • User plugins without enforce value
  • Rollup build plugins
  • User plugins with enforce: 'post'
  • Rollup post build plugins (minify, manifest, copy, reporting)
import { optimizeLodashImports } from "@optimize-lodash/rollup-plugin";
import { defineConfig } from "@visulima/packem/config";

export default defineConfig({
    // ...
    plugins: [
        {
            enforce: "pre",
            plugin: optimizeLodashImports(),
            // type: "build" -> default value
        },
    ],
    // ...
});

Aliases

Aliases are automatically inferred from paths in your tsconfig.json file, and can also be configured in the import map defined in package.json#imports.

For native Node.js import mapping, all entries must be prefixed with # to indicate an internal subpath import. Packem takes advantage of this behavior to define entries that are not prefixed with # as an alias.

Native Node.js import mapping supports conditional imports (eg. resolving different paths for Node.js and browser), but packem does not.

⚠️ Aliases are not supported in type declaration generation. If you need type support, do not use aliases.

{
    // ...

    "imports": {
        // Mapping '~utils' to './src/utils.js'
        "~utils": "./src/utils.js",

        // Native Node.js import mapping (can't reference ./src)
        "#internal-package": "./vendors/package/index.js"
    }
}

ESM ⇄ CJS interoperability

Node.js ESM offers interoperability with CommonJS via static analysis. However, not all bundlers compile ESM to CJS syntax in a way that is statically analyzable.

Because packem uses Rollup, it's able to produce CJS modules that are minimal and interoperable with Node.js ESM.

This means you can technically output in CommonJS to get ESM and CommonJS support.

require() in ESM

Sometimes it's useful to use require() or require.resolve() in ESM. ESM code that uses require() can be seamlessly compiled to CommonJS, but when compiling to ESM, Node.js will error because require doesn't exist in the module scope.

When compiling to ESM, packem detects require() usages and shims it with createRequire(import.meta.url).

Not only does packem shim ESM ⇄ CJS, but fixes the export and export types for default exports in your commonjs files.

To enable both features you need to add cjsInterop: true to your packem config.

export default defineConfig({
    cjsInterop: true,
    // ...
});

Environment variables

Pass in compile-time environment variables with the --env flag.

This will replace all instances of process.env.NODE_ENV with 'production' and remove unused code:

packem build --env.NODE_ENV=production

Programmatic Usage

You can use Packem programmatically in your Node.js applications without the CLI:

import { packem } from "@visulima/packem";

// Basic usage
await packem("./src", {
    environment: "production",
    mode: "build",
});

// With custom options
await packem("./src", {
    declaration: true,
    environment: "development",
    logger: {
        // Custom logger options
        level: "debug",
    },
    minify: true,
    mode: "build",
    sourcemap: true,
});

The packem function accepts the following parameters:

  • rootDirectory (string): The root directory of your project to bundle
  • options (PackemOptions): Configuration options that extend the BuildConfig interface
    • mode: The build mode ('build' | 'watch')
    • environment: The target environment ('development' | 'production')
    • declaration: Enable/disable TypeScript declaration file generation
    • minify: Enable/disable code minification
    • sourcemap: Enable/disable source map generation
    • logger: Logger configuration options

For more detailed configuration options, refer to the Configuration section.

Validators

Package.json Validation

Packem validates your package.json file and checks if all fields are configured correctly, that are needed to publish your package.

[!NOTE] To have a full validation checkup, visit publint and are the types wrong.

Bundle Size Validation

Packem validates the bundle size and checks if the bundle size is within the limit you set in the configuration file.

import { defineConfig } from "@visulima/packem/config";

export default defineConfig({
    // ...
    validator: {
        bundleSize: {
            limit: 1024 * 1024, // 1MB
            // or / and limits per file
            limits: {
                // Glob pattern
                "**/*.mjs": "1MB",
                "index.cjs": 1024 * 1024, // 1MB
                "test.mjs": "1MB",
            },
        },
    },
    // ...
});

Experimental Features

OXC Resolver

packem supports the oxc-resolver resolver to resolve modules in your project.

To use the oxc resolver, you need to enable it in the packem configuration file.

import { defineConfig } from "@visulima/packem/config";

export default defineConfig({
    // ...
    experimental: {
        oxcResolve: true,
    },
    // ...
});

TypeDoc

Installation

To generate api documentation for your project, you need to install typedoc to your project.

npm exec packem add typedoc
yarn exec packem add typedoc
pnpm exec packem add typedoc

To generate documentation for your project, you can use the --typedoc flag.

packem build --typedoc

This will generate a api-docs folder in the root of your project.

Different formats

You can specify the output format inside the packem.config.js file.

export default defineConfig({
    // ...
    typedoc: {
        format: "inline",
        readmePath: "./README.md",
    },
    // ...
});

Isolated declaration types (in TypeScript 5.5)

Generating .d.ts files with the default rollup-plugin-dts is slow because the TypeScript compiler must perform costly type inference, but these files streamline type checking by removing unnecessary details, and while shipping raw TypeScript files could simplify workflows, it is impractical due to ecosystem assumptions and performance trade-offs, which isolated declarations aim to address.

You need to choose of the supported transformer to use isolated declaration types.

Default is typescript.

import { defineConfig } from "@visulima/packem/config";
import isolatedDeclarationTransformer from "@visulima/packem/dts/isolated/transformer/typescript";
import transformer from "@visulima/packem/transformer/esbuild";

export default defineConfig({
    isolatedDeclarationTransformer,
    transformer,
});

Css and Css Modules

packem supports:

  • PostCSS
  • Sass
  • Less
  • Stylus
  • Up-to-date CSS Modules implementation
  • URL resolving/rewriting with asset handling
  • Ability to use @import statements inside regular CSS
  • Built-in assets handler
  • Ability to emit pure CSS for other plugins
  • Complete code splitting support, with respect for multiple entries, preserveModules and manualChunks
  • Multiple instances support, with check for already processed files
  • Proper sourcemaps, with included sources content by default
  • Respects assetFileNames for CSS file names
  • Respects sourcemaps from loaded files
  • Support for implementation forcing for Sass
  • Support for partials and ~ in Less import statements

PostCSS

PostCSS is a tool for transforming styles with JS plugins. These plugins can lint your CSS, add support for variables and mixins, transpile future CSS syntax, inline images, and more.

Install all the necessary dependencies:

npm install --save-dev postcss postcss-load-config postcss-modules postcss-modules-extract-imports postcss-modules-local-by-default postcss-modules-scope postcss-modules-values postcss-value-parser icss-utils
yarn add -D postcss postcss-load-config postcss-modules postcss-modules-extract-imports postcss-modules-local-by-default postcss-modules-scope postcss-modules-values postcss-value-parser icss-utils
pnpm add -D postcss postcss-load-config postcss-modules postcss-modules-extract-imports postcss-modules-local-by-default postcss-modules-scope postcss-modules-values postcss-value-parser icss-utils

Add the loader to your packem.config.ts:

import { defineConfig } from "@visulima/packem/config";
import postcssLoader from "@visulima/packem/css/loader/postcss";
import sourceMapLoader from "@visulima/packem/css/loader/sourcemap";
import transformer from "@visulima/packem/transformer/esbuild";

export default defineConfig({
    rollup: {
        css: {
            loaders: [postcssLoader, sourceMapLoader],
        },
    },
    transformer,
});

Sass

To use Sass, you need to install the sass package:

npm install --save-dev sass-embedded // recommended
// or
npm install --save-dev sass
// or
npm install --save-dev node-sass
yarn add -D sass-embedded // recommended
// or
yarn add -D sass
// or
yarn add -D node-sass
pnpm add -D sass-embedded // recommended
// or
pnpm add -D sass
// or
pnpm add -D node-sass

Add the loader to your packem.config.ts:

import { defineConfig } from "@visulima/packem/config";
import postcssLoader from "@visulima/packem/css/loader/postcss";
import sassLoader from "@visulima/packem/css/loader/sass";
import sourceMapLoader from "@visulima/packem/css/loader/sourcemap";
import transformer from "@visulima/packem/transformer/esbuild";

export default defineConfig({
    rollup: {
        css: {
            loaders: [postcssLoader, sassLoader, sourceMapLoader],
        },
    },
    transformer,
});

Less

To use Less, you need to install the less package:

npm install --save-dev less
yarn add -D less
pnpm add -D less

Add the loader to your packem.config.ts:

import { defineConfig } from "@visulima/packem/config";
import lessLoader from "@visulima/packem/css/loader/less";
import postcssLoader from "@visulima/packem/css/loader/postcss";
import sourceMapLoader from "@visulima/packem/css/loader/sourcemap";
import transformer from "@visulima/packem/transformer/esbuild";

export default defineConfig({
    rollup: {
        css: {
            loaders: [postcssLoader, lessLoader, sourceMapLoader],
        },
    },
    transformer,
});

Stylus

To use Stylus, you need to install the stylus package:

npm install --save-dev stylus
yarn add -D stylus
pnpm add -D stylus

Add the loader to your packem.config.ts:

import { defineConfig } from "@visulima/packem/config";
import postcssLoader from "@visulima/packem/css/loader/postcss";
import sourceMapLoader from "@visulima/packem/css/loader/sourcemap";
import stylusLoader from "@visulima/packem/css/loader/stylus";
import transformer from "@visulima/packem/transformer/esbuild";

export default defineConfig({
    rollup: {
        css: {
            loaders: [postcssLoader, stylusLoader, sourceMapLoader],
        },
    },
    transformer,
});

After that you can import CSS/Sass/Less/Stylus files in your code:

import "./styles.css";

Default mode is inject, which means CSS is embedded inside JS and injected into <head> at runtime, with ability to pass options to CSS injector or even pass your own injector.

CSS is available as default export in inject and extract modes, but if CSS Modules are enabled you need to use named css export.

// Injects CSS, also available as `style` in this example
import style from "./style.css";
// Using named export of CSS string
import { css } from "./style.css";

In emit mode none of the exports are available as CSS is purely processed and passed along the build pipeline, which is useful if you want to preprocess CSS before using it with CSS consuming plugins, e.g. rollup-plugin-lit-css.

PostCSS configuration files will be found and loaded automatically, but this behavior is configurable using config option.

Importing a file

CSS/Stylus

/* Import from `node_modules` */
@import "bulma/css/bulma";
/* Local import */
@import "./custom";
/* ...or (if no package named `custom` in `node_modules`) */
@import "custom";

Sass/Less

You can prepend the path with ~ to resolve in node_modules:

// Import from `node_modules`
@import "~bulma/css/bulma";
// Local import
@import "./custom";
// ...or
@import "custom";

Also note that partials are considered first, e.g.

@import "custom";

Will look for _custom first (with the appropriate extension(s)), and then for custom if _custom doesn't exist.

CSS Injection

styles({
    mode: "inject", // Unnecessary, set by default
    // ...or with custom options for injector
    mode: ["inject", { attributes: { id: "global" }, container: "body", prepend: true, singleTag: true }],
    // ...or with custom injector
    mode: ["inject", (varname, id) => `console.log(${varname},${JSON.stringify(id)})`],
});

CSS Extraction

styles({
    mode: "extract",
    // ... or with relative to output dir/output file's basedir (but not outside of it)
    mode: ["extract", "awesome-bundle.css"],
});

Metafile

Passing --metafile flag to tell packem to produce some metadata about the build in JSON format. You can feed the output file to analysis tools like bundle buddy to visualize the modules in your bundle and how much space each one takes up.

The file outputs as metafile-{bundleName}-{format}.json, e.g. packem will generate metafile-test-cjs.json and metafile-test-es.json.

onSuccess

You can specify command to be executed after a successful build, specially useful for Watch mode

packem build --watch --onSuccess "node dist/index.js"

onSuccess can also be a function that returns Promise. For this to work, you need to use packem.config.ts instead of the cli flag:

import { defineConfig } from "@visulima/packem/config";

export default defineConfig({
    // ...
    async onSuccess() {
        // Start some long running task
        // Like a server
    },
});

You can return a cleanup function in onSuccess:

import { defineConfig } from "@visulima/packem/config";

export default defineConfig({
    // ...
    onSuccess() {
        const server = http.createServer((request, res) => {
            res.end("Hello World!");
        });

        server.listen(3000);

        return () => {
            server.close();
        };
    },
});

Configuration

packem.config.js

The packem configuration file is a JavaScript file that exports an object with the following properties:

transformer

You choose which one of the three supported transformer to use.

File types

Packem exports a files.d.ts file that contains all supported the types.

To shim the types, you can use the following:

/// <reference types="@visulima/packem/files" />

Alternatively, you can add @visulima/packem/files to compilerOptions.types inside tsconfig.json:

{
    "compilerOptions": {
        "types": ["@visulima/packem/files"]
    }
}

This will provide the following type shims:

  • Asset imports (e.g importing an .svg, .module.css file)

Tip:

To override the default typing, add a type definition file that contains your typings. Then, add the type reference before @visulima/packem/files.

packem-env-override.d.ts (the file that contains your typings):

declare module "*.svg" {
    const content: React.FC<React.SVGProps<SVGElement>>;

    export default content;
}

The file containing the reference to @visulima/packem/files:

/// <reference types="./packem-env-override.d.ts" />
/// <reference types="@visulima/packem/files" />

Related

  • bunchee - Zero config bundler for ECMAScript and TypeScript packages
  • unbuild - 📦 An unified javascript build system
  • pkgroll - 📦 Zero-config package bundler for Node.js + TypeScript
  • siroc - Zero-config build tooling for Node
  • tsup - The simplest and fastest way to bundle your TypeScript libraries
  • microbundle - Zero-configuration bundler for tiny JS libs, powered by Rollup.

Supported Node.js Versions

Libraries in this ecosystem make the best effort to track Node.js’ release schedule. Here’s a post on why we think this is important.

Contributing

If you would like to help take a look at the list of issues and check our Contributing guild.

Note: please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Credits

License

The visulima pack is open-sourced software licensed under the MIT

changelog

@visulima/packem 1.28.2 (2025-06-24)

Bug Fixes

  • update transformer version retrieval logic in generateOptions (d8a460a)

@visulima/packem 1.28.1 (2025-06-24)

Bug Fixes

  • enhance build command options and improve regex safety in inferEntries (db07209)
  • resolve sourcemap generation issues in dynamic import extension plugin (7838a26)

Miscellaneous Chores

  • update dependencies in package.json and pnpm-lock.yaml (c3dbf1c)

Tests

  • enhance inferEntries tests with custom logger context (e370625)

@visulima/packem 1.28.0 (2025-06-23)

Features

  • add extraConditions to the packageJson validation, to add custom conditions (953b9d3)

@visulima/packem 1.27.0 (2025-06-22)

Features

  • Added "shamefully hoisted dependencies", "unused dependencies" validation (59c50d5)

Miscellaneous Chores

  • add @oxc-parser/binding-linux-x64-gnu as dev dep (34bff1b)

@visulima/packem 1.26.0 (2025-06-21)

Features

  • add rollup-plugin-pure integration (4f3133c)

Bug Fixes

  • correct formatting of pure annotations in test output (c5bebb2)

Styles

@visulima/packem 1.25.0 (2025-06-21)

Features

  • enhance package.json exports validation (becfebf)

@visulima/packem 1.24.1 (2025-06-21)

Bug Fixes

  • enable sourcemap when minify by default (dccf21b)

@visulima/packem 1.24.0 (2025-06-21)

Features

  • enabled SWC externalHelpers functionality (09a4c58)

@visulima/packem 1.23.1 (2025-06-21)

Bug Fixes

  • dont clean the dist folder on watch mode (7402d80)
  • iife invalid name rollup error (96f7e91)

@visulima/packem 1.23.0 (2025-06-21)

Features

  • enable sourcemap when declarationMap is set in tsconfig (7d677b6)

@visulima/packem 1.22.1 (2025-06-21)

Bug Fixes

  • add validation for duplicate values in outputExtensionMap (fd5a772)

@visulima/packem 1.22.0 (2025-06-21)

Features

  • prefer publishConfig from package.json when defined (df55b81)

@visulima/packem 1.21.0 (2025-06-21)

Features

  • add validation for Node.js engine requirements in package.json (2a84901)

Code Refactoring

  • improve unit tests for validateEngines function (71cff61)

Tests

  • add packageJson engines validation to integration tests (70426e4)

@visulima/packem 1.20.1 (2025-06-21)

Bug Fixes

  • enhance JIT integration tests and improve export handling for module namespace identifiers (83e3726)
  • enhance JIT integration tests and support for arbitrary module namespace identifiers (9cfd159)

@visulima/packem 1.20.0 (2025-06-20)

Features

  • adding outputExtensionMap to overwrite output extensions (#155) (1486eb6)

@visulima/packem 1.19.5 (2025-06-20)

Bug Fixes

  • deps: downgrade oxc-parser to 0.72.1 and update related dependencies (e88d3dc)
  • update dependencies and improve scripts (2ff10ed)

@visulima/packem 1.19.4 (2025-05-29)

Bug Fixes

  • deps: update dependency @swc/core to >=1.11.29 (#149) (1b399bb)

@visulima/packem 1.19.3 (2025-05-29)

Bug Fixes

@visulima/packem 1.19.2 (2025-05-28)

Bug Fixes

  • added a new test file for the fixDynamicImportExtension plugin to ensure correct functionality. (ef9e2da)
  • fixed dynamic imports (1fc3676)
  • packem: update rollup to v4.41 (d5ddfe1)
  • svg-encoder: implement SVG encoding utility and update URL plugin (407bc3e)
  • tests: enhance assertions in fixDynamicImportExtension test (1d122ac)
  • tests: improve integration tests for file URL resolution and TypeScript error handling (cb19cc3)
  • tests: update SVG data URIs to Base64 format in snapshots (11a84c0)
  • update dependencies and improve compatibility (1c3b34a)

Styles

Miscellaneous Chores

  • upgraded eslint to v9, removed prettier (#147) (6b5b991)

Code Refactoring

  • tests: improve test assertions and add svg encoder utility (0123f5c)
  • tests: rename execPackemSync to execPackem in test files (ed33237)

Continuous Integration

@visulima/packem 1.19.1 (2025-03-05)

Bug Fixes

  • fixed dts only out generation, fixed compatibility mode if the value is true (a22c132)

@visulima/packem 1.19.0 (2025-03-04)

Features

  • extended the bundler to compiling TypeScript declaration files only, now you can compile and .d.ts, .d.cts and .d.mts file without a .ts file (88c6447)

Miscellaneous Chores

  • update @octokit dependencies to latest versions in package.json and pnpm-lock.yaml (7ccd07b)
  • update Node.js engine compatibility and refine package overrides in package.json and pnpm-lock.yaml (c06cfd9)

@visulima/packem 1.18.6 (2025-03-04)

Bug Fixes

  • added missing experimental oxc resolve to build step (e73e7ac)
  • update @visulima/* deps to the latest version, oxc-parser to v0.54.0, oxc-resolver to v4.2.0, rollup to v4.34.9, all dev deps (c7d63fc)

@visulima/packem 1.18.5 (2025-01-27)

Bug Fixes

  • fixed validation handling if the value is undefined, improved check on the object values (1727fc7)
  • if the browser runtime is select, set true for browser on the node-resolve plugin (e650ab5)

Miscellaneous Chores

  • fixed test, where validation was missing (1911794)

@visulima/packem 1.18.4 (2025-01-27)

Bug Fixes

  • packem: major codebase restructuring and improvements (f71710e)

Miscellaneous Chores

  • fixed package.json exports (c585ff5)
  • fixed test, after pnpm audit fix (a659751)

@visulima/packem 1.18.3 (2025-01-25)

Bug Fixes

  • added exclude rule for node_modules and dist to the auto preset (84ad8ae)

@visulima/packem 1.18.2 (2025-01-25)

Bug Fixes

  • updated all @visulima/* packages, rollup to v4.32.0, oxc-parser to 0.48 (e92a921)

@visulima/packem 1.18.1 (2025-01-25)

Bug Fixes

  • smaller minification size when swc is used, changed minimizer passes to 2, fixed log output (c13af8a)

@visulima/packem 1.18.0 (2025-01-22)

Features

Miscellaneous Chores

  • added OXC to the readme (9ad3749)

@visulima/packem 1.17.5 (2025-01-22)

Bug Fixes

@visulima/packem 1.17.4 (2025-01-22)

Bug Fixes

  • improved the node10-compatibility typesVersions generation, this is not more a rollup plugin, but a handler after the build process (8ae1433)

@visulima/packem 1.17.3 (2025-01-22)

Bug Fixes

  • the node10-compatibility-plugin needs to call the write json as sync, otherwise it can throw a error that the .tmp file does not exits (51bdebc)

@visulima/packem 1.17.2 (2025-01-22)

Bug Fixes

  • fixed typesVersions generation for different runtimes (f7334a9)
  • fixed typesVersions rollup plugin to generate only unique values (5d8986c)

@visulima/packem 1.17.1 (2025-01-22)

Bug Fixes

  • added better hash key to resolvedIdCache function (e9d08a8)
  • added missing TypeDoc's (65890c0)
  • removed resolvedIdCache, our internal node resolve handles all cases (09de68f)
  • updated @visulima/tsconfig to v1.1.9, oxc-resolver to v4.0.0 and dev deps (c46b389)

Miscellaneous Chores

  • updated package version to 0.0.0, because semantic-release does update it (fc3cf0e)
  • updated version in package.json (6d1839f)

@visulima/packem 1.17.0 (2025-01-20)

Features

  • added browser runtime support to esbuild, added NAME variable to (#103) (c0cf7d7)

Bug Fixes

Miscellaneous Chores

  • update lock, added lint:dedupe command (776935a)

@visulima/packem 1.16.0 (2025-01-20)

Features

Bug Fixes

  • updated rollup to v4.31.0, oxc-parser to v0.47.1, @visulima/humanizer to 1.1.0 (3b0eca8)

@visulima/packem 1.15.0 (2025-01-18)

Features

  • improved the build size information, added brotli and gzip infos, fixed wrong chunks sum on files, removed duplicates (5f9703c)

@visulima/packem 1.14.1 (2025-01-18)

Bug Fixes

  • added node:sqlite as prefixed builtin module (08af477)

@visulima/packem 1.14.0 (2025-01-18)

Features

  • added the possibility to set false on the validation option to disable the package.json validation (c814f6e)

Styles

@visulima/packem 1.13.0 (2025-01-17)

Features

  • experimental oxc resolver plugin to replace rollup node-resolve… (#101) (013e52b)

@visulima/packem 1.12.1 (2025-01-17)

Bug Fixes

  • removed file cache from resolveExternalsPlugin, removed resolveTypescriptMjsCtsPlugin from builds config, added first ecosystem test (33a3a26)

Tests

  • improved tests, added runtime to all test with react (741a1dd)

@visulima/packem 1.12.0 (2025-01-17)

Features

  • added new runtime option to switch between browser and node, node is the default. (59332b7)

Bug Fixes

  • fixed check for with and assert based on the node version, now all future node versions are supported (ac63669)

@visulima/packem 1.11.2 (2025-01-16)

Bug Fixes

  • fixed support for node 23, updated all @visulima/*, mlly and oxc-parser dependencies, added node 23 to the workflow (d3643f8)

@visulima/packem 1.11.1 (2025-01-15)

Bug Fixes

  • improved external handling, added new test to validate logic (957881c)
  • improved external handling, check resolvedId and originalId if it exits in alias list, run originalId, resolvedId on all checks (112d188)

@visulima/packem 1.11.0 (2025-01-12)

Features

  • handle dynamic require in ESM (d45d512)

Bug Fixes

  • updated all @visulima/* packages (5aedc76)

Miscellaneous Chores

  • Update readme to include alias support in tsconfig file. (bdff288)

@visulima/packem 1.10.7 (2025-01-09)

Bug Fixes

  • added esModuleMark check when typescript compilerOptions esModuleInterop is used, default falls back to if-default-prop (a385ff6)

@visulima/packem 1.10.6 (2025-01-08)

Bug Fixes

  • added missing external and no-external option to the cli (c6fe2ac)
  • node resolve should use production condition if no environment was found (a4b7ee9)

@visulima/packem 1.10.5 (2025-01-07)

Bug Fixes

  • removed temporally @ckeditor/typedoc-plugins, fixed typedoc generation, added jsonFileName option for json format, fixed add command for typedoc (92c5710)

@visulima/packem 1.10.4 (2025-01-07)

Bug Fixes

  • do not replace NODE_ENV by default (a1e4ade)

@visulima/packem 1.10.3 (2025-01-07)

Bug Fixes

  • dont throw a error if the files filed is missing in the package.json (c84a359)
  • updated dependencies, @visulima/*, rollup v4.30.1, rollup-plugin-visualizer v5.14.0, tinyexec v0.3.2 (048bc64)

@visulima/packem 1.10.2 (2024-12-29)

Bug Fixes

  • fixed broken regex on dynamic imports (7f1ca89)

@visulima/packem 1.10.1 (2024-12-27)

Bug Fixes

  • fixed default export from jiti stub (59d3186)
  • updated dependencies, @clack/prompts, @rollup/plugin-commonjs, @rollup/plugin-node-resolve, @rollup/plugin-replace, @rollup/pluginutils, @visulima/*, es-module-lexer, jiti, magic-string, oxc-parser, oxc-resolver, rollup, rollup-plugin-visualizer (119e4f5)

@visulima/packem 1.10.0 (2024-12-13)

Features

  • updated dependencies, added support for sourcemap for isolated-declarations, added node version into the output, added auto switch for importAttributesKey, improved v8-compile-cache loading (3561045)

@visulima/packem 1.9.2 (2024-11-24)

Bug Fixes

  • enabled compile cache for node v22 and higher (092521f)
  • updated oxc dep, fixed wrong logger context (db2ded9)
  • updated rollup to v4.27.4, @clack/prompts and dev dependencies (57287f5)

Miscellaneous Chores

  • fixed test after logger context fix (f30a486)

@visulima/packem 1.9.1 (2024-11-24)

Bug Fixes

  • fixed regex for esm shim (c6e95b4)
  • improve the esm-shim matching (196f250)
  • improved types and added debug logger for isolated declarations (4e380bc)
  • removed dead code of prepend-directives.ts (1d80cee)

@visulima/packem 1.9.0 (2024-11-23)

Features

  • added a files shim types file, fixed log for externals (3a93717)

@visulima/packem 1.8.2 (2024-11-22)

Bug Fixes

  • fixed resolution of node externals (#72) (4eecfcc)

@visulima/packem 1.8.1 (2024-11-21)

Bug Fixes

  • removed cache plugin from nodeResolvePlugin (827a1f6)

Miscellaneous Chores

  • added missing dev dependency for the new test (cb9d86f)

@visulima/packem 1.8.0 (2024-11-19)

Features

  • added options to resolve absolute path in tsconfig paths (9bbb1b5)

Bug Fixes

  • clean up after improved tsconfig paths resolving change (365d872)

@visulima/packem 1.7.3 (2024-11-19)

Bug Fixes

  • improved tsconfig paths resolving (#64) (a79f79d)

@visulima/packem 1.7.2 (2024-11-17)

Bug Fixes

@visulima/packem 1.7.1 (2024-11-17)

Bug Fixes

  • updated docs about isolated declarations, moved sourcemapsPlugin… (#63) (d64d022)

@visulima/packem 1.7.0 (2024-11-17)

Features

  • added new source-maps plugin for loading files with existing source maps. (a3407d6)

@visulima/packem 1.6.5 (2024-11-15)

Bug Fixes

  • updated rollup version to v4.27.2, added treeshake optimization, fixed some cs issues (359868c)

Miscellaneous Chores

@visulima/packem 1.6.4 (2024-11-15)

Bug Fixes

  • fixed selecting other extension then javascript/typescript (1787270)

@visulima/packem 1.6.3 (2024-11-15)

Bug Fixes

  • fixed metafile generation, added docs how to use it (f9fd349)

@visulima/packem 1.6.2 (2024-11-13)

Bug Fixes

  • updated dev dependencies and mlly and rollup dep (c05290f)

@visulima/packem 1.6.1 (2024-11-13)

Bug Fixes

  • removed exclude from esbuild, preserveDirectives and url (db4e0fd)

Miscellaneous Chores

  • updated snapshot of a test (fe94338)

@visulima/packem 1.6.0 (2024-11-13)

Features

  • added support for url which imports files as data-URIs or ES (#60) (7342aad)

Miscellaneous Chores

  • deps: update dependency postcss to >=8.4.47 (#55) (7261f2c)

@visulima/packem 1.5.1 (2024-11-06)

Bug Fixes

  • css: treeshake css modules (749720d)

@visulima/packem 1.5.0 (2024-11-05)

Features

@visulima/packem 1.4.2 (2024-11-05)

Bug Fixes

  • removed typedoc dependencies, that were wrongly added on rebase (b468162)

@visulima/packem 1.4.1 (2024-11-04)

Bug Fixes

  • adjusted experimental rollup plugins config (#52) (1573157)

@visulima/packem 1.4.0 (2024-11-04)

Features

  • support css (PostCSS, Sass, Less, Stylus, Lightningcss) (#28) (#46) (314d71f)

@visulima/packem 1.3.0-alpha.1 (2024-11-04)

Features

  • added onSuccess - execute a command/function after successful run (#50) (df34a47)
  • support css (PostCSS, Sass, Less, Stylus, Lightningcss) (#28) (f413209)

Bug Fixes

  • fixed configuration for the postcss config loader (f27bc25)
  • fixed found issue after rebase (08779d6)
  • improved sass error (730a12b)
  • load postcss config within workspace root or package root only (d91d879)
  • removed not use postcss-modules dep (5bc44b1)
  • updated dependencies (933c290)

Miscellaneous Chores

  • release: @visulima/packem@1.2.0-alpha.1 [skip ci]\n\n## @visulima/packem 1.2.0-alpha.1 (2024-10-30) (39068c8), closes #28 #25
  • release: @visulima/packem@1.2.0-alpha.2 [skip ci]\n\n## @visulima/packem 1.2.0-alpha.2 (2024-10-31) (460bdc9)
  • release: @visulima/packem@1.2.0-alpha.3 [skip ci]\n\n## @visulima/packem 1.2.0-alpha.3 (2024-10-31) (8de34da)
  • updated lock file (a2565a0)

Continuous Integration

  • skip css test if prod build (9910924)

@visulima/packem 1.3.0 (2024-11-04)

Features

  • added onSuccess - execute a command/function after successful run (#50) (df34a47)

@visulima/packem 1.2.0-alpha.3 (2024-10-31)

Bug Fixes

  • load postcss config within workspace root or package root only (e09aa5b)
  • removed not use postcss-modules dep (dea809a)

@visulima/packem 1.2.0-alpha.2 (2024-10-31)

Bug Fixes

@visulima/packem 1.2.0-alpha.1 (2024-10-30)

Features

  • support css (PostCSS, Sass, Less, Stylus, Lightningcss) (#28) (492fb35)

Bug Fixes

  • fixed configuration for the postcss config loader (ab2373d)
  • fixed package.json types validator (da06748)
  • updated dependencies (623c23a)

Miscellaneous Chores

  • deps: update babel monorepo to ^7.25.9 (190c9a2)
  • deps: update dependency @swc/core to ^1.7.39 (052dcbf)
  • deps: update dependency eslint to v8.57.1 (bcee15c)
  • deps: update minor updates (0c20bbe)
  • deps: update patch updates (fb1aa46)
  • deps: update swc monorepo (#25) (1e30f80)
  • fixed package.json types validator tests (876f276)
  • updated lock file (9db1405)

Continuous Integration

  • skip css test if prod build (19b32ce)

@visulima/packem 1.2.2 (2024-11-04)

Bug Fixes

  • updated dependencies of @visulima/*,@babel/parser,jiti,rollup and tinyglobby (46b8837)

@visulima/packem 1.2.1 (2024-11-03)

Bug Fixes

  • added missing builder run to watch, adjusted some watch text (311b53f)

@visulima/packem 1.2.0 (2024-11-02)

Features

  • added support for ?raw query to import content as inline (#49) (b5d4fba)

Miscellaneous Chores

  • deps: update dependency @swc/core to ^1.7.40 (a5006eb)
  • deps: update dependency @types/react to ^18.3.12 (885eca4)

@visulima/packem 1.1.1 (2024-10-24)

Bug Fixes

  • fixed package.json types validator (da06748)

Miscellaneous Chores

  • deps: update babel monorepo to ^7.25.9 (190c9a2)
  • deps: update dependency @swc/core to ^1.7.39 (052dcbf)
  • deps: update dependency eslint to v8.57.1 (bcee15c)
  • deps: update minor updates (0c20bbe)
  • deps: update patch updates (fb1aa46)
  • deps: update swc monorepo (#25) (1e30f80)
  • fixed package.json types validator tests (876f276)

@visulima/packem 1.1.0 (2024-10-22)

Features

  • add command to install optional features & builder option (#40) (2d64af9)

@visulima/packem 1.0.9 (2024-10-21)

Bug Fixes

  • updated @babel/parser, @rollup/plugin-commonjs, @rollup/plugin-dynamic-import-vars, @visulima packages, jiti, magic-string, mlly, typedoc and oxc-parser (73d5a93)

@visulima/packem 1.0.8 (2024-10-05)

Bug Fixes

  • updated packem dependencies (818e146)

@visulima/packem 1.0.7 (2024-10-02)

Bug Fixes

  • updated jiti to 2.1.0, rollup to 4.24.0, tinyglobby to 0.2.9, typedoc-plugin-markdown to 4.2.9 and @ckeditor/typedoc-plugins to 44.0.0, removed is-glob (4a090ac)

Miscellaneous Chores

  • update dev dependencies (be7a73e)

@visulima/packem 1.0.6 (2024-09-30)

Bug Fixes

  • added missing ctsx and mtsx extensions (0d2c637)

@visulima/packem 1.0.5 (2024-09-29)

Bug Fixes

  • fixed wrong entries finding if declaration are off, updated rollup to v4.22.5 and oxc-parser to 0.30.5 (17e0ff5)

Miscellaneous Chores

  • updated dev dependencies (cfbb2be)

@visulima/packem 1.0.4 (2024-09-26)

Bug Fixes

  • Use fileURLToPath for path normalization in createStub and update dependencies (bd71bd7)

@visulima/packem 1.0.3 (2024-09-25)

Bug Fixes

  • support more special fields of target runtime (#22) (827da5e)

@visulima/packem 1.0.2 (2024-09-24)

Bug Fixes

  • deps: update patch updates (a6a649d)

@visulima/packem 1.0.1 (2024-09-23)

Bug Fixes

  • hardcoded cache dir to "@visulima/packem" (b256aa7)

@visulima/packem 1.0.0 (2024-09-23)

Features

  • packem: new bundler based on rollup (#18) (6b29a0c)

@visulima/packem 1.0.0-alpha.133 (2024-09-23)

Bug Fixes

@visulima/packem 1.0.0-alpha.132 (2024-09-23)

Features

Bug Fixes

  • disabled default loader of typedoc (fe11953)
  • fixed analyze option (7a1bd14)
  • fixed found bugs, change marker ending (3981f31)
  • fixed found bugs, change marker ending (4bb0dcc)
  • fixed found issues with types, improve typedoc with 1 entry (295b9bd)

@visulima/packem 1.0.0-alpha.131 (2024-09-20)

Bug Fixes

Continuous Integration

  • one more fix for chunk test (53d6586)

@visulima/packem 1.0.0-alpha.130 (2024-09-20)

Bug Fixes

  • fixed attw (1dccbac)
  • improved regex of isolated declarations (d01352a)

Styles

@visulima/packem 1.0.0-alpha.129 (2024-09-20)

Bug Fixes

  • improved test for shared chunks (337d12e)

@visulima/packem 1.0.0-alpha.128 (2024-09-20)

Bug Fixes

  • fixed cache issue with isolated-declarations (92d1029)
  • fixed isolated-declarations auto extensions (7119b6b)

@visulima/packem 1.0.0-alpha.127 (2024-09-19)

Bug Fixes

@visulima/packem 1.0.0-alpha.126 (2024-09-18)

Features

Continuous Integration

@visulima/packem 1.0.0-alpha.125 (2024-09-18)

Bug Fixes

  • added more test for the transformers (06a5f4e)

Continuous Integration

@visulima/packem 1.0.0-alpha.124 (2024-09-18)

Features

  • added support for adding additional rollup plugins (d96ec64)
  • upgrade jiti, fixed examples, renamed options (#19) (14429c6)

Bug Fixes

Miscellaneous Chores

@visulima/packem 1.0.0-alpha.123 (2024-09-17)

Bug Fixes

  • improved shebang plugin (a47a5af)

@visulima/packem 1.0.0-alpha.122 (2024-09-16)

Bug Fixes

@visulima/packem 1.0.0-alpha.121 (2024-09-16)

Bug Fixes

@visulima/packem 1.0.0-alpha.120 (2024-09-16)

Bug Fixes

@visulima/packem 1.0.0-alpha.119 (2024-09-16)

Bug Fixes

  • improved cjs interoperability (b878719)
  • improved error messages (50142a6)

@visulima/packem 1.0.0-alpha.118 (2024-09-16)

Bug Fixes

  • fixed isolated declarations extension on import (390d4d2)
  • fixed isolated declarations extension on import (bd0a67c)

@visulima/packem 1.0.0-alpha.117 (2024-09-16)

Bug Fixes

  • added cjs interop support for isolated declarations (52e8c33)

@visulima/packem 1.0.0-alpha.116 (2024-09-16)

Bug Fixes

  • improved information about assets and entries, fixed lint error (6fe6fce)

@visulima/packem 1.0.0-alpha.115 (2024-09-16)

Bug Fixes

  • improved external handling of package imports (39defc9)

Miscellaneous Chores

@visulima/packem 1.0.0-alpha.114 (2024-09-16)

Bug Fixes

  • added Security Policy, added test run on release, updated readme (c07ea0f)
  • fixed tests (fb69a7b)
  • fixed tests (b0558c3)
  • renamed variables (273079e)

@visulima/packem 1.0.0-alpha.113 (2024-09-15)

Bug Fixes

  • fixed tests, fixed file url resolution, added support for multi config, add new readme (f89a46b)

@visulima/packem 1.0.0-alpha.112 (2024-09-14)

Bug Fixes

@visulima/packem 1.0.0-alpha.111 (2024-09-13)

Bug Fixes

  • fixed missing include typescript endings on all transformers (4cbf718)

@visulima/packem 1.0.0-alpha.110 (2024-09-12)

Bug Fixes

  • fixed cjs and esm file handling, fixed node10 support for windows, extended the init command (ba523a2)

Miscellaneous Chores

@visulima/packem 1.0.0-alpha.109 (2024-09-11)

Bug Fixes

@visulima/packem 1.0.0-alpha.108 (2024-09-11)

Bug Fixes

  • improved node10 handling (961e03c)

Miscellaneous Chores

@visulima/packem 1.0.0-alpha.107 (2024-09-11)

Bug Fixes

  • fixed some types (59f2e7e)
  • improved watch mode, added new test, (98f5915)

@visulima/packem 1.0.0-alpha.106 (2024-09-10)

Features

  • improved node10 handling (70b322a)

Bug Fixes

  • added shebang test cases (18e5755)

@visulima/packem 1.0.0-alpha.105 (2024-09-09)

Bug Fixes

  • fixed validation, updated dependencies (7df9fb8)

@visulima/packem 1.0.0-alpha.104 (2024-09-09)

Features

  • added new typeScriptVersion option for node10 compatibility, fixed missing reload of package.json on validation (bfa7426)

@visulima/packem 1.0.0-alpha.103 (2024-09-09)

Features

  • added validation flag for the cli, fixed some tests (36599b4)

@visulima/packem 1.0.0-alpha.102 (2024-09-09)

Features

  • added a better validation (2a74494)

@visulima/packem 1.0.0-alpha.101 (2024-09-08)

Features

@visulima/packem 1.0.0-alpha.100 (2024-09-08)

Features

@visulima/packem 1.0.0-alpha.99 (2024-09-07)

Bug Fixes

  • prefixed shared and chunks folders, added check for node10 on shared folder (fe7bbbc)

@visulima/packem 1.0.0-alpha.98 (2024-09-07)

Bug Fixes

@visulima/packem 1.0.0-alpha.97 (2024-09-07)

Bug Fixes

  • added test for node10 support (a30370b)

@visulima/packem 1.0.0-alpha.96 (2024-09-07)

Bug Fixes

  • dont normalize modified package.json, when typesVersions is written, fixed wrong export for bin files, fixed some tests (1459c62)
  • fixed more tests (668ecc7)
  • updated dependencies (94a4c6c)

@visulima/packem 1.0.0-alpha.95 (2024-09-07)

Bug Fixes

  • fixed broken chunk spliting (326fe6a)

@visulima/packem 1.0.0-alpha.94 (2024-09-07)

Bug Fixes

  • fixed interface change (7b427f7)
  • update dependencies, added attw lint, add pkg preview (703d97e)

@visulima/packem 1.0.0-alpha.93 (2024-09-06)

Features

  • added node 10 compatibility, added attw to check the types, improved cjs interop (0fed835)

@visulima/packem 1.0.0-alpha.92 (2024-09-05)

Bug Fixes

  • exported types, fixed lint errors (f74f8b3)

@visulima/packem 1.0.0-alpha.91 (2024-09-05)

Bug Fixes

@visulima/packem 1.0.0-alpha.90 (2024-09-02)

Bug Fixes

  • improved edge runtime, fixed some tests (c0fc7a5)

@visulima/packem 1.0.0-alpha.89 (2024-09-02)

Bug Fixes

  • fixed some issues with auto config (e0c9d4b)

@visulima/packem 1.0.0-alpha.88 (2024-09-01)

Features

  • use outDir from tsconfig.json if present (a58a111)

@visulima/packem 1.0.0-alpha.87 (2024-09-01)

Features

  • added missing copyright header (f4a8530)
  • added missing copyright header, added isolated transformer to init command, renamed exports (ecb0a4e)
  • added working isolated declarations for swc, typescript and oxc (30f9f38)

Bug Fixes

@visulima/packem 1.0.0-alpha.86 (2024-08-30)

Bug Fixes

  • added a better chunk splitter (185ac52)
  • fixed preserve and prepend of directives (9191381)
  • updated tests (56f6be1)

Miscellaneous Chores

@visulima/packem 1.0.0-alpha.85 (2024-08-28)

Bug Fixes

  • fixed splitting of env based exports (7ce88b2)

@visulima/packem 1.0.0-alpha.84 (2024-08-28)

Bug Fixes

@visulima/packem 1.0.0-alpha.83 (2024-08-28)

Features

  • improved splitting of env files from package.json exports (1bb4144)

@visulima/packem 1.0.0-alpha.82 (2024-08-28)

Features

  • improved rollup caching (02e89e2)
  • improved splitting based on package.json exports (aba0a20)

@visulima/packem 1.0.0-alpha.81 (2024-08-21)

Features

  • improved the file alias handling (e94155a)
  • more test for packem (75139c1)

Bug Fixes

  • fixed correct finding of source files (6e25ff0)

@visulima/packem 1.0.0-alpha.80 (2024-08-20)

Features

  • fixed more tests, fixed overwrite of cli -> config file -> base config (655b999)

@visulima/packem 1.0.0-alpha.79 (2024-08-20)

Features

  • added no-clean option (5837887)
  • added no-clean option, more tests (2cd3849)

@visulima/packem 1.0.0-alpha.78 (2024-08-20)

Bug Fixes

  • fixed handling of tsconfig paths @,#,~ aliases (3e31cbf)

@visulima/packem 1.0.0-alpha.77 (2024-08-20)

Features

  • fixed handling of types generation, based on auto preset (bc584db)

@visulima/packem 1.0.0-alpha.76 (2024-08-19)

Features

  • generate dts for ts 4.7 if only declaration = compatible is used (ab3fd78)

@visulima/packem 1.0.0-alpha.75 (2024-08-19)

Features

  • switched from glob to tinyglobby, added glob support for packem.config, added none preset (70b1798)

@visulima/packem 1.0.0-alpha.74 (2024-08-13)

Features

  • allow without prod or dev bundling, fixed lot of eslint errors, added func createConfig param (08fac83)

@visulima/packem 1.0.0-alpha.73 (2024-08-13)

Features

  • improved tests, improved env replace, improved exports reading and build, dont minify dev export, improved publishConfig reading (21e9943)

@visulima/packem 1.0.0-alpha.72 (2024-08-12)

Features

  • improved tests, added new one, improved raw and esm shim plugin (d9ee7af)

@visulima/packem 1.0.0-alpha.71 (2024-08-10)

Features

  • added check for compiling ts, without typescript, added more tests (0232522)

@visulima/packem 1.0.0-alpha.70 (2024-08-09)

Features

  • added new env options to cli, fixed dynamic import extensions (e7a5d14)

@visulima/packem 1.0.0-alpha.69 (2024-08-08)

Features

  • removed unsupported node resolutions, added fix for dynamic imports, added new env for cli (b76595c)

@visulima/packem 1.0.0-alpha.68 (2024-08-08)

Features

  • added error on unsupported node resolutions, fixed cjs types interop (809c698)

@visulima/packem 1.0.0-alpha.67 (2024-08-05)

Bug Fixes

@visulima/packem 1.0.0-alpha.66 (2024-08-04)

Bug Fixes

  • updated deps and dev-deps (b68cf54)

@visulima/packem 1.0.0-alpha.65 (2024-08-04)

Bug Fixes

@visulima/packem 1.0.0-alpha.64 (2024-08-04)

Bug Fixes

  • fixed more tests, fixed package imports dont show external warning (038f05d)

@visulima/packem 1.0.0-alpha.63 (2024-08-04)

Bug Fixes

  • fixed more tests, fixed license handling if dep was bundled with packem, improved lixense generator (f3fdef6)

@visulima/packem 1.0.0-alpha.62 (2024-08-04)

Bug Fixes

  • fixed init command to check for typescript and esm, changed moduleResolution to Bundler on dts plugin (31c4d71)

@visulima/packem 1.0.0-alpha.61 (2024-07-31)

Bug Fixes

  • added test for inlined text message on output (802185f)

@visulima/packem 1.0.0-alpha.60 (2024-07-31)

Bug Fixes

  • fixed inlining of dev deps, added test for it (82e5c8b)

@visulima/packem 1.0.0-alpha.59 (2024-07-31)

Bug Fixes

  • updated deps and fixed more tests (10a28d1)

@visulima/packem 1.0.0-alpha.58 (2024-07-30)

Bug Fixes

@visulima/packem 1.0.0-alpha.57 (2024-07-30)

Bug Fixes

  • fixed more tests, added new ones, fixed minification and added more logs (6ba1dcc)

Miscellaneous Chores

@visulima/packem 1.0.0-alpha.56 (2024-07-25)

Features

  • added alias validation for better dx (d5321e6)

@visulima/packem 1.0.0-alpha.55 (2024-07-20)

Bug Fixes

  • fixed cjs bundling, fixed broken state if typescript is not installed, fixed some tests (7771424)

@visulima/packem 1.0.0-alpha.54 (2024-07-19)

Bug Fixes

  • fixed some tests, allowed to have typescript optional (0b72a91)

@visulima/packem 1.0.0-alpha.53 (2024-07-18)

Features

  • added isolated declarations transformer based on typescript, and fixed the plugin (6bec80b)

@visulima/packem 1.0.0-alpha.52 (2024-07-18)

Features

  • added isolated declarations transformer, added check for peerDependenciesMeta (8f7ba0d)

@visulima/packem 1.0.0-alpha.51 (2024-07-17)

Bug Fixes

  • stop delete on source folder, added decorator to swc, removed custom error (449f93c)

@visulima/packem 1.0.0-alpha.50 (2024-07-17)

Bug Fixes

  • improved splitting of esm and cjs files based on input (1a87180)

@visulima/packem 1.0.0-alpha.49 (2024-07-09)

Bug Fixes

@visulima/packem 1.0.0-alpha.48 (2024-07-09)

Bug Fixes

@visulima/packem 1.0.0-alpha.47 (2024-07-09)

Bug Fixes

@visulima/packem 1.0.0-alpha.46 (2024-06-26)

Features

  • improved logger, moved code from function into cli (a2fc9a8)

@visulima/packem 1.0.0-alpha.45 (2024-06-25)

Features

  • fixed some tests, add mapping of cjs and mjs to cts and mts, no exit is used inside the functions (a7169c0)

@visulima/packem 1.0.0-alpha.44 (2024-06-20)

Bug Fixes

@visulima/packem 1.0.0-alpha.43 (2024-06-20)

Bug Fixes

  • updated the packages and fixed breaking changes (019d53a)

@visulima/packem 1.0.0-alpha.42 (2024-06-14)

Bug Fixes

Miscellaneous Chores

  • added conventional-changelog-conventionalcommits as dev dep (9e462a2)

@visulima/packem 1.0.0-alpha.41 (2024-06-05)

Bug Fixes

@visulima/packem 1.0.0-alpha.40 (2024-06-04)

Bug Fixes

@visulima/packem 1.0.0-alpha.39 (2024-06-04)

Features

@visulima/packem 1.0.0-alpha.38 (2024-06-03)

Features

  • improved auto preset handling, split the builder based on evn and runtime (6d92a3b)

@visulima/packem 1.0.0-alpha.37 (2024-06-02)

Bug Fixes

@visulima/packem 1.0.0-alpha.36 (2024-06-02)

Features

  • reduced complexity scope of builder (958049a)

@visulima/packem 1.0.0-alpha.35 (2024-06-02)

Bug Fixes

  • fixed path handling without ./ (e717627)

@visulima/packem 1.0.0-alpha.34 (2024-06-02)

Features

  • optimized package.json auto resolver (89bda92)
  • optimized package.json auto resolver (1348ada)
  • optimized package.json auto resolver (87be4ea)

@visulima/packem 1.0.0-alpha.33 (2024-06-01)

Features

  • working on a better auto preset, changed package to esm (1697cd2)

@visulima/packem 1.0.0-alpha.32 (2024-05-31)

Features

  • delete the cache if the cacheKey did changed based on the packagejson data (820a564)

@visulima/packem 1.0.0-alpha.31 (2024-05-31)

Bug Fixes

  • improved hashing of plugins (2ca9377)

@visulima/packem 1.0.0-alpha.30 (2024-05-31)

Bug Fixes

  • fixed issue with cache dir, added auto update of lock file (a49df8a)

@visulima/packem 1.0.0-alpha.29 (2024-05-31)

Bug Fixes

  • added missing variable to watch (174124b)

@visulima/packem 1.0.0-alpha.28 (2024-05-30)

Features

  • optimized file names for the cache (e8abc95)

@visulima/packem 1.0.0-alpha.27 (2024-05-30)

Features

@visulima/packem 1.0.0-alpha.26 (2024-05-30)

Features

@visulima/packem 1.0.0-alpha.25 (2024-05-29)

Bug Fixes

@visulima/packem 1.0.0-alpha.24 (2024-05-29)

Features

  • added file cache to rollup, added support of es5 (c6734ac)
  • added option to disable cache (9ee5cac)

@visulima/packem 1.0.0-alpha.23 (2024-05-29)

Bug Fixes

  • removed packem from package.json. fixed test runs (05b346a)

@visulima/packem 1.0.0-alpha.22 (2024-05-29)

Bug Fixes

  • fixing tests for check all functions (786fb37)

@visulima/packem 1.0.0-alpha.21 (2024-05-28)

Bug Fixes

@visulima/packem 1.0.0-alpha.20 (2024-05-28)

Bug Fixes

@visulima/packem 1.0.0-alpha.19 (2024-05-28)

Bug Fixes

  • fixed error handling of promises (be3b055)

@visulima/packem 1.0.0-alpha.18 (2024-05-28)

Bug Fixes

@visulima/packem 1.0.0-alpha.17 (2024-05-28)

Bug Fixes

  • working on better tests (a6a569e)

@visulima/packem 1.0.0-alpha.16 (2024-05-28)

Bug Fixes

  • working on better tests (a612717)

Miscellaneous Chores

@visulima/packem 1.0.0-alpha.15 (2024-05-27)

Features

  • added a first version of the init command (ab3b009)

@visulima/packem 1.0.0-alpha.14 (2024-05-27)

Bug Fixes

  • optimized the code a bit (c644e8a)

@visulima/packem 1.0.0-alpha.13 (2024-05-27)

Bug Fixes

  • optimized the code with memo calls (fe27249)

Styles

@visulima/packem 1.0.0-alpha.12 (2024-05-27)

Bug Fixes

@visulima/packem 1.0.0-alpha.11 (2024-05-27)

Bug Fixes

  • optimize config loading of types, cjs and esm (ed4368f)

@visulima/packem 1.0.0-alpha.10 (2024-05-27)

Bug Fixes

  • optimize the code a bit (90fa3e4)

Styles

Code Refactoring

  • optimize the code a bit (0960712)

@visulima/packem 1.0.0-alpha.9 (2024-05-25)

Features

Miscellaneous Chores

  • clean up of started node native plugin (6b67ca9)

@visulima/packem 1.0.0-alpha.8 (2024-05-25)

Bug Fixes

  • removed vue examples, removed jsx preserve error (55f5571)

@visulima/packem 1.0.0-alpha.7 (2024-05-25)

Bug Fixes

  • adjusted target on swc and esbuild (5ee4937)

@visulima/packem 1.0.0-alpha.6 (2024-05-25)

Bug Fixes

  • added target options to esbuild and swc (5d3100b)

Styles

@visulima/packem 1.0.0-alpha.5 (2024-05-25)

Bug Fixes

  • added better dx for invalid entries (55fc8ed)

@visulima/packem 1.0.0-alpha.4 (2024-05-25)

Features

  • moved minify to the core config (219782f)

@visulima/packem 1.0.0-alpha.3 (2024-05-25)

Bug Fixes

  • fixed lazy loading of transformers (81e8f65)

@visulima/packem 1.0.0-alpha.2 (2024-05-24)

Bug Fixes

  • added check for transformer based on package.jso, changed type for packem.config.ts, and some other fixes (85213bf)

@visulima/packem 1.0.0-alpha.1 (2024-05-24)

Features

  • trying the first version of packem (fda2efb)

Bug Fixes