Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: CI & CD
on:
push:
branches:
- master
- '**'
jobs:
Build-and-Deploy:
runs-on: ubuntu-latest
Expand All @@ -17,10 +17,10 @@ jobs:

- uses: pnpm/action-setup@v4
with:
version: 9
version: 10
- uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
cache: pnpm
- name: Install & Build
run: |
Expand All @@ -29,6 +29,7 @@ jobs:

- name: Deploy to GitHub pages
uses: peaceiris/actions-gh-pages@v4
if: github.ref == 'refs/heads/master'
with:
publish_dir: ./dist
personal_token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -43,4 +44,4 @@ jobs:
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
working-directory: ./dist
vercel-args: --prod
vercel-args: ${{ github.ref == 'refs/heads/master' && '--prod' || '' }}
35 changes: 0 additions & 35 deletions .github/workflows/pull-request.yml

This file was deleted.

2 changes: 2 additions & 0 deletions .github/workflows/replace-repository-name.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@ TargetName=$4

sed -i "s/$SourceOwner\/$SourceName/$TargetOwner\/$TargetName/ig" \
$(grep -i $SourceOwner/$SourceName -rl . --exclude-dir=.git --exclude-dir=node_modules)
sed -i "s/$SourceOwner/$TargetOwner/ig" \
$(grep -i $SourceOwner -rl . --exclude-dir=.git --exclude-dir=node_modules)
sed -i "s/$SourceName/$TargetName/ig" \
$(grep -i $SourceName -rl . --exclude-dir=.git --exclude-dir=node_modules)
21 changes: 10 additions & 11 deletions ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,28 +11,27 @@

## Technology stack

- Language: [TypeScript v5][2]
- Component engine: [React v18][1]
- State management: [MobX v6][3]
- Component suite: [React Bootstrap v2][10]
- HTTP Client: [KoAJAX v1][11]
- PWA framework: [Workbox v7][12]
- Package bundler: [Parcel v2][13]
- CI / CD: GitHub [Actions][14] + [Pages][15]
- Language: [TypeScript v5][2]
- Component engine: [React v19][1]
- State management: [MobX v6][3]
- Component suite: [React Bootstrap v2][10]
- HTTP Client: [KoAJAX v3][11]
- PWA framework: [Workbox v7][12]
- Package bundler: [Parcel v2][13]
- CI / CD: GitHub [Actions][14] + [Pages][15]

## Extra components

1. [Component Sample](src/component/TSXSample.tsx)
2. Rich-text editor
- [HTML version][18]
- [JSON version](src/component/Editor.tsx)
- [HTML version][18]
- [JSON version](src/component/Editor.tsx)
3. [GitHub logo](src/component/Git/Logo.tsx)
4. [GitHub card](src/component/Git/Card.tsx)

## Best practice

1. Install GitHub apps in your organization or account:

1. [Probot settings][16]: set up Issue labels & Pull Request rules
2. [PR badge][17]: set up Online [VS Code][18] editor entries in Pull Request description

Expand Down
2 changes: 1 addition & 1 deletion eslint.config.mjs → eslint.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export default tsEslint.config(
plugins: {
'@typescript-eslint': tsEslint.plugin,
// - https://github.com/jsx-eslint/eslint-plugin-react/issues/3838#issuecomment-2395472758
react: /** @type {import('eslint').ESLint.Plugin} */ (react),
react: /** @type {import('eslint').ESLint.Plugin} */ react,
'simple-import-sort': simpleImportSortPlugin,
'@cspell': cspellPlugin
}
Expand Down
112 changes: 61 additions & 51 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,76 +5,83 @@
"author": "[email protected]",
"dependencies": {
"@editorjs/code": "^2.9.3",
"@editorjs/editorjs": "^2.30.7",
"@editorjs/editorjs": "^2.31.0",
"@editorjs/header": "^2.8.8",
"@editorjs/image": "^2.10.1",
"@editorjs/image": "^2.10.3",
"@editorjs/link": "^2.6.2",
"@editorjs/list": "^2.0.2",
"@editorjs/paragraph": "^2.11.6",
"@editorjs/quote": "^2.7.4",
"browser-fs-access": "^0.35.0",
"@editorjs/list": "^2.0.8",
"@editorjs/paragraph": "^2.11.7",
"@editorjs/quote": "^2.7.6",
"browser-fs-access": "^0.38.0",
"browser-unhandled-rejection": "^1.0.2",
"echarts-jsx": "^1.2.1",
"editorjs-html": "^3.4.3",
"idea-react": "^2.0.0-rc.8",
"koajax": "^3.0.3",
"editorjs-html": "^4.0.5",
"idea-react": "^2.0.0-rc.13",
"koajax": "^3.1.2",
"lodash": "^4.17.21",
"mobx": "^6.13.5",
"mobx-downloader": "^0.3.0",
"mobx-github": "^0.3.5",
"mobx-i18n": "^0.6.0",
"mobx-react": "^9.1.1",
"mobx-restful": "^2.0.0",
"mobx-restful-table": "^2.0.0",
"react": "^18.3.1",
"react-bootstrap": "^2.10.6",
"react-bootstrap-editor": "^2.0.4",
"react-dom": "^18.3.1",
"mobx": "^6.13.7",
"mobx-downloader": "^0.3.1",
"mobx-github": "^0.5.1",
"mobx-i18n": "^0.7.2",
"mobx-react": "^9.2.0",
"mobx-restful": "^2.1.0",
"mobx-restful-table": "^2.5.4",
"react": "^19.1.1",
"react-bootstrap": "^2.10.10",
"react-bootstrap-editor": "^2.1.1",
"react-dom": "^19.1.1",
"react-editor-js": "^2.1.0",
"react-router-class-tools": "^0.1.3",
"react-router-dom": "^6.28.0",
"web-utility": "^4.4.2"
"react-router-class-tools": "^0.2.1",
"react-router-dom": "^7.9.1",
"web-utility": "^4.6.0"
},
"devDependencies": {
"@babel/runtime": "^7.26.0",
"@cspell/eslint-plugin": "^8.16.1",
"@eslint/compat": "^1.2.3",
"@eslint/js": "^9.15.0",
"@parcel/config-default": "~2.13.2",
"@parcel/packager-raw-url": "~2.13.2",
"@parcel/transformer-less": "~2.13.2",
"@parcel/transformer-typescript-tsc": "~2.13.2",
"@parcel/transformer-webmanifest": "~2.13.2",
"@babel/runtime": "^7.28.4",
"@cspell/eslint-plugin": "^9.2.1",
"@eslint/compat": "^1.3.2",
"@eslint/js": "^9.35.0",
"@parcel/config-default": "~2.15.4",
"@parcel/packager-raw-url": "~2.15.4",
"@parcel/transformer-less": "~2.15.4",
"@parcel/transformer-typescript-tsc": "~2.15.4",
"@parcel/transformer-webmanifest": "~2.15.4",
"@softonus/prettier-plugin-duplicate-remover": "^1.1.2",
"@types/eslint-config-prettier": "^6.11.3",
"@types/eslint__eslintrc": "^2.1.2",
"@types/eslint__js": "^8.42.3",
"@types/lodash": "^4.17.13",
"@types/node": "^20.17.9",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@typescript-eslint/eslint-plugin": "^8.16.00",
"@typescript-eslint/parser": "^8.16.0",
"@types/lodash": "^4.17.20",
"@types/node": "^22.18.3",
"@types/react": "^19.1.13",
"@types/react-dom": "^19.1.9",
"@typescript-eslint/eslint-plugin": "^8.43.0",
"@typescript-eslint/parser": "^8.43.0",
"buffer": "^6.0.3",
"eslint": "^9.15.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-react": "^7.37.2",
"eslint": "^9.35.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-simple-import-sort": "^12.1.1",
"eslint-plugin-spellcheck": "^0.0.20",
"globals": "^15.12.0",
"globals": "^16.4.0",
"husky": "^9.1.7",
"lint-staged": "^15.2.10",
"parcel": "~2.13.2",
"jiti": "^2.5.1",
"lint-staged": "^16.1.6",
"parcel": "~2.15.4",
"parcel-transformer-mdx": "^0.4.2",
"postcss": "^8.4.49",
"prettier": "^3.4.1",
"postcss": "^8.5.6",
"prettier": "^3.6.2",
"prettier-plugin-css-order": "2.1.2",
"prismjs": "^1.29.0",
"prismjs": "^1.30.0",
"process": "^0.11.10",
"typescript": "~5.7.2",
"typescript-eslint": "^8.16.0",
"typescript": "~5.9.2",
"typescript-eslint": "^8.43.0",
"workbox-cli": "^7.3.0"
},
"pnpm": {
"onlyBuiltDependencies": [
"@parcel/watcher",
"@swc/core",
"lmdb",
"msgpackr-extract"
]
},
"prettier": {
"singleQuote": true,
"trailingComma": "none",
Expand All @@ -90,6 +97,9 @@
"*.{js,mjs,ts,tsx}": "eslint --fix"
},
"browserslist": "> 0.5%, last 2 versions, not dead, IE 11",
"@parcel/resolver-default": {
"packageExports": true
},
"scripts": {
"prepare": "husky",
"test": "lint-staged",
Expand Down
Loading