Skip to content

Commit af0f633

Browse files
committed
feat: 升级构建工具
1 parent 311a755 commit af0f633

37 files changed

+13160
-7279
lines changed

.babelrc

+21-17
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,31 @@
11
{
2-
"presets": [
3-
["@babel/preset-env",
2+
"presets": [
3+
[
4+
"@babel/preset-env",
45
{
56
"targets": {
6-
"browsers": "last 2 versions, > 1%, ie >= 6, Chrome >= 29, Firefox >= 55, Safari >= 9, Android >= 4, iOS >= 9, and_uc > 11",
7-
"node": "4"
7+
"browsers": "last 2 versions, > 1%, ie >= 11, Android >= 4.1, iOS >= 10.3",
8+
"node": "14"
89
},
910
"modules": "commonjs",
1011
"loose": false
11-
}]
12-
],
13-
"plugins": [
14-
["@babel/plugin-transform-runtime", {
15-
"helpers": false,
12+
}
13+
]
14+
],
15+
"plugins": [
16+
[
17+
"@babel/plugin-transform-runtime",
18+
{
19+
"corejs": 3,
20+
"versions": "^7.22.15",
21+
"helpers": true,
1622
"regenerator": false
17-
}]
18-
],
19-
"env": {
20-
"test": {
21-
"plugins": [
22-
"istanbul"
23-
]
2423
}
24+
]
25+
],
26+
"env": {
27+
"test": {
28+
"plugins": ["istanbul"]
2529
}
2630
}
27-
31+
}

.editorconfig

+24-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,30 @@
1+
# 根目录的配置
12
root = true
23

3-
[{*.js,*.css,*.html}]
4-
indent_style = space
5-
indent_size = 4
6-
end_of_line = lf
4+
[*]
75
charset = utf-8
6+
end_of_line = lf
87
insert_final_newline = true
9-
10-
[{package.json,.*rc,*.yml}]
118
indent_style = space
9+
indent_size = 4
10+
11+
[*.html]
12+
indent_size = 2
13+
14+
[*.{css,less,scss}]
15+
indent_size = 2
16+
17+
[*.{js,mjs,cjs,ts,cts,mts}]
18+
indent_size = 2
19+
20+
[*.{json,yml,yaml}]
21+
indent_size = 2
22+
23+
[*.{sh}]
24+
indent_size = 2
25+
26+
[*.{md,makrdown}]
27+
indent_size = 2
28+
29+
[*rc]
1230
indent_size = 2

.eslintignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dist
2+
require.js
3+
*.ts

.eslintrc.cjs

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
module.exports = {
2+
parser: '@babel/eslint-parser',
3+
env: {
4+
browser: true,
5+
es2021: true,
6+
node: true,
7+
mocha: true,
8+
},
9+
parserOptions: {
10+
ecmaVersion: 'latest',
11+
sourceType: 'module',
12+
// 即使没有 babelrc 配置文件,也使用 babel-eslint 来解析
13+
requireConfigFile: false,
14+
},
15+
extends: [
16+
'eslint:recommended',
17+
'plugin:prettier/recommended',
18+
'plugin:import/recommended',
19+
],
20+
rules: {
21+
'no-unused-vars': [
22+
2,
23+
{
24+
vars: 'local',
25+
args: 'after-used',
26+
ignoreRestSiblings: true,
27+
varsIgnorePattern: '^_',
28+
argsIgnorePattern: '^_',
29+
},
30+
],
31+
eqeqeq: [2],
32+
'import/no-unresolved': [1],
33+
},
34+
};

.eslintrc.js

-32
This file was deleted.

.github/FUNDING.yml

-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
11
# These are supported funding model platforms
22

3-
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4-
patreon: # Replace with a single Patreon username
5-
open_collective: # Replace with a single Open Collective username
6-
ko_fi: # Replace with a single Ko-fi username
7-
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8-
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9-
liberapay: # Replace with a single Liberapay username
10-
issuehunt: # Replace with a single IssueHunt username
11-
otechie: # Replace with a single Otechie username
123
custom: ['https://yanhaijing.com/mywallet/']

.github/workflows/ci.yml

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
3+
4+
name: CI
5+
6+
on:
7+
push:
8+
branches: ['master']
9+
pull_request:
10+
branches: ['master']
11+
12+
jobs:
13+
commitlint:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v3
17+
with:
18+
fetch-depth: 0
19+
- uses: wagoid/commitlint-github-action@v4
20+
21+
lint:
22+
needs: commitlint
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v3
26+
- name: Use Node.js 18.x
27+
uses: actions/setup-node@v3
28+
with:
29+
node-version: '18.x'
30+
cache: 'npm'
31+
- run: npm ci
32+
- run: npm run lint
33+
34+
test:
35+
needs: lint
36+
runs-on: ubuntu-latest
37+
strategy:
38+
matrix:
39+
node-version: [14.x, 16.x, 18.x]
40+
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
41+
steps:
42+
- uses: actions/checkout@v3
43+
- name: Use Node.js ${{ matrix.node-version }}
44+
uses: actions/setup-node@v3
45+
with:
46+
node-version: ${{ matrix.node-version }}
47+
cache: 'npm'
48+
- run: npm i
49+
- run: npm test
50+
# - run: npm run coveralls --if-present
51+
- run: npm run build --if-present

.gitignore

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1+
coverage
12
node_modules
23
dist
3-
.nyc_output
4-
coverage
4+
.eslintcache
5+
.nyc_output

.husky/commit-msg

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
npx --no -- commitlint --edit "$1"

.husky/pre-commit

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
npx lint-staged

.lintstagedrc.cjs

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
'**/*.{js,mjs,cjs,ts,cts,mts}': ['prettier --write', 'eslint --cache'],
3+
};

.nycrc

+2-7
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,8 @@
44
"statements": 75,
55
"functions": 0,
66
"branches": 75,
7-
"require": [
8-
"@babel/register"
9-
],
10-
"reporter": [
11-
"lcov",
12-
"text"
13-
],
7+
"reporter": ["lcov", "text"],
8+
"require": ["@babel/register"],
149
"sourceMap": false,
1510
"instrument": false
1611
}

.prettierignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dist
2+
coverage
3+
package-lock.json

.prettierrc.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"singleQuote": true
3+
}

.travis.yml

-8
This file was deleted.

.vscode/extensions.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"]
3+
}

.vscode/settings.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"editor.formatOnSave": true,
3+
"editor.defaultFormatter": "esbenp.prettier-vscode"
4+
}

CHANGELOG.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# 变更日志
22

3+
## 0.10.0 / 2023-09-23
4+
5+
- 升级最新版 jslib-base
6+
- 支持 Node.js ESM
7+
38
## 0.9.2 / 2019-10-10
49

510
- fix: 修复丢失d.ts的问题
@@ -35,7 +40,7 @@
3540

3641
## 0.2.0 / 2018-3-31
3742

38-
- 原生支持ie6-8
43+
- 原生支持ie6-8
3944

4045
## 0.1.0 / 2018-3-17
4146

0 commit comments

Comments
 (0)