You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Excel-Builder-Vanilla is a fork of the popular [excel-builder.js](https://github.com/stephenliberty/excel-builder.js) project (thanks to @stephenliberty for this great library). The main goal in creating this fork was to modernize the project by removing dependencies that are no longer necessary and replace `JSZip` by `fflate` which provides an ESM build giving us Tree Shaking. The other goal was also to provide an ESM bundle to slowly get away from CommonJS (CJS bundle is still offered but we strongly suggest you migrate to the ESM approach)
35
+
Excel-Builder-Vanilla is a fork of the popular [excel-builder.js](https://github.com/stephenliberty/excel-builder.js) project (thanks to @stephenliberty for this great library). The main goal of creating this fork was to modernize the project by removing old dependencies that are no longer necessary and also replace `JSZip` by `fflate` which provides an ESM build and is indirectly giving us better Tree Shaking. The other goal was also to provide an ESM build to eventually get away from CommonJS (CJS bundle is still offered but we strongly suggest that you migrate to the ESM approach)
36
36
37
37
The modernization steps:
38
-
- migrate to TypeScript (giving us TS Types `d.ts`)
39
-
- drop `Q` dependency (we simply use native `Promise`)
38
+
- migrate to TypeScript (which is giving us TS Types `d.ts`)
39
+
- drop `Q` dependency (we now simply use native `Promise`)
40
40
- drop `Lodash` dependency (we now use native JS code)
41
41
- replace `JSZip` dependency with [`fflate`](https://github.com/101arrowz/fflate) which has an ESM build and offers better performance.
42
42
- bump version to `v3.0.0` as a `major` release (_the original project version was in the `2.x` range._)
@@ -46,7 +46,7 @@ The project now requires only 1 dependency which is [fflate](https://github.com/
46
46
47
47
### Summary
48
48
49
-
This modernization is providing a huge decrease in the final build size, with now only 1 dependency, and is offering better performance 🚀
49
+
This modernization is providing a huge decrease in the final build size, with only 1 dependency, and also offers better performance 🚀
50
50
51
51
## Installation
52
52
@@ -56,10 +56,10 @@ This modernization is providing a huge decrease in the final build size, with no
56
56
npm install excel-builder-vanilla
57
57
```
58
58
59
-
The project offers 3 different bundle types, choose the best one depending on your use case
59
+
The project offers 3 different build types, choose the best one depending on your use case
60
60
1.**ESM**: to `import from` (_**preferred**_)
61
-
2.**CJS**: CommonJS to support old NodeJS `require()` - will probably be removed in the future
62
-
3.**IIFE**: standalone script with `ExcelBuilder` available on the `window` object
61
+
2.**CJS**: CommonJS to support old NodeJS `require()` - will probably be dropped in the future
62
+
3.**IIFE**: standalone script which provides `ExcelBuilder` on the `window` object
63
63
64
64
```ts
65
65
// ESM (preferred) - npm install
@@ -87,7 +87,7 @@ Please note that since we use `fflate` (which creates and compresses the Excel f
87
87
88
88
### Used by
89
89
90
-
This fork was created mostly to support Tree Shaking (ESM), get away from CJS, provide TS Types and update all project dependencies. It is used by a few other Open Source libraries that I also maintain and requires Excel export:
90
+
This fork was created mostly to support Tree Shaking (ESM), to get away from CJS, to provide TS Types and finally to update all project dependencies. It is used by a few other Open Source libraries that I also maintain and require Excel export:
@@ -102,7 +102,7 @@ This fork was created mostly to support Tree Shaking (ESM), get away from CJS, p
102
102
103
103
### Development / Contributions
104
104
105
-
If you wish to contribute to the project, please follow these steps:
105
+
If you wish to contribute to the project, please follow the steps below:
106
106
107
107
**Note**: this project uses [pnpm workspaces](https://pnpm.io/workspaces), you can install pnpm by following their [installation](https://pnpm.io/installation) or use NodeJS `corepack enable` to run any of the pnpm scripts shown below:
0 commit comments