Skip to content

Commit a31e14c

Browse files
committed
feat: 升级jslib最新版
1 parent 95946d5 commit a31e14c

30 files changed

+12718
-7002
lines changed

.babelrc

+22-18
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,
16-
"regenerator": false
17-
}]
18-
],
19-
"env": {
20-
"test": {
21-
"plugins": [
22-
"istanbul"
23-
]
2412
}
13+
]
14+
],
15+
"plugins": [
16+
// [
17+
// "@babel/plugin-transform-runtime",
18+
// {
19+
// "corejs": 3,
20+
// "versions": "^7.22.15",
21+
// "helpers": true,
22+
// "regenerator": false
23+
// }
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

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# These are supported funding model platforms
2+
3+
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+
}

commitlint.config.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
extends: ['@commitlint/config-conventional'],
3+
};

config/rollup.cjs

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
var babel = require('@rollup/plugin-babel');
2+
3+
var pkg = require('../package.json');
4+
5+
var version = pkg.version;
6+
7+
var banner = `/*!
8+
* ${pkg.name} ${version} (https://github.com/jsmini/is)
9+
* API https://github.com/jsmini/is/blob/master/doc/api.md
10+
* Copyright 2017-${new Date().getFullYear()} jsmini. All Rights Reserved
11+
* Licensed under MIT (https://github.com/jsmini/is/blob/master/LICENSE)
12+
*/
13+
`;
14+
15+
function getCompiler() {
16+
return babel({
17+
babelrc: false,
18+
presets: [
19+
[
20+
'@babel/preset-env',
21+
{
22+
targets: {
23+
browsers:
24+
'last 2 versions, > 1%, ie >= 11, Android >= 4.1, iOS >= 10.3',
25+
node: '14',
26+
},
27+
modules: false,
28+
loose: false,
29+
},
30+
],
31+
],
32+
plugins: [
33+
// [
34+
// '@babel/plugin-transform-runtime',
35+
// {
36+
// corejs: 3,
37+
// versions: '^7.22.15',
38+
// helpers: true,
39+
// regenerator: false,
40+
// },
41+
// ],
42+
],
43+
babelHelpers: 'bundled',
44+
exclude: 'node_modules/**',
45+
});
46+
}
47+
48+
exports.name = 'jsmini_is';
49+
exports.banner = banner;
50+
exports.getCompiler = getCompiler;

config/rollup.config.aio.cjs

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// rollup.config.js
2+
// umd
3+
var nodeResolve = require('@rollup/plugin-node-resolve');
4+
var commonjs = require('@rollup/plugin-commonjs');
5+
var terser = require('@rollup/plugin-terser');
6+
7+
var common = require('./rollup.cjs');
8+
9+
module.exports = {
10+
input: 'src/index.js',
11+
output: [
12+
{
13+
file: 'dist/index.aio.js',
14+
format: 'umd',
15+
// When export and export default are not used at the same time, set legacy to true.
16+
// legacy: true,
17+
name: common.name,
18+
banner: common.banner,
19+
},
20+
{
21+
file: 'dist/index.aio.min.js',
22+
format: 'umd',
23+
// legacy: true,
24+
name: common.name,
25+
banner: common.banner,
26+
plugins: [terser()],
27+
},
28+
],
29+
plugins: [nodeResolve({}), commonjs({}), common.getCompiler()],
30+
};

0 commit comments

Comments
 (0)