0.2.0 • Published 2 months ago

@neodx/autobuild v0.2.0

Weekly downloads
-
License
-
Repository
-
Last release
2 months ago

In early development

One command, one dependency and zero configuration to build your libraries.

Built upon Rollup and SWC.

Features

  • Zero configuration with auto detection
    • SWC additional configuration (.swcrc)
    • Babel (.babelrc or other formats) - we should replace (or add one more step?) swc with babel when we found .babelrc
    • CSS
      • PostCSS (by default if we found postcss.config.js or any other pre-processor)
      • SCSS, LESS, Stylus
      • Modules (my-file.module.css) and global (any other) files
  • Beautiful TypeScript support
    • Builds clean TypeScript definitions
    • Support configuration: baseUrl, paths, externalHelpers, target, sourceMap, experimentalDecorators
  • Multiple entries and outputs
    • Different outputs: CJS, ESM (.mjs), UMD
    • Single or multiple inputs: file, array, globs and all together
    • Out-of-box split output on multiple entries
    • wip package.json update suggestion: exports and typesVersions

Installation and fast setup

Install autobuild with any package manager: yarn add -D @neodx/autobuild / npm i -D @neodx/autobuild.

Describe your package.json:

{
  files: ['dist', 'README.md'],
  scripts: {
    build: 'autobuild src/index.ts'
  }
}

And try to run our CLI: yarn autobuild

Known issues and limitations

Slow TypeScript definitions and CSS build time

We use rollup-plugin-dts and rollup-plugin-postcss, both of them significant slow down the build time.

Probably, we will change our setup with other solutions or even with self-made plugins in future.

Limited CSS support - single file only, no imports in generated code

Unfortunately, currently we can't provide great CSS output :(

Supported features:

  • CSS modules (my-file.module.css), global styles
  • Scss, less, stylus
  • PostCSS configuration
  • Minification

Unsupported:

Temporal milestones