@vitus-labs/tools-rollup 1.9.1-alpha.9 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,89 @@
1
+ # @vitus-labs/tools-rollup
2
+
3
+ [Rollup](https://rollupjs.org)-powered build tool for TypeScript libraries.
4
+
5
+ Supports multi-platform, multi-format builds with TypeScript declaration bundling via Microsoft API Extractor.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ bun add -d @vitus-labs/tools-rollup
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ Add to your `package.json`:
16
+
17
+ ```json
18
+ {
19
+ "scripts": {
20
+ "build": "vl_build",
21
+ "dev": "vl_build-watch"
22
+ }
23
+ }
24
+ ```
25
+
26
+ ## How it works
27
+
28
+ The build tool reads your `package.json` to determine what output bundles to produce:
29
+
30
+ | `package.json` field | Format | Platform |
31
+ |---|---|---|
32
+ | `exports.import` | ESM | universal |
33
+ | `exports.require` | CJS | universal |
34
+ | `main` | CJS or ESM | universal |
35
+ | `module` | ESM | universal |
36
+ | `browser` | same as source | browser |
37
+ | `react-native` | ESM | native |
38
+ | `umd:main` | UMD | — |
39
+ | `unpkg` | UMD (minified) | — |
40
+
41
+ TypeScript declarations are bundled into a single `.d.ts` file using API Extractor when `exports.types` (or `types`/`typings`) is set.
42
+
43
+ ### Platform globals
44
+
45
+ These constants are injected at build time based on the output platform:
46
+
47
+ | Constant | Description |
48
+ |---|---|
49
+ | `__VERSION__` | Package version from `package.json` |
50
+ | `__BROWSER__` | `true` for browser builds |
51
+ | `__NODE__` | `true` for node builds |
52
+ | `__WEB__` | `true` for node + browser + universal |
53
+ | `__NATIVE__` | `true` for React Native builds |
54
+ | `__CLIENT__` | `true` for browser + native |
55
+
56
+ Add type declarations to your project:
57
+
58
+ ```json
59
+ {
60
+ "compilerOptions": {
61
+ "types": ["@vitus-labs/tools-rollup/global"]
62
+ }
63
+ }
64
+ ```
65
+
66
+ ## Configuration
67
+
68
+ Configure via `vl-tools.config.mjs` (key: `build`):
69
+
70
+ ```js
71
+ export default {
72
+ build: {
73
+ sourceDir: 'src',
74
+ outputDir: 'lib',
75
+ typescript: true,
76
+ esModulesOnly: false,
77
+ replaceGlobals: true,
78
+ external: ['react/jsx-runtime'],
79
+ globals: {
80
+ react: 'React',
81
+ 'react-dom': 'ReactDOM',
82
+ },
83
+ },
84
+ }
85
+ ```
86
+
87
+ ## License
88
+
89
+ MIT
@@ -1 +1 @@
1
- {"version":3,"file":"run-build.js","sourceRoot":"","sources":["../../src/bin/run-build.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"run-build.js","sourceRoot":"","sources":["../../src/bin/run-build.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,QAAQ,EAAE,CAAA","sourcesContent":["#!/usr/bin/env node\nimport { runBuild } from '../scripts/build.js'\n\nrunBuild()\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"run-watch.js","sourceRoot":"","sources":["../../src/bin/run-watch.ts"],"names":[],"mappings":";AACA,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEhC,MAAM,YAAY,GAAG,EAAE,CAAA;AACvB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;AAE1C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAW,EAAE,EAAE;IAClC,4BAA4B;IAC5B,+CAA+C;IAC/C,iDAAiD;IACjD,8CAA8C;IAC9C,iDAAiD;IACjD,uDAAuD;AACzD,CAAC,CAAC,CAAA;AAEF,gBAAgB;AAChB,kBAAkB"}
1
+ {"version":3,"file":"run-watch.js","sourceRoot":"","sources":["../../src/bin/run-watch.ts"],"names":[],"mappings":";AACA,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEhC,MAAM,YAAY,GAAG,EAAE,CAAA;AACvB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;AAE1C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAW,EAAE,EAAE;IAClC,4BAA4B;IAC5B,+CAA+C;IAC/C,iDAAiD;IACjD,8CAA8C;IAC9C,iDAAiD;IACjD,uDAAuD;AACzD,CAAC,CAAC,CAAA;AAEF,gBAAgB;AAChB,kBAAkB","sourcesContent":["#!/usr/bin/env node\nconst rollup = require('rollup')\n\nconst watchOptions = {}\nconst watcher = rollup.watch(watchOptions)\n\nwatcher.on('event', (_event: any) => {\n // event.code can be one of:\n // START — the watcher is (re)starting\n // BUNDLE_START — building an individual bundle\n // BUNDLE_END — finished building a bundle\n // END — finished building all bundles\n // ERROR — encountered an error while bundling\n})\n\n// stop watching\n// watcher.close()\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"baseConfig.js","sourceRoot":"","sources":["../../src/config/baseConfig.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE;QACT,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,UAAU;KACtB;IACD,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;IAC1E,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,QAAQ,EAAE,CAAC,mBAAmB,CAAC;IAC/B,OAAO,EAAE;QACP,KAAK;QACL,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,UAAU;QACV,UAAU;QACV,aAAa;QACb,WAAW;QACX,WAAW;KACZ;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,mBAAmB;KAC5B;CACF,CAAA"}
1
+ {"version":3,"file":"baseConfig.js","sourceRoot":"","sources":["../../src/config/baseConfig.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE;QACT,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,UAAU;KACtB;IACD,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;IAC1E,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,QAAQ,EAAE,CAAC,mBAAmB,CAAC;IAC/B,OAAO,EAAE;QACP,KAAK;QACL,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,UAAU;QACV,UAAU;QACV,aAAa;QACb,WAAW;QACX,WAAW;KACZ;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,mBAAmB;KAC5B;CACF,CAAA","sourcesContent":["export default {\n sourceDir: 'src',\n outputDir: 'lib',\n typesDir: 'lib/types',\n typescript: true,\n esModulesOnly: false,\n replaceGlobals: true,\n visualise: {\n template: 'network',\n gzipSize: true,\n outputDir: 'analysis',\n },\n filesize: true,\n extensions: ['.json', '.js', '.jsx', '.ts', '.tsx', '.es6', '.es', '.mjs'],\n include: ['src'],\n external: ['react/jsx-runtime'],\n exclude: [\n 'lib',\n 'node_modules/**',\n '**/__tests__/**',\n '**/__specs__/**',\n '**/__stories__/**',\n '*.test.*',\n '*.spec.*',\n '*.stories.*',\n 'stories.*',\n '*.story.*',\n ],\n globals: {\n react: 'React',\n ReactDOM: 'react-dom',\n styled: 'styled-components',\n },\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,UAAU,MAAM,iBAAiB,CAAA;AAExC,MAAM,UAAU,GAAG,OAAO,CAAA;AAE1B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAA;AAE7D,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAU,CAAA;AAE/D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,UAAU,MAAM,iBAAiB,CAAA;AAExC,MAAM,UAAU,GAAG,OAAO,CAAA;AAE1B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAA;AAE7D,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAU,CAAA;AAE/D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAA","sourcesContent":["import { PKG, TS_CONFIG, VL_CONFIG } from '@vitus-labs/tools-core'\nimport baseConfig from './baseConfig.js'\n\nconst CONFIG_KEY = 'build'\n\nconst CONFIG = VL_CONFIG(CONFIG_KEY).merge(baseConfig).config\n\nconst PLATFORMS = ['browser', 'node', 'web', 'native'] as const\n\nexport { CONFIG, TS_CONFIG, PKG, PLATFORMS }\n"]}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,CAAA","sourcesContent":["import { runBuild } from './scripts/build.js'\n\nexport { runBuild }\n"]}
@@ -124,6 +124,10 @@ const rollupConfig = ({ file, format, env, typesFilePath, platform, }) => {
124
124
  systemNullSetters: false,
125
125
  },
126
126
  external: [...PKG.externalDependencies, ...CONFIG.external],
127
+ treeshake: {
128
+ moduleSideEffects: false,
129
+ propertyReadSideEffects: false,
130
+ },
127
131
  plugins,
128
132
  };
129
133
  return buildOutput;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/rollup/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/rollup/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,OAAO,MAAM,wBAAwB,CAAA;AAC5C,OAAO,MAAM,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,QAAQ,MAAM,wBAAwB,CAAA;AAC7C,OAAO,UAAU,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE3D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAEhD,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC5C,MAAM,kBAAkB,GAAa,EAAE,CAAA;IAEvC,IAAK,SAA+B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;YACzC,kBAAkB,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AACrD,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,EACnB,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,aAAa,GAMd,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC,CAAC,CAAA;IAE9E,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAwB;YACpC,UAAU,EAAE,WAAW;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,yBAAyB,EAAE,IAAI;YAC/B,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE;gBAChB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,cAAc,EAAE,KAAK;gBACrB,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAE;oBACf,KAAK,EAAE,CAAC,0BAA0B,CAAC;oBACnC,OAAO,EAAE;wBACP,EAAE,SAAS,EAAE,4BAA4B,EAAE;wBAC3C;4BACE,SAAS,EAAE,4BAA4B;4BACvC,iBAAiB,EAAE,IAAI;yBACxB;qBACF;iBACF;aACF;SACF,CAAA;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,GAAG,IAAI,CAAA;YAC/D,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,WAAW,GAAG,IAAI,CAAA;YAC5D,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC5E,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;QAElC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CACV,YAAY,CAAC;gBACX,aAAa,EAAE,IAAI;gBACnB,aAAa,EAAE;oBACb,sBAAsB,EAAE,mBAAmB,MAAM,CAAC,QAAQ,aAAa;oBACvE,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE;oBAC5B,QAAQ,EAAE;wBACR,gBAAgB,EAAE,+BAA+B;wBACjD,YAAY,EAAE,IAAI;qBACnB;oBACD,SAAS,EAAE;wBACT,OAAO,EAAE,IAAI;wBACb,iBAAiB,EAAE,kBAAkB,aAAa,EAAE;qBACrD;iBACF;aACF,CAAC,CACH,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,cAAc,GAA2B;YAC7C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,MAAM,CAAC;YAC7C,OAAO,EAAE,IAAI,CAAC,SAAS,CACrB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACpD;YACD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC;YACnD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;YACjD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACrE,CAAA;QAED,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAC9D,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED,4CAA4C;IAE5C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAA;QAE/B,MAAM,iBAAiB,GAAG;YACxB,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,MAAM,QAAQ,EAAE;YAClC,QAAQ,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAC7B,MAAM,CAAC,SAAS,CAAC,SACnB,IAAI,QAAQ,OAAO;YACnB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;YACnC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;SACpC,CAAA;QAED,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACxB,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,EACpB,IAAI,EACJ,MAAM,EACN,GAAG,EACH,aAAa,EACb,QAAQ,GACY,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEnE,MAAM,WAAW,GAAG;QAClB,6BAA6B,EAAE,IAAI;QACnC,uBAAuB,EAAE,QAAQ;QACjC,KAAK,EAAE,MAAM,CAAC,SAAS;QACvB,MAAM,EAAE;YACN,IAAI;YACJ,MAAM;YACN,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YAC9D,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACnE,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE;gBACb,oBAAoB,EAAE,KAAK;aAC5B;YACD,OAAO,EAAE,QAAQ;YACjB,iBAAiB,EAAE,KAAK;SACzB;QACD,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,oBAAoB,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3D,SAAS,EAAE;YACT,iBAAiB,EAAE,KAAK;YACxB,uBAAuB,EAAE,KAAK;SAC/B;QACD,OAAO;KACR,CAAA;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,eAAe,YAAY,CAAA","sourcesContent":["import { createRequire } from 'node:module'\nimport { nodeResolve } from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport { swapGlobals } from '@vitus-labs/tools-core'\nimport { apiExtractor } from 'rollup-plugin-api-extractor'\nimport filesize from 'rollup-plugin-filesize'\nimport typescript from 'rollup-plugin-typescript2'\nimport { visualizer } from 'rollup-plugin-visualizer'\nimport { CONFIG, PKG, PLATFORMS } from '../config/index.js'\n\nconst require = createRequire(import.meta.url)\nconst tspCompiler = require('ts-patch/compiler')\n\nconst defineExtensions = (platform: string) => {\n const platformExtensions: string[] = []\n\n if ((PLATFORMS as readonly string[]).includes(platform)) {\n CONFIG.extensions.forEach((item: string) => {\n platformExtensions.push(`.${platform}${item}`)\n })\n }\n\n return platformExtensions.concat(CONFIG.extensions)\n}\n\nconst loadPlugins = ({\n env,\n platform,\n file,\n typesFilePath,\n}: {\n env: string\n platform: string\n file: string\n typesFilePath?: string\n}) => {\n const extensions = defineExtensions(platform)\n const plugins = [nodeResolve({ extensions, browser: platform === 'browser' })]\n\n if (CONFIG.typescript) {\n const tsConfig: Record<string, any> = {\n typescript: tspCompiler,\n exclude: CONFIG.exclude,\n useTsconfigDeclarationDir: true,\n clean: true,\n tsconfigDefaults: {\n exclude: CONFIG.exclude,\n include: CONFIG.include,\n declarationMap: false,\n declaration: false,\n compilerOptions: {\n types: ['@vitus-labs/tools-rollup'],\n plugins: [\n { transform: 'typescript-transform-paths' },\n {\n transform: 'typescript-transform-paths',\n afterDeclarations: true,\n },\n ],\n },\n },\n }\n\n if (typesFilePath) {\n tsConfig.tsconfigDefaults.compilerOptions.declarationMap = true\n tsConfig.tsconfigDefaults.compilerOptions.declaration = true\n tsConfig.tsconfigDefaults.compilerOptions.declarationDir = CONFIG.typesDir\n }\n\n plugins.push(typescript(tsConfig))\n\n if (typesFilePath) {\n plugins.push(\n apiExtractor({\n cleanUpRollup: true,\n configuration: {\n mainEntryPointFilePath: `<projectFolder>/${CONFIG.typesDir}/index.d.ts`,\n projectFolder: process.cwd(),\n compiler: {\n tsconfigFilePath: '<projectFolder>/tsconfig.json',\n skipLibCheck: true,\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: `<projectFolder>${typesFilePath}`,\n },\n },\n }),\n )\n }\n }\n\n if (CONFIG.replaceGlobals) {\n const replaceOptions: Record<string, string> = {\n __VERSION__: JSON.stringify(PKG.version),\n __NODE__: JSON.stringify(platform === 'node'),\n __WEB__: JSON.stringify(\n ['node', 'browser', 'universal'].includes(platform),\n ),\n __BROWSER__: JSON.stringify(platform === 'browser'),\n __NATIVE__: JSON.stringify(platform === 'native'),\n __CLIENT__: JSON.stringify(['native', 'browser'].includes(platform)),\n }\n\n if (env === 'production') {\n replaceOptions['process.env.NODE_ENV'] = JSON.stringify(env)\n }\n\n plugins.push(replace({ preventAssignment: true, values: replaceOptions }))\n }\n\n // generate visualised graphs in dist folder\n\n if (CONFIG.visualise) {\n const filePath = file.split('/')\n const fileName = filePath.pop()\n\n const visualiserOptions = {\n title: `${PKG.name} - ${fileName}`,\n filename: `${filePath.join('/')}/${\n CONFIG.visualise.outputDir\n }/${fileName}.html`,\n template: CONFIG.visualise.template,\n gzipSize: CONFIG.visualise.gzipSize,\n }\n\n plugins.push(visualizer(visualiserOptions))\n }\n\n if (env === 'production') {\n plugins.push(terser())\n }\n\n if (CONFIG.filesize) {\n plugins.push(filesize())\n }\n\n return plugins\n}\n\nconst rollupConfig = ({\n file,\n format,\n env,\n typesFilePath,\n platform,\n}: Record<string, any>) => {\n const plugins = loadPlugins({ file, env, typesFilePath, platform })\n\n const buildOutput = {\n makeAbsoluteExternalsRelative: true,\n preserveEntrySignatures: 'strict',\n input: CONFIG.sourceDir,\n output: {\n file,\n format,\n globals: swapGlobals(CONFIG.globals),\n sourcemap: true,\n exports: ['cjs', 'umd'].includes(format) ? 'named' : undefined,\n name: ['umd', 'iife'].includes(format) ? PKG.bundleName : undefined,\n esModule: true,\n generatedCode: {\n reservedNamesAsProps: false,\n },\n interop: 'compat',\n systemNullSetters: false,\n },\n external: [...PKG.externalDependencies, ...CONFIG.external],\n treeshake: {\n moduleSideEffects: false,\n propertyReadSideEffects: false,\n },\n plugins,\n }\n\n return buildOutput\n}\n\nexport default rollupConfig\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"createBuildPipeline.js","sourceRoot":"","sources":["../../src/rollup/createBuildPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createBuildPipeline.js","sourceRoot":"","sources":["../../src/rollup/createBuildPipeline.ts"],"names":[],"mappings":"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","sourcesContent":["import { PKG } from '../config/index.js'\n\nconst isESModuleOnly = PKG.type === 'module'\nconst typesFilePath = PKG?.exports?.types || PKG.types || PKG.typings\n\nconst hasDifferentNativeBuild = () => {\n return PKG['react-native'] !== PKG.module\n}\n\nconst hasDifferentBrowserBuild = (type: string) => {\n if (!PKG.browser) return false\n\n return Object.entries(PKG.browser as Record<string, string>).some(\n ([key, value]) => {\n const source = key.substring(2)\n const output = value.substring(2)\n\n return source !== PKG[type] && source !== output\n },\n )\n}\n\nconst BUILD_VARIANTS: Record<\n string,\n { format: string; env: string; platform?: string }\n> = {\n main: {\n format: isESModuleOnly ? 'es' : 'cjs',\n env: 'development',\n platform: 'universal',\n },\n module: {\n format: 'es',\n env: 'development',\n platform: 'universal',\n },\n 'react-native': {\n format: 'es',\n env: 'development',\n platform: 'native',\n },\n 'umd:main': { format: 'umd', env: 'development' },\n unpkg: { format: 'umd', env: 'production' },\n}\n\nconst getExportsOptions = () => {\n const exportsOptions = PKG.exports\n\n if (!exportsOptions) return []\n\n if (typeof exportsOptions === 'string') {\n return [\n {\n file: PKG.exports,\n ...BUILD_VARIANTS.module,\n },\n ]\n }\n\n if (typeof exportsOptions === 'object') {\n const result: Record<string, any>[] = []\n\n if (exportsOptions.import) {\n result.push({\n file: exportsOptions.import,\n ...BUILD_VARIANTS.module,\n })\n }\n\n if (exportsOptions.require) {\n result.push({\n file: exportsOptions.require,\n ...BUILD_VARIANTS.main,\n })\n }\n\n if (exportsOptions.node) {\n result.push({\n file: exportsOptions.node,\n ...BUILD_VARIANTS.module,\n platform: 'node',\n })\n }\n\n if (exportsOptions.default) {\n result.push({\n file: exportsOptions.default,\n ...BUILD_VARIANTS.module,\n })\n }\n\n return result\n }\n\n return []\n}\n\nconst createBasicBuildVariants = () => {\n let result: Record<string, any>[] = []\n\n if (isESModuleOnly) result = [...getExportsOptions()]\n\n Object.keys(BUILD_VARIANTS).forEach((key) => {\n const PKGOutDir = PKG[key]\n\n if (PKGOutDir) {\n const hasBrowserBuild = hasDifferentBrowserBuild(key)\n const hasNativeBuild = hasDifferentNativeBuild()\n\n // create a helper function for adding a build variant to an array\n const add = (props = {}) => {\n result.push({ ...BUILD_VARIANTS[key], file: PKGOutDir, ...props })\n }\n\n if (key === 'react-native') {\n // add a separate RN build only if output path differs from module path\n if (hasNativeBuild) {\n add()\n }\n } else if (hasBrowserBuild) {\n // if has a different browser build, set default platform to node\n // as there is going to be created a separate browser build as well\n add({ platform: 'node' })\n } else {\n add()\n }\n }\n })\n\n return result\n}\n\nconst createBrowserBuildVariants = () => {\n const result: Record<string, any>[] = []\n if (!PKG.browser) return result\n\n Object.entries(PKG.browser as Record<string, string>).forEach(\n ([key, value]) => {\n const source = key.substring(2) // strip './' from the beginning of path\n const output = value.substring(2) // strip './' from the beginning of path\n\n Object.keys(BUILD_VARIANTS).forEach((item) => {\n if (PKG[item] === source && source !== output) {\n result.push({\n ...BUILD_VARIANTS[item],\n file: output,\n platform: 'browser',\n })\n }\n })\n },\n )\n\n return result\n}\n\nconst createBuildPipeline = () => {\n const result = [\n ...createBasicBuildVariants(),\n ...createBrowserBuildVariants(),\n ]\n\n // add generate typings for the first bundle only\n if (typesFilePath) {\n result[0] = { ...result[0], typesFilePath }\n }\n\n return result\n}\n\nexport default createBuildPipeline\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rollup/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rollup/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAA","sourcesContent":["import config from './config.js'\nimport createBuildPipeline from './createBuildPipeline.js'\n\nexport { createBuildPipeline, config }\n"]}
@@ -29,14 +29,16 @@ const createBuilds = async () => {
29
29
  const type = output.format;
30
30
  p = p.then(() => {
31
31
  log(chalk.green(`🚧 Creating a build ${i + 1}/${allBuildsCount}`), chalk.gray(`(format: ${MODULE_TYPES[type]})`));
32
- return build({ inputOptions: input, outputOptions: output });
32
+ return build({ inputOptions: input, outputOptions: output }).catch((e) => {
33
+ log(`${chalk.bold.bgRed.white('⚠️ ERROR')} ${chalk.red(`Build ${i + 1}/${allBuildsCount} failed`)}`);
34
+ log(chalk.gray(` Format: ${MODULE_TYPES[type]}`));
35
+ log(chalk.gray(` File: ${output.file}`));
36
+ log(e);
37
+ throw e;
38
+ });
33
39
  });
34
40
  });
35
- return p.catch((e) => {
36
- log(`${chalk.bold.bgRed.white('⚠️ ERROR')} ${chalk.red('Something went wrong')}`);
37
- log(e);
38
- throw e;
39
- });
41
+ return p;
40
42
  };
41
43
  const runBuild = async () => {
42
44
  // --------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/scripts/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/scripts/build.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from 'chalk'\nimport { rimraf } from 'rimraf'\nimport { rollup } from 'rollup'\nimport { CONFIG } from '../config/index.js'\nimport { createBuildPipeline, config as rollupConfig } from '../rollup/index.js'\n\nconst { log } = console\nconst allBuilds = createBuildPipeline()\nconst allBuildsCount = allBuilds.length\n\nconst MODULE_TYPES: Record<string, string> = {\n cjs: 'CommonJS',\n es: 'ES Module',\n umd: 'UMD module',\n}\n\n// --------------------------------------------------------\n// BUILD rollup\n// --------------------------------------------------------\nasync function build({\n inputOptions,\n outputOptions,\n}: {\n inputOptions: any\n outputOptions: any\n}) {\n const bundle = await rollup(inputOptions)\n\n await bundle.write(outputOptions)\n}\n\n// --------------------------------------------------------\n// SERIALIZE ALL BUILDS\n// --------------------------------------------------------\nconst createBuilds = async () => {\n let p = Promise.resolve() // Q() in q\n\n // serialize builds\n allBuilds.forEach((item, i) => {\n const { output, ...input } = rollupConfig(item)\n const type = output.format\n\n p = p.then(() => {\n log(\n chalk.green(`🚧 Creating a build ${i + 1}/${allBuildsCount}`),\n chalk.gray(`(format: ${MODULE_TYPES[type]})`),\n )\n\n return build({ inputOptions: input, outputOptions: output }).catch(\n (e) => {\n log(\n `${chalk.bold.bgRed.white('⚠️ ERROR')} ${chalk.red(\n `Build ${i + 1}/${allBuildsCount} failed`,\n )}`,\n )\n log(chalk.gray(` Format: ${MODULE_TYPES[type]}`))\n log(chalk.gray(` File: ${output.file}`))\n log(e)\n throw e\n },\n )\n })\n })\n\n return p\n}\n\nconst runBuild = async () => {\n // --------------------------------------------------------\n // (1) delete build folder first\n // --------------------------------------------------------\n log(\n `${chalk.bold.bgBlue.black('[1/4]')} ${chalk.blue(\n '✂️ Cleaning up old build folder...',\n )}`,\n )\n\n rimraf.sync(`${process.cwd()}/${CONFIG.outputDir}`)\n\n log(\n `${chalk.bold.bgBlue.black('[2/4]')} ${chalk.blue('☑️ Old build removed')}`,\n )\n\n // --------------------------------------------------------\n // (2) build\n // --------------------------------------------------------\n log(\n `${chalk.bold.bgBlue.black('[3/4]')} ${chalk.blue(\n `💪 Generating ${allBuildsCount} builds in total...`,\n )}`,\n )\n\n log('\\n')\n\n await Promise.resolve()\n .then(() => createBuilds())\n .then(() => {\n log(`${chalk.bold.bgBlue.black('[4/4]')} ${chalk.blue('🎉 Done!')}`)\n })\n}\n\nexport { runBuild }\n"]}
@@ -17,6 +17,10 @@ declare const rollupConfig: ({ file, format, env, typesFilePath, platform, }: Re
17
17
  systemNullSetters: boolean;
18
18
  };
19
19
  external: any[];
20
+ treeshake: {
21
+ moduleSideEffects: boolean;
22
+ propertyReadSideEffects: boolean;
23
+ };
20
24
  plugins: import("rollup").Plugin<any>[];
21
25
  };
22
26
  export default rollupConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/rollup/config.ts"],"names":[],"mappings":"AA6IA,QAAA,MAAM,YAAY,GAAI,iDAMnB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;CA0BrB,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/rollup/config.ts"],"names":[],"mappings":"AA6IA,QAAA,MAAM,YAAY,GAAI,iDAMnB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CA8BrB,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/scripts/build.ts"],"names":[],"mappings":"AA+DA,QAAA,MAAM,QAAQ,qBAgCb,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/scripts/build.ts"],"names":[],"mappings":"AAmEA,QAAA,MAAM,QAAQ,qBAgCb,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitus-labs/tools-rollup",
3
- "version": "1.9.1-alpha.9+b513757",
3
+ "version": "1.10.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -37,13 +37,13 @@
37
37
  "access": "public"
38
38
  },
39
39
  "dependencies": {
40
- "@microsoft/api-extractor": "^7.57.3",
40
+ "@microsoft/api-extractor": "^7.57.6",
41
41
  "@rollup/plugin-node-resolve": "^16.0.3",
42
42
  "@rollup/plugin-replace": "^6.0.3",
43
- "@rollup/plugin-terser": "^0.4.4",
43
+ "@rollup/plugin-terser": "^1.0.0",
44
44
  "@rollup/plugin-typescript": "^12.3.0",
45
- "@types/node": "^25.3.0",
46
- "@vitus-labs/tools-core": "1.9.1-alpha.9+b513757",
45
+ "@types/node": "^25.3.5",
46
+ "@vitus-labs/tools-core": "1.10.0",
47
47
  "chalk": "^5.6.2",
48
48
  "find-up": "^8.0.0",
49
49
  "lodash-es": "^4.17.23",
@@ -54,15 +54,15 @@
54
54
  "rollup-plugin-tsconfig-paths": "^1.5.2",
55
55
  "rollup-plugin-typescript-paths": "^1.5.0",
56
56
  "rollup-plugin-typescript2": "^0.36.0",
57
- "rollup-plugin-visualizer": "^7.0.0",
57
+ "rollup-plugin-visualizer": "^7.0.1",
58
58
  "ts-patch": "^3.3.0",
59
59
  "tslib": "^2.8.1",
60
60
  "typescript-transform-paths": "^3.5.6"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@types/lodash-es": "^4.17.12",
64
- "@vitus-labs/tools-typescript": "1.9.1-alpha.9+b513757",
64
+ "@vitus-labs/tools-typescript": "1.10.0",
65
65
  "typescript": "^5.9.3"
66
66
  },
67
- "gitHead": "b51375767bb010559a1e11f6e4d6141b771c07a6"
67
+ "gitHead": "803c33304f997f9585590d1f66a755e553ea23e5"
68
68
  }
@@ -1,50 +1,50 @@
1
1
  import { describe, expect, it } from 'vitest'
2
- import config from './baseConfig.js'
2
+ import baseConfig from './baseConfig'
3
3
 
4
4
  describe('baseConfig', () => {
5
- it('should have correct source and output directories', () => {
6
- expect(config.sourceDir).toBe('src')
7
- expect(config.outputDir).toBe('lib')
8
- expect(config.typesDir).toBe('lib/types')
9
- })
10
-
11
- it('should have typescript enabled by default', () => {
12
- expect(config.typescript).toBe(true)
13
- })
14
-
15
- it('should have replaceGlobals enabled', () => {
16
- expect(config.replaceGlobals).toBe(true)
17
- })
18
-
19
- it('should define file extensions', () => {
20
- expect(config.extensions).toContain('.ts')
21
- expect(config.extensions).toContain('.tsx')
22
- expect(config.extensions).toContain('.js')
23
- expect(config.extensions).toContain('.json')
24
- })
25
-
26
- it('should have visualise config', () => {
27
- expect(config.visualise).toEqual({
28
- template: 'network',
29
- gzipSize: true,
30
- outputDir: 'analysis',
5
+ it('should have correct directory settings', () => {
6
+ expect(baseConfig.sourceDir).toBe('src')
7
+ expect(baseConfig.outputDir).toBe('lib')
8
+ expect(baseConfig.typesDir).toBe('lib/types')
9
+ })
10
+
11
+ it('should have typescript enabled', () => {
12
+ expect(baseConfig.typescript).toBe(true)
13
+ })
14
+
15
+ it('should include all expected file extensions', () => {
16
+ const expectedExtensions = [
17
+ '.json',
18
+ '.js',
19
+ '.jsx',
20
+ '.ts',
21
+ '.tsx',
22
+ '.es6',
23
+ '.es',
24
+ '.mjs',
25
+ ]
26
+ expect(baseConfig.extensions).toEqual(expectedExtensions)
27
+ })
28
+
29
+ it('should exclude test patterns', () => {
30
+ expect(baseConfig.exclude).toContain('**/__tests__/**')
31
+ expect(baseConfig.exclude).toContain('**/__specs__/**')
32
+ expect(baseConfig.exclude).toContain('**/__stories__/**')
33
+ expect(baseConfig.exclude).toContain('*.test.*')
34
+ expect(baseConfig.exclude).toContain('*.spec.*')
35
+ expect(baseConfig.exclude).toContain('*.stories.*')
36
+ expect(baseConfig.exclude).toContain('*.story.*')
37
+ })
38
+
39
+ it('should define globals for react, ReactDOM, and styled', () => {
40
+ expect(baseConfig.globals).toEqual({
41
+ react: 'React',
42
+ ReactDOM: 'react-dom',
43
+ styled: 'styled-components',
31
44
  })
32
45
  })
33
46
 
34
- it('should have filesize enabled', () => {
35
- expect(config.filesize).toBe(true)
36
- })
37
-
38
- it('should have default globals', () => {
39
- expect(config.globals).toHaveProperty('react', 'React')
40
- })
41
-
42
- it('should have external dependencies', () => {
43
- expect(config.external).toContain('react/jsx-runtime')
44
- })
45
-
46
- it('should have exclude patterns', () => {
47
- expect(config.exclude).toContain('node_modules/**')
48
- expect(config.exclude).toContain('**/__tests__/**')
47
+ it('should include react/jsx-runtime as external', () => {
48
+ expect(baseConfig.external).toContain('react/jsx-runtime')
49
49
  })
50
50
  })
@@ -167,6 +167,10 @@ const rollupConfig = ({
167
167
  systemNullSetters: false,
168
168
  },
169
169
  external: [...PKG.externalDependencies, ...CONFIG.external],
170
+ treeshake: {
171
+ moduleSideEffects: false,
172
+ propertyReadSideEffects: false,
173
+ },
170
174
  plugins,
171
175
  }
172
176
 
@@ -46,19 +46,23 @@ const createBuilds = async () => {
46
46
  chalk.gray(`(format: ${MODULE_TYPES[type]})`),
47
47
  )
48
48
 
49
- return build({ inputOptions: input, outputOptions: output })
49
+ return build({ inputOptions: input, outputOptions: output }).catch(
50
+ (e) => {
51
+ log(
52
+ `${chalk.bold.bgRed.white('⚠️ ERROR')} ${chalk.red(
53
+ `Build ${i + 1}/${allBuildsCount} failed`,
54
+ )}`,
55
+ )
56
+ log(chalk.gray(` Format: ${MODULE_TYPES[type]}`))
57
+ log(chalk.gray(` File: ${output.file}`))
58
+ log(e)
59
+ throw e
60
+ },
61
+ )
50
62
  })
51
63
  })
52
64
 
53
- return p.catch((e) => {
54
- log(
55
- `${chalk.bold.bgRed.white('⚠️ ERROR')} ${chalk.red(
56
- 'Something went wrong',
57
- )}`,
58
- )
59
- log(e)
60
- throw e
61
- })
65
+ return p
62
66
  }
63
67
 
64
68
  const runBuild = async () => {
package/vitest.config.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { createVitestConfig } from '../../vitest.shared.js'
1
+ import { createVitestConfig } from '@vitus-labs/tools-vitest'
2
2
 
3
3
  export default createVitestConfig(['src/config/baseConfig.ts'])