Skip to content

Commit e57dba3

Browse files
committed
feat: update starter template
BREAKING CHANGE: Replace yarn with pnpm 9 BREAKING CHANGE: replaced eslint and prettier with biome Use the pnpm check and pnpm check —write commands and install the Biome VSCode extension BREAKING CHANGE: Minimum Node.js version set to 20 BREAKING CHANGE: Replace jest with vitest vitest is mostly compatible with jest API. You need to import test functions from vitest manually. There is a new pnpm test:ui command to visualize tests and their result. BREAKING CHANGE: Removed dotenv dependency Node.js now supports .env files natively using the —env-file=.env flag. BREAKING CHANGE: Moved from CJS to ESM BREAKING CHANGE: renovate is now run against main instead of dev - moved fibonacci.ts to lib/ subdirectory (test coverage is calculated for the lib/ subdirectory) - updated CI to Ubuntu 22 LTS and Node.js 20 LTS - Updated all dependencies - Update tsconfig.json to use @tsconfig/strictest and @tsconfig/node-lts - Renamed src/index.ts to src/main.ts - Use Top Level Await in main.ts - Correctly configure semantic release for next, alpha and beta releases Signed-off-by: Pascal Sthamer <[email protected]>
1 parent 9b05d54 commit e57dba3

File tree

994 files changed

+4994
-9892
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

994 files changed

+4994
-9892
lines changed

.dockerignore

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@
44

55
# Whitelist only files needed in the build context.
66
!package.json
7-
!yarn.lock
8-
!.yarnrc.yml
9-
!.yarn/cache
10-
!.yarn/releases
11-
!.yarn/plugins
7+
!pnpm-lock.yaml
128
!tsconfig.json
139
!src

.eslintrc.js

Lines changed: 0 additions & 45 deletions
This file was deleted.

.gitattributes

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/renovate.json

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
{
2-
"enabled": true,
3-
"baseBranches": ["dev"],
4-
"extends": [
5-
":pinVersions",
6-
":separateMultipleMajorReleases",
7-
":combinePatchMinorReleases",
8-
":ignoreUnstable",
9-
":semanticCommits",
10-
":semanticPrefixFixDepsChoreOthers",
11-
":updateNotScheduled",
12-
":ignoreModulesAndTests",
13-
":prImmediately",
14-
":prHourlyLimitNone",
15-
":prConcurrentLimit20",
16-
":label(dependencies)",
17-
":enableVulnerabilityAlertsWithLabel(security)",
18-
":npm",
19-
":automergeTypes",
20-
":automergeLinters",
21-
":docker",
22-
"group:monorepos",
23-
"group:recommended",
24-
"helpers:disableTypesNodeMajor"
25-
],
26-
"packageRules": [
27-
{
28-
"depTypeList": ["peerDependencies"],
29-
"rangeStrategy": "widen"
30-
}
31-
]
2+
"enabled": true,
3+
"baseBranches": ["main"],
4+
"extends": [
5+
":pinVersions",
6+
":separateMultipleMajorReleases",
7+
":combinePatchMinorReleases",
8+
":ignoreUnstable",
9+
":semanticCommits",
10+
":semanticPrefixFixDepsChoreOthers",
11+
":updateNotScheduled",
12+
":ignoreModulesAndTests",
13+
":prImmediately",
14+
":prHourlyLimitNone",
15+
":prConcurrentLimit20",
16+
":label(dependencies)",
17+
":enableVulnerabilityAlertsWithLabel(security)",
18+
":npm",
19+
":automergeTypes",
20+
":automergeLinters",
21+
":docker",
22+
"group:monorepos",
23+
"group:recommended",
24+
"helpers:disableTypesNodeMajor"
25+
],
26+
"packageRules": [
27+
{
28+
"depTypeList": ["peerDependencies"],
29+
"rangeStrategy": "widen"
30+
}
31+
]
3232
}

.github/workflows/release.yml

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,40 @@ on:
99
jobs:
1010
release:
1111
name: Release
12-
runs-on: ubuntu-20.04
12+
runs-on: ubuntu-22.04
13+
permissions:
14+
contents: write
15+
issues: write
16+
pull-requests: write
17+
packages: write
1318
steps:
1419
- name: Checkout
15-
uses: actions/checkout@v2
20+
uses: actions/checkout@v4
1621
with:
1722
fetch-depth: 0
23+
show-progress: false
1824

19-
- name: Setup Node.js
20-
uses: actions/setup-node@v2
25+
- uses: pnpm/action-setup@v3
26+
27+
- name: Setup node
28+
uses: actions/setup-node@v4
2129
with:
22-
node-version: 14
30+
node-version: 20
31+
cache: pnpm
2332

2433
- name: Install dependencies
25-
run: yarn install --immutable
34+
run: pnpm install
35+
36+
- name: Run Biome
37+
run: pnpm biome ci .
38+
39+
- name: Typescript check
40+
run: pnpm run tsc:check
2641

2742
- name: Test
28-
run: yarn test
43+
run: pnpm run test
2944

3045
- name: Release
3146
env:
3247
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33-
run: yarn semantic-release
48+
run: pnpm exec semantic-release

.github/workflows/test.yml

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,31 @@ on:
66
jobs:
77
test:
88
name: Test
9-
runs-on: ubuntu-20.04
9+
runs-on: ubuntu-22.04
1010
if: "!contains(github.event.head_commit.message, '[skip ci]')"
1111
steps:
1212
- name: Checkout
13-
uses: actions/checkout@v2
13+
uses: actions/checkout@v4
14+
with:
15+
fetch-depth: 0
16+
show-progress: false
17+
18+
- uses: pnpm/action-setup@v3
1419

15-
- name: Setup Node.js
16-
uses: actions/setup-node@v2
20+
- name: Setup node
21+
uses: actions/setup-node@v4
1722
with:
18-
node-version: 14
23+
node-version: 20
24+
cache: pnpm
1925

2026
- name: Install dependencies
21-
run: yarn install --immutable
27+
run: pnpm install
2228

2329
- name: Test
24-
run: yarn test
30+
run: pnpm test:coverage
31+
32+
- name: Archive code coverage results
33+
uses: actions/upload-artifact@v4
34+
with:
35+
name: code-coverage-report
36+
path: coverage/clover.xml

.gitignore

Lines changed: 1 addition & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
# Logs
22
logs
33
*.log
4-
npm-debug.log*
5-
yarn-debug.log*
6-
yarn-error.log*
7-
lerna-debug.log*
84

95
# Diagnostic reports (https://nodejs.org/api/report.html)
106
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
@@ -15,101 +11,23 @@ pids
1511
*.seed
1612
*.pid.lock
1713

18-
# Directory for instrumented libs generated by jscoverage/JSCover
19-
lib-cov
20-
21-
# Coverage directory used by tools like istanbul
14+
# Coverage directory
2215
coverage
23-
*.lcov
24-
25-
# nyc test coverage
26-
.nyc_output
27-
28-
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
29-
.grunt
30-
31-
# Bower dependency directory (https://bower.io/)
32-
bower_components
33-
34-
# node-waf configuration
35-
.lock-wscript
36-
37-
# Compiled binary addons (https://nodejs.org/api/addons.html)
38-
build/Release
3916

4017
# Dependency directories
4118
node_modules/
42-
jspm_packages/
43-
44-
# TypeScript v1 declaration files
45-
typings/
4619

4720
# TypeScript cache
4821
*.tsbuildinfo
4922

50-
# Optional npm cache directory
51-
.npm
52-
53-
# Optional eslint cache
54-
.eslintcache
55-
56-
# Microbundle cache
57-
.rpt2_cache/
58-
.rts2_cache_cjs/
59-
.rts2_cache_es/
60-
.rts2_cache_umd/
61-
6223
# Optional REPL history
6324
.node_repl_history
6425

6526
# Output of 'npm pack'
6627
*.tgz
6728

68-
# Yarn Integrity file
69-
.yarn-integrity
70-
7129
# dotenv environment variables file
7230
.env
73-
.env.test
74-
75-
# parcel-bundler cache (https://parceljs.org/)
76-
.cache
77-
78-
# Next.js build output
79-
.next
80-
81-
# Nuxt.js build / generate output
82-
.nuxt
83-
dist
84-
85-
# Gatsby files
86-
.cache/
87-
# Comment in the public line in if your project uses Gatsby and *not* Next.js
88-
# https://nextjs.org/blog/next-9-1#public-directory-support
89-
# public
90-
91-
# vuepress build output
92-
.vuepress/dist
93-
94-
# Serverless directories
95-
.serverless/
96-
97-
# FuseBox cache
98-
.fusebox/
99-
100-
# DynamoDB Local files
101-
.dynamodb/
102-
103-
# TernJS port file
104-
.tern-port
105-
106-
# Yarn berry with offline cache enabled
107-
.yarn/*
108-
!.yarn/cache
109-
!.yarn/releases
110-
!.yarn/plugins
111-
!.yarn/sdks
112-
!.yarn/versions
11331

11432
# MacOS system files
11533
.DS_Store

.idea/.gitignore

Lines changed: 0 additions & 5 deletions
This file was deleted.

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 0 additions & 6 deletions
This file was deleted.

.idea/jsLinters/eslint.xml

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)