Skip to content

Commit abbf740

Browse files
committed
upgrade package & test
1 parent b09c8ca commit abbf740

File tree

15 files changed

+3873
-2763
lines changed

15 files changed

+3873
-2763
lines changed

.editorconfig

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Config helps developers define and maintain consistent
2+
# coding styles between different editors and IDEs
3+
# editorconfig.org
4+
5+
root = true
6+
7+
[*]
8+
# We recommend you to keep these unchanged
9+
indent_style = space
10+
indent_size = 4
11+
end_of_line = lf
12+
charset = utf-8
13+
trim_trailing_whitespace = true
14+
insert_final_newline = true
15+
quote_type = single
16+
max_line_length = 120
17+
18+
[*.md]
19+
trim_trailing_whitespace = false

.eslintignore

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

.eslintrc

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

.github/workflows/test-on-release.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Test on Release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- develop
8+
tags:
9+
- 'v[0-9]+.[0-9]+.[0-9]+'
10+
pull_request:
11+
branches:
12+
- main
13+
- develop
14+
15+
jobs:
16+
test:
17+
if: github.event_name == 'push' || github.event_name == 'pull_request'
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- uses: actions/checkout@v3
22+
23+
- name: Setup Node.js
24+
uses: actions/setup-node@v3
25+
with:
26+
node-version: '20'
27+
cache: 'yarn'
28+
29+
- name: Install dependencies
30+
run: yarn install --frozen-lockfile
31+
32+
- name: Run tests
33+
run: yarn test
34+
35+
deploy:
36+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
37+
needs: test
38+
runs-on: ubuntu-latest
39+
40+
defaults:
41+
run:
42+
working-directory: ./example
43+
44+
steps:
45+
- name: Checkout repository
46+
uses: actions/checkout@v3
47+
48+
- name: Wait for npm publish
49+
run: sleep 30 # 延遲30秒,可根據實際情況調整
50+
51+
- name: Set up Node.js
52+
uses: actions/setup-node@v3
53+
with:
54+
node-version: '20'
55+
56+
- name: Replace local links with actual versions
57+
run: |
58+
sed -i 's#"@acrool/react-picker": "link:.."#"@acrool/react-picker": "latest"#' package.json
59+
sed -i 's#"react": "link:../node_modules/react"#"react": "^19.1.0"#' package.json
60+
sed -i 's#"react-dom": "link:../node_modules/react-dom"#"react-dom": "^19.1.0"#' package.json
61+
62+
- name: Install dependencies
63+
run: yarn install
64+
65+
- name: Build Storybook & Deploy to Cloudflare Pages
66+
run: yarn pages:deploy
67+
env:
68+
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}

__tests__/utils.spec.tsx

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

eslint.config.mjs

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import simpleImportSort from 'eslint-plugin-simple-import-sort';
2+
import react from 'eslint-plugin-react';
3+
import tsparser from '@typescript-eslint/parser';
4+
import stylisticTs from '@stylistic/eslint-plugin-ts';
5+
6+
7+
export default [
8+
{
9+
ignores: [
10+
],
11+
},
12+
{
13+
files: ["**/*.ts", "**/*.tsx"],
14+
15+
languageOptions: {
16+
parser: tsparser,
17+
},
18+
19+
plugins: {
20+
"simple-import-sort": simpleImportSort,
21+
'@stylistic/ts': stylisticTs,
22+
react
23+
},
24+
25+
rules: {
26+
quotes: ["warn", "single"],
27+
"simple-import-sort/imports": "warn",
28+
semi: ["warn", "always"],
29+
indent: ["warn", 4],
30+
"object-curly-spacing": ["warn", "never"],
31+
"jsx-a11y/alt-text": "off",
32+
"jsx-a11y/anchor-is-valid": "off",
33+
"import/first": "off",
34+
"import/no-anonymous-default-export": "off",
35+
"react-hooks/exhaustive-deps": "off",
36+
"no-useless-escape": "off",
37+
"react/jsx-boolean-value": "warn",
38+
"@typescript-eslint/no-unused-vars": "off",
39+
"@stylistic/ts/member-delimiter-style": ["warn", {
40+
multiline: {
41+
delimiter: "comma",
42+
requireLast: true,
43+
},
44+
singleline: {
45+
delimiter: "comma",
46+
requireLast: false,
47+
},
48+
overrides: {
49+
interface: {
50+
multiline: {
51+
delimiter: "none",
52+
requireLast: false,
53+
},
54+
},
55+
},
56+
}],
57+
},
58+
},
59+
];

example/package.json

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,52 @@
11
{
2-
"name": "example",
3-
"private": true,
4-
"version": "0.0.0",
5-
"type": "module",
6-
"scripts": {
7-
"storybook": "storybook dev -p 6006",
8-
"build-storybook": "storybook build",
9-
"pages:dev": "wrangler pages dev --proxy 3000 -- yarn dev",
10-
"pages:deploy": "NODE_VERSION=18 yarn build-storybook && wrangler pages deploy ./storybook-static --project-name=acrool-react-picker --branch main"
11-
},
12-
"resolutions": {
13-
"styled-components": "6.1.17"
14-
},
15-
"dependencies": {
16-
"@acrool/js-utils": "^3.2.15",
17-
"@acrool/react-hotkey": "^1.0.0",
18-
"@acrool/react-grid": "^6.0.2",
19-
"@acrool/react-modal": "1.1.0",
20-
"@acrool/react-skeleton": "^1.2.0",
21-
"@acrool/react-picker": "link:..",
22-
"@acrool/react-datepicker": "^3.2.0",
23-
"@acrool/react-dropdown": "^3.1.0",
24-
"@chromatic-com/storybook": "^1.5.0",
25-
"@emotion/is-prop-valid": "^1.2.2",
26-
"@storybook/addon-essentials": "^8.1.10",
27-
"@storybook/addon-interactions": "^8.1.10",
28-
"@storybook/addon-links": "^8.1.10",
29-
"@storybook/addon-onboarding": "^8.1.10",
30-
"@storybook/blocks": "^8.1.10",
31-
"@storybook/react": "^8.1.10",
32-
"@storybook/react-vite": "^8.1.10",
33-
"@storybook/test": "^8.1.10",
34-
"@swc/core": "^1.3.68",
35-
"@swc/plugin-styled-components": "6.8.2",
36-
"@types/dom-to-image": "^2.6.7",
37-
"@types/react": "^19.1.2",
38-
"@types/react-dom": "^19.1.2",
39-
"@vitejs/plugin-react-swc": "^3.0.0",
40-
"dom-to-image": "^2.6.0",
41-
"react": "link:../node_modules/react",
42-
"react-dom": "link:../node_modules/react-dom",
43-
"sass": "^1.77.1",
44-
"storybook": "^8.1.10",
45-
"storybook-dark-mode": "^4.0.2",
46-
"styled-components": "6.1.17",
47-
"typescript": "^5.2.2",
48-
"vite": "^5.2.0",
49-
"vite-plugin-svgr": "^4.2.0",
50-
"wrangler": "3.26.0"
51-
}
2+
"name": "example",
3+
"private": true,
4+
"version": "0.0.0",
5+
"type": "module",
6+
"scripts": {
7+
"storybook": "storybook dev -p 6006",
8+
"build-storybook": "storybook build",
9+
"pages:dev": "wrangler pages dev --proxy 3000 -- yarn dev",
10+
"pages:deploy": "NODE_VERSION=20 yarn build-storybook && wrangler pages deploy ./storybook-static --project-name=acrool-react-picker --branch main"
11+
},
12+
"resolutions": {
13+
"styled-components": "6.1.17"
14+
},
15+
"dependencies": {
16+
"@acrool/js-utils": "^3.2.20",
17+
"@acrool/react-hotkey": "^1.0.0",
18+
"@acrool/react-grid": "^6.0.5",
19+
"@acrool/react-modal": "1.1.4",
20+
"@acrool/react-skeleton": "^1.2.1",
21+
"@acrool/react-picker": "link:..",
22+
"@acrool/react-datepicker": "^3.2.1",
23+
"@acrool/react-dropdown": "^3.1.1",
24+
"@chromatic-com/storybook": "^1.5.0",
25+
"@emotion/is-prop-valid": "^1.2.2",
26+
"@storybook/addon-essentials": "^8.1.10",
27+
"@storybook/addon-interactions": "^8.1.10",
28+
"@storybook/addon-links": "^8.1.10",
29+
"@storybook/addon-onboarding": "^8.1.10",
30+
"@storybook/blocks": "^8.1.10",
31+
"@storybook/react": "^8.1.10",
32+
"@storybook/react-vite": "^8.1.10",
33+
"@storybook/test": "^8.1.10",
34+
"@swc/core": "^1.3.68",
35+
"@swc/plugin-styled-components": "^6.8.2",
36+
"@types/dom-to-image": "^2.6.7",
37+
"@types/react": "^19.1.2",
38+
"@types/react-dom": "^19.1.2",
39+
"@vitejs/plugin-react-swc": "^3.0.0",
40+
"dom-to-image": "^2.6.0",
41+
"react": "link:../node_modules/react",
42+
"react-dom": "link:../node_modules/react-dom",
43+
"sass": "^1.77.1",
44+
"storybook": "^8.1.10",
45+
"storybook-dark-mode": "^4.0.2",
46+
"styled-components": "6.1.17",
47+
"typescript": "^5.2.2",
48+
"vite": "^6.3.4",
49+
"vite-plugin-svgr": "^4.2.0",
50+
"wrangler": "3.26.0"
51+
}
5252
}

0 commit comments

Comments
 (0)