Skip to content

Commit 2fa3573

Browse files
committed
Merge branch 'main' into feat/types-only-package
2 parents e71b2f8 + f540348 commit 2fa3573

File tree

10 files changed

+1281
-1213
lines changed

10 files changed

+1281
-1213
lines changed

.github/renovate.json5

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@
99
packageNames: ['pnpm'],
1010
allowedVersions: '<9.0.0',
1111
},
12+
13+
// node-glob, minimatch and rimraf new major releases dropped support for Node 18, we'll have to wait our next major to upgrade them
14+
{
15+
packageNames: ['rimraf'],
16+
allowedVersions: '<6.0.0',
17+
},
1218
],
13-
schedule: ['every 2 weeks on Friday'],
19+
schedule: ['every month'],
1420
}

.github/workflows/main.yml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,16 +70,6 @@ jobs:
7070
- name: Biome Format Check
7171
run: pnpm biome:format:check
7272

73-
- name: Cache TypeScript and Vitest
74-
uses: actions/cache@v4
75-
with:
76-
path: |
77-
packages/*/lib
78-
packages/*/tsconfig.tsbuildinfo
79-
node_modules/.vitest
80-
key: vitest-${{ matrix.platform }}-${{ matrix.node }}-${{ github.run_id }}
81-
restore-keys: vitest-${{ matrix.platform }}-${{ matrix.node }}-
82-
8373
- name: Build Library
8474
run: pnpm build:lib
8575

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ You can also take a look at the "[Used by](#used-by)" section below to see real
3232
[MIT License](https://github.com/ghiscoding/excel-builder-vanilla/blob/main/LICENSE.md)
3333

3434
## Project History
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 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)
3636

3737
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`)
4040
- drop `Lodash` dependency (we now use native JS code)
4141
- replace `JSZip` dependency with [`fflate`](https://github.com/101arrowz/fflate) which has an ESM build and offers better performance.
4242
- 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/
4646

4747
### Summary
4848

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 🚀
5050

5151
## Installation
5252

@@ -56,10 +56,10 @@ This modernization is providing a huge decrease in the final build size, with no
5656
npm install excel-builder-vanilla
5757
```
5858

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
6060
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
6363

6464
```ts
6565
// ESM (preferred) - npm install
@@ -87,7 +87,7 @@ Please note that since we use `fflate` (which creates and compresses the Excel f
8787

8888
### Used by
8989

90-
This fork was created mostly to support Tree Shaking (ESM), slowly going 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:
9191

9292
- [Angular-Slickgrid](https://github.com/ghiscoding/Angular-Slickgrid)
9393
- [Aurelia-Slickgrid](https://github.com/ghiscoding/aurelia-slickgrid)
@@ -102,7 +102,7 @@ This fork was created mostly to support Tree Shaking (ESM), slowly going away fr
102102

103103
### Development / Contributions
104104

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:
106106

107107
**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:
108108

biome.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
"arrowParentheses": "asNeeded",
2121
"quoteProperties": "asNeeded",
2222
"semicolons": "always",
23-
"trailingComma": "all",
2423
"indentStyle": "space",
2524
"quoteStyle": "single"
2625
}

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"createRelease": "github",
1717
"changelogIncludeCommitsClientLogin": " - by @%l",
1818
"changelogHeaderMessage": "## Visit the [Excel-Builder-Vanilla](https://github.com/ghiscoding/excel-builder-vanilla) GitHub project or take a look at the [Live Demo](https://ghiscoding.github.io/excel-builder-vanilla)",
19-
"message": "chore(release): publish new version %v",
19+
"message": "chore(release): publish new version %s",
2020
"syncWorkspaceLock": true
2121
}
2222
},

package.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"build:lib": "pnpm -r --stream --filter \"./packages/excel-builder-vanilla/**\" build",
3636
"dev": "pnpm -r dev:init && pnpm -r --parallel dev",
3737
"biome:lint:check": "biome lint ./packages",
38-
"biome:lint:write": "biome check --apply ./packages",
38+
"biome:lint:write": "biome lint --write ./packages",
3939
"biome:format:check": "biome format ./packages",
4040
"biome:format:write": "biome format --write ./packages",
4141
"preview:version": "lerna version --dry-run",
@@ -47,19 +47,19 @@
4747
"test": "vitest --watch --pool forks --config ./vitest/vitest.config.mts",
4848
"test:coverage": "vitest --coverage --pool forks --config ./vitest/vitest.config.mts"
4949
},
50-
"packageManager": "[email protected].7",
50+
"packageManager": "[email protected].9",
5151
"devDependencies": {
52-
"@biomejs/biome": "^1.7.1",
53-
"@lerna-lite/cli": "^3.3.3",
54-
"@lerna-lite/publish": "^3.3.3",
55-
"@types/node": "^20.12.7",
56-
"@vitest/coverage-v8": "^1.5.2",
52+
"@biomejs/biome": "^1.8.3",
53+
"@lerna-lite/cli": "^3.8.0",
54+
"@lerna-lite/publish": "^3.8.0",
55+
"@types/node": "^20.14.15",
56+
"@vitest/coverage-v8": "^2.0.5",
5757
"conventional-changelog-conventionalcommits": "^7.0.2",
5858
"cross-env": "^7.0.3",
59-
"happy-dom": "^14.7.1",
60-
"pnpm": "^8.15.7",
61-
"rimraf": "^5.0.5",
62-
"typescript": "^5.4.5",
63-
"vitest": "^1.5.2"
59+
"happy-dom": "^14.12.3",
60+
"pnpm": "^8.15.9",
61+
"rimraf": "^5.0.10",
62+
"typescript": "^5.5.4",
63+
"vitest": "^2.0.5"
6464
}
65-
}
65+
}

packages/demo/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
},
1717
"devDependencies": {
1818
"fflate": "0.8.2",
19-
"sass": "^1.75.0",
20-
"typescript": "^5.4.5",
21-
"vite": "^5.2.10"
19+
"sass": "^1.77.8",
20+
"typescript": "^5.5.4",
21+
"vite": "^5.4.1"
2222
}
2323
}

packages/excel-builder-vanilla/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ npm install excel-builder-vanilla
1515
```
1616

1717
The project offers 3 different bundle types, choose the best for your use case
18-
1. ESM: to `import from` (prefered)
18+
1. ESM: to `import from` (preferred)
1919
2. CJS: CommonJS to support old Node `require()` - will possibly be removed in the future
2020
3. IIFE: standalone script with `ExcelBuilder` available on the `window` object
2121

packages/excel-builder-vanilla/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@
5656
},
5757
"devDependencies": {
5858
"copyfiles": "^2.4.1",
59-
"typescript": "^5.4.5",
60-
"vite": "^5.2.10",
61-
"vite-plugin-dts": "^3.9.0"
59+
"typescript": "^5.5.4",
60+
"vite": "^5.4.2",
61+
"vite-plugin-dts": "^4.0.3"
6262
}
6363
}

0 commit comments

Comments
 (0)