+150
-104
Diff
round #0
-22
.github/dependabot.yml
-22
.github/dependabot.yml
···
1
-
# To get started with Dependabot version updates, you'll need to specify which
2
-
# package ecosystems to update and where the package manifests are located.
3
-
# Please see the documentation for all configuration options:
4
-
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
-
6
-
version: 2
7
-
updates:
8
-
- package-ecosystem: 'devcontainers'
9
-
directory: '/'
10
-
schedule:
11
-
interval: weekly
12
-
commit-message:
13
-
prefix: 'chore(deps/devcon):'
14
-
open-pull-requests-limit: 4
15
-
16
-
- package-ecosystem: 'github-actions'
17
-
directory: '/'
18
-
schedule:
19
-
interval: daily
20
-
commit-message:
21
-
prefix: 'chore(deps/actions):'
22
-
open-pull-requests-limit: 4
-81
.github/workflows/node.yml
-81
.github/workflows/node.yml
···
1
-
name: Node.js CI
2
-
3
-
on:
4
-
push:
5
-
branches: [main]
6
-
paths:
7
-
- .github/workflows/node.yml
8
-
- libs/*
9
-
- package.json
10
-
- package-lock.json
11
-
pull_request:
12
-
branches: [main]
13
-
paths:
14
-
- .github/workflows/node.yml
15
-
- libs/*
16
-
- package.json
17
-
- package-lock.json
18
-
workflow_dispatch:
19
-
20
-
jobs:
21
-
lint:
22
-
runs-on: ubuntu-latest
23
-
steps:
24
-
- name: Checkout repository
25
-
uses: actions/checkout@v6
26
-
- name: Install pnpm
27
-
uses: pnpm/action-setup@v4
28
-
with:
29
-
version: 10
30
-
- name: Install Node.js (latest)
31
-
uses: actions/setup-node@v6
32
-
with:
33
-
node-version: latest
34
-
cache: 'pnpm'
35
-
- name: Install dependencies
36
-
run: pnpm install --frozen-lockfile
37
-
- name: Lint
38
-
run: pnpm run lint
39
-
40
-
build-library:
41
-
name: build (${{ matrix.workspace }})
42
-
runs-on: ubuntu-latest
43
-
strategy:
44
-
matrix:
45
-
workspace:
46
-
- node-esbuild-js-cjs
47
-
- node-esbuild-js-esm
48
-
- node-esbuild-ts-esm
49
-
- node-parcel-js-cjs
50
-
- node-parcel-ts-esm
51
-
- node-parcel-ts-esm
52
-
- node-rollup-js-cjs
53
-
- node-rollup-ts-esm
54
-
- node-rollup-js-esm
55
-
- node-tsc-js-cjs
56
-
- node-tsc-js-esm
57
-
- node-tsc-ts-esm
58
-
- node-tsup-ts-esm
59
-
- node-vite-js-cjs
60
-
- node-vite-ts-esm
61
-
- node-vite-js-esm
62
-
- node-webpack-js-cjs
63
-
- node-webpack-js-esm
64
-
- node-webpack-ts-esm
65
-
steps:
66
-
- name: Checkout repository
67
-
uses: actions/checkout@v6
68
-
- name: Install pnpm
69
-
uses: pnpm/action-setup@v4
70
-
with:
71
-
version: 10
72
-
- name: Install Node.js (latest)
73
-
uses: actions/setup-node@v6
74
-
with:
75
-
node-version: latest
76
-
cache: 'pnpm'
77
-
- name: Install dependencies
78
-
run: pnpm install --frozen-lockfile
79
-
- name: Build library, run publint
80
-
working-directory: ./libs/${{ matrix.workspace }}
81
-
run: pnpm run publint
+18
.tangled/workflows/build-esbuild.yml
+18
.tangled/workflows/build-esbuild.yml
···
1
+
when:
2
+
- event: ['push', 'pull_request']
3
+
branch: ['main']
4
+
5
+
engine: 'nixery'
6
+
7
+
dependencies:
8
+
nixpkgs:
9
+
- coreutils
10
+
- gnused
11
+
- nodejs_24
12
+
- pnpm
13
+
14
+
steps:
15
+
- name: Install dependencies
16
+
command: pnpm install --frozen-lockfile
17
+
- name: Build packages
18
+
command: pnpm run build-esbuild
+18
.tangled/workflows/build-parcel.yml
+18
.tangled/workflows/build-parcel.yml
···
1
+
when:
2
+
- event: ['push', 'pull_request']
3
+
branch: ['main']
4
+
5
+
engine: 'nixery'
6
+
7
+
dependencies:
8
+
nixpkgs:
9
+
- coreutils
10
+
- gnused
11
+
- nodejs_24
12
+
- pnpm
13
+
14
+
steps:
15
+
- name: Install dependencies
16
+
command: pnpm install --frozen-lockfile
17
+
- name: Build packages
18
+
command: pnpm run build-parcel
+18
.tangled/workflows/build-rollup.yml
+18
.tangled/workflows/build-rollup.yml
···
1
+
when:
2
+
- event: ['push', 'pull_request']
3
+
branch: ['main']
4
+
5
+
engine: 'nixery'
6
+
7
+
dependencies:
8
+
nixpkgs:
9
+
- coreutils
10
+
- gnused
11
+
- nodejs_24
12
+
- pnpm
13
+
14
+
steps:
15
+
- name: Install dependencies
16
+
command: pnpm install --frozen-lockfile
17
+
- name: Build packages
18
+
command: pnpm run build-rollup
+18
.tangled/workflows/build-tsc.yml
+18
.tangled/workflows/build-tsc.yml
···
1
+
when:
2
+
- event: ['push', 'pull_request']
3
+
branch: ['main']
4
+
5
+
engine: 'nixery'
6
+
7
+
dependencies:
8
+
nixpkgs:
9
+
- coreutils
10
+
- gnused
11
+
- nodejs_24
12
+
- pnpm
13
+
14
+
steps:
15
+
- name: Install dependencies
16
+
command: pnpm install --frozen-lockfile
17
+
- name: Build packages, run publint
18
+
command:
+18
.tangled/workflows/build-vite.yml
+18
.tangled/workflows/build-vite.yml
···
1
+
when:
2
+
- event: ['push', 'pull_request']
3
+
branch: ['main']
4
+
5
+
engine: 'nixery'
6
+
7
+
dependencies:
8
+
nixpkgs:
9
+
- coreutils
10
+
- gnused
11
+
- nodejs_24
12
+
- pnpm
13
+
14
+
steps:
15
+
- name: Install dependencies
16
+
command: pnpm install --frozen-lockfile
17
+
- name: Build packages
18
+
command: pnpm run build-vite
+18
.tangled/workflows/build-webpack.yml
+18
.tangled/workflows/build-webpack.yml
···
1
+
when:
2
+
- event: ['push', 'pull_request']
3
+
branch: ['main']
4
+
5
+
engine: 'nixery'
6
+
7
+
dependencies:
8
+
nixpkgs:
9
+
- coreutils
10
+
- gnused
11
+
- nodejs_24
12
+
- pnpm
13
+
14
+
steps:
15
+
- name: Install dependencies
16
+
command: pnpm install --frozen-lockfile
17
+
- name: Build packages
18
+
command: pnpm run build-webpack
+18
.tangled/workflows/codeqa-fmt.yml
+18
.tangled/workflows/codeqa-fmt.yml
···
1
+
when:
2
+
- event: ['push', 'pull_request']
3
+
branch: ['main']
4
+
5
+
engine: 'nixery'
6
+
7
+
dependencies:
8
+
nixpkgs:
9
+
- coreutils
10
+
- gnused
11
+
- nodejs_24
12
+
- pnpm
13
+
14
+
steps:
15
+
- name: Install dependencies
16
+
command: pnpm install --frozen-lockfile
17
+
- name: Run formatter checks
18
+
command: pnpm run fmt-ci
+18
.tangled/workflows/codeqa-lint.yml
+18
.tangled/workflows/codeqa-lint.yml
···
1
+
when:
2
+
- event: ['push', 'pull_request']
3
+
branch: ['main']
4
+
5
+
engine: 'nixery'
6
+
7
+
dependencies:
8
+
nixpkgs:
9
+
- coreutils
10
+
- gnused
11
+
- nodejs_24
12
+
- pnpm
13
+
14
+
steps:
15
+
- name: Install dependencies
16
+
command: pnpm install --frozen-lockfile
17
+
- name: Run linter checks
18
+
command: pnpm run lint
-1
README.md
-1
README.md
···
38
38
- `{{language}}`: JavaScript language. Choices: `ts`, `js`
39
39
- `{{module-system}}`: JavaScript module resolution strategy. Choices: `esm`, `cjs`. (This intentionally does not include AMD, UMD, or IIFE)
40
40
41
-
42
41
## Q&A and Notes
43
42
44
43
- **Why do pure JS libraries still include TypeScript as a developer dependency?**: While the source code may not be written in TypeScript, TypeScript is responsible for generating [declaration files](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction) (`.d.ts`) during the build process to provide types.
+6
package.json
+6
package.json
···
8
8
"type": "module",
9
9
"scripts": {
10
10
"build": "pnpm run --r --if-present build",
11
+
"build-esbuild": "pnpm --filter './libs/node-esbuild-*' build",
12
+
"build-parcel": "pnpm --filter './libs/node-parcel-*' build",
13
+
"build-rollup": "pnpm --filter './libs/node-rollup-*' build",
14
+
"build-tsc": "pnpm --filter './libs/node-tsc-*' build",
15
+
"build-vite": "pnpm --filter './libs/node-vite-*' build",
16
+
"build-webpack": "pnpm --filter './libs/node-webpack-*' build",
11
17
"fmt": "oxfmt",
12
18
"fmt-ci": "oxfmt --check",
13
19
"lint": "oxlint --type-aware --type-check",
History
1 round
0 comments
samanthanguyen.me
submitted
#0
1 commit
expand
collapse
ci: migrate GitHub Actions CI to Spindle CI
expand 0 comments
pull request successfully merged