From 29bcaace1e655a2d90dec6997311bbd188f42ed1 Mon Sep 17 00:00:00 2001 From: Ayo Date: Fri, 3 Apr 2026 11:15:18 +0200 Subject: [PATCH] refactor: separate app & lib directories --- .gitignore | 2 +- app/.env.example | 0 index.html => app/index.html | 0 instructions => app/instructions | 0 main.css => app/main.css | 0 main.js => app/main.js | 4 ++-- {public => app/public}/favicon.ico | Bin {lib => app}/vite-env.d.ts | 0 eslint.config.js | 2 +- vite.config.js => lib/vite.config.js | 3 ++- package.json | 23 ++++++++++++----------- vite-site.config.js | 10 ---------- 12 files changed, 18 insertions(+), 26 deletions(-) create mode 100644 app/.env.example rename index.html => app/index.html (100%) rename instructions => app/instructions (100%) rename main.css => app/main.css (100%) rename main.js => app/main.js (64%) rename {public => app/public}/favicon.ico (100%) rename {lib => app}/vite-env.d.ts (100%) rename vite.config.js => lib/vite.config.js (69%) delete mode 100644 vite-site.config.js diff --git a/.gitignore b/.gitignore index 848ad36..50770c2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ node_modules/ dist/ -_site/ + *.*~ *.*swp diff --git a/app/.env.example b/app/.env.example new file mode 100644 index 0000000..e69de29 diff --git a/index.html b/app/index.html similarity index 100% rename from index.html rename to app/index.html diff --git a/instructions b/app/instructions similarity index 100% rename from instructions rename to app/instructions diff --git a/main.css b/app/main.css similarity index 100% rename from main.css rename to app/main.css diff --git a/main.js b/app/main.js similarity index 64% rename from main.js rename to app/main.js index acbd979..51d96a5 100644 --- a/main.js +++ b/app/main.js @@ -1,5 +1,5 @@ -import MineSweeper from './lib/mnswpr.js' -import * as pkg from './package.json' +import MineSweeper from '../lib/mnswpr.js' +import * as pkg from '../package.json' const version = import.meta.env.MODE === 'development' ? 'dev' diff --git a/public/favicon.ico b/app/public/favicon.ico similarity index 100% rename from public/favicon.ico rename to app/public/favicon.ico diff --git a/lib/vite-env.d.ts b/app/vite-env.d.ts similarity index 100% rename from lib/vite-env.d.ts rename to app/vite-env.d.ts diff --git a/eslint.config.js b/eslint.config.js index f8fae9d..22e33f9 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -49,5 +49,5 @@ export default defineConfig([ }] } }, - globalIgnores(['dist', '_site']) + globalIgnores(['**/dist']) ]) diff --git a/vite.config.js b/lib/vite.config.js similarity index 69% rename from vite.config.js rename to lib/vite.config.js index ee9965e..a49a796 100644 --- a/vite.config.js +++ b/lib/vite.config.js @@ -3,8 +3,9 @@ import { defineConfig } from 'vite' export default defineConfig({ build: { + outDir: './dist', lib: { - entry: resolve(import.meta.dirname, 'lib/mnswpr.js'), + entry: resolve(import.meta.dirname, './mnswpr.js'), name: 'mnswpr', fileName: 'mnswpr' } diff --git a/package.json b/package.json index 886f2f0..af5e704 100644 --- a/package.json +++ b/package.json @@ -11,27 +11,28 @@ "main": "dist/mnswpr.js", "scripts": { "test": "echo \"Warn: no test specified\"", - "dev": "vite", - "start": "vite", - "build": "vite build", - "build:site": "vite build --config vite-site.config.js", - "preview:site": "vite preview --config vite-site.config.js", - "build:preview": "npm run build:site && npm run preview:site", + "dev": "vite app", + "start": "vite app", + "build": "vite build app", + "preview": "vite preview app", + "build:preview": "npm run build && npm run preview", + "build:lib": "vite build lib", + "release": "bumpp && node scripts/release.js && npm publish", + "build:release": "npm run build:lib && npm run release", "prepare": "husky", "lint": "eslint .", - "lint:fix": "eslint . --fix", - "release": "bumpp && node scripts/release.js && npm publish" + "lint:fix": "eslint . --fix" }, "exports": { ".": { - "default": "./dist/mnswpr.js" + "default": "./lib/dist/mnswpr.js" }, "./*": { - "default":"./dist/*" + "default":"./lib/dist/*" } }, "files": [ - "dist", + "lib/dist", "README.md", "LICENSE" ], diff --git a/vite-site.config.js b/vite-site.config.js deleted file mode 100644 index 5741619..0000000 --- a/vite-site.config.js +++ /dev/null @@ -1,10 +0,0 @@ -// @ts-check -import { defineConfig } from 'vite' - -export default defineConfig(() => { - return { - build: { - outDir: '_site' - } - } -}) \ No newline at end of file