diff --git a/.browserslistrc b/.browserslistrc deleted file mode 100644 index 9b77d75..0000000 --- a/.browserslistrc +++ /dev/null @@ -1,4 +0,0 @@ -last 2 versions ->1% -not ie <= 11 -not op_mini all diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 4033330..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - root: true, - env: { - node: true - }, - 'extends': [ - 'plugin:vue/essential', - 'eslint:recommended', - '@vue/typescript' - ], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' - }, -} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index e20508c..dcd3405 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,24 +1,29 @@ name: deploy on: push: - branches: - - master + pull_request: jobs: deploy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@v7 with: - node-version: 18 - cache: 'npm' + node-version: 26 + cache: 'pnpm' - name: install dependencies - run: npm install --include=dev + run: pnpm install --frozen-lockfile + - name: lint + run: pnpm run lint + - name: type-check + run: pnpm run type-check - name: build - run: npm run build + run: pnpm run build - name: deploy build - uses: burnett01/rsync-deployments@7.0.1 + if: github.event_name == 'push' && github.ref == 'refs/heads/master' + uses: burnett01/rsync-deployments@155b6d6c1219ab2224c20c58d423a3f1b850395f # 9.0.1 with: switches: -avr path: dist/ diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index 8e3bb15..0000000 --- a/babel.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - presets: [ - ["@vue/app", { - "targets": {"browsers": "last 2 versions and >1% and not ie <= 11 and not op_mini all"}, - }] - ] -} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..8094740 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,53 @@ +import js from '@eslint/js'; +import { defineConfig } from 'eslint/config'; +import pluginVue from 'eslint-plugin-vue'; +import globals from 'globals'; +import tseslint from 'typescript-eslint'; + +export default defineConfig( + { + ignores: ['dist/', 'public/', 'tools/', '.claude/', 'src/util/leaflet_tile_workaround.js'], + }, + js.configs.recommended, + tseslint.configs.eslintRecommended, + pluginVue.configs['flat/essential'], + { + files: ['src/**/*.{js,ts}'], + languageOptions: { + parser: tseslint.parser, + }, + }, + { + files: ['**/*.vue'], + languageOptions: { + parserOptions: { + parser: tseslint.parser, + }, + }, + }, + { + files: ['src/**'], + languageOptions: { + globals: globals.browser, + }, + }, + { + files: ['*.config.mjs'], + languageOptions: { + globals: globals.node, + }, + }, + { + files: ['*.config.ts'], + languageOptions: { + parser: tseslint.parser, + globals: globals.node, + }, + }, + { + rules: { + 'no-undef': 'off', + 'no-unused-vars': 'off', + }, + }, +); diff --git a/public/index.html b/index.html similarity index 87% rename from public/index.html rename to index.html index 2f6db34..3826b8d 100644 --- a/public/index.html +++ b/index.html @@ -8,7 +8,7 @@
- +