From ec8e96892f92b835e92a7bf785c573b2273aad1b Mon Sep 17 00:00:00 2001 From: abearxiong Date: Tue, 25 Nov 2025 09:58:04 +0800 Subject: [PATCH] init --- .gitignore | 8 ++ .gitmodules | 6 ++ agents/modules/apps-template.ts | 21 ++++ backend | 1 + frontend | 1 + package.json | 22 ++++ pnpm-lock.yaml | 181 ++++++++++++++++++++++++++++++++ pnpm-workspace.yaml | 8 ++ 8 files changed, 248 insertions(+) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 agents/modules/apps-template.ts create mode 160000 backend create mode 160000 frontend create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1b06dfc --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +node_modules +.DS_Store + +.astro + +dist + +public/root \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..8923fe8 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "frontend"] + path = frontend + url = git@git.xiongxiao.me:template/astro-simple-template.git +[submodule "backend"] + path = backend + url = git@git.xiongxiao.me:template/router-template.git diff --git a/agents/modules/apps-template.ts b/agents/modules/apps-template.ts new file mode 100644 index 0000000..28d901d --- /dev/null +++ b/agents/modules/apps-template.ts @@ -0,0 +1,21 @@ +const frontend = 'git@git.xiongxiao.me:template/astro-simple-template.git'; +const backend = 'git@git.xiongxiao.me:template/router-template.git'; + + +// submodule add frontend to frontend and backend to backend +export const cliInitSubmodules = [ + `git submodule add ${frontend} frontend`, + `git submodule add ${backend} backend`, +]; + +cliInitSubmodules.forEach((cmd) => { + console.log(`${cmd}\n`); +}); + +// init submodules +export const cliUpdateSubmodules = `git submodule update --init --recursive`; +console.log(`${cliUpdateSubmodules}\n`); + +// 清理submodule,保留模板的内容 +export const cliRemoveGitModule = `rm .gitmodules -rf && rm -rf .git/modules`; +console.log(`${cliRemoveGitModule}\n`); \ No newline at end of file diff --git a/backend b/backend new file mode 160000 index 0000000..10937ad --- /dev/null +++ b/backend @@ -0,0 +1 @@ +Subproject commit 10937addac1f535e517a7865b9fd94424b02fc54 diff --git a/frontend b/frontend new file mode 160000 index 0000000..2c4ed89 --- /dev/null +++ b/frontend @@ -0,0 +1 @@ +Subproject commit 2c4ed896e84874a9c0d3d033b1121ebe474f4fcc diff --git a/package.json b/package.json new file mode 100644 index 0000000..7404cab --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "@kevisual/apps-template", + "version": "0.0.1", + "description": "", + "main": "index.js", + "scripts": { + "build": "pnpm build:web && pnpm build:backend", + "build:backend": "cd backend && bun run src/main.ts", + "build:web": "cd frontend && pnpm build", + "serve": "cd backend && bun run src/main.ts", + "init": "git submodule update --init --recursive", + "clean:module": "rm .gitmodules -rf && rm -rf .git/modules" + }, + "keywords": [], + "author": "abearxiong (https://www.xiongxiao.me)", + "license": "MIT", + "packageManager": "pnpm@10.19.0", + "type": "module", + "dependencies": { + "@kevisual/router": "^0.0.33" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..fd39e06 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,181 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@kevisual/router': + specifier: ^0.0.33 + version: 0.0.33 + +packages: + + '@kevisual/router@0.0.33': + resolution: {integrity: sha512-9z7TkSzCIGbXn9SuHPBdZpGwHlAuwA8iN5jNAZBUvbEvBRkBxlrbdCSe9fBYiAHueLm2AceFNrW74uulOiAkqA==} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + fresh@2.0.0: + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + path-to-regexp@8.3.0: + resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + selfsigned@4.0.0: + resolution: {integrity: sha512-eP/1BEUCziBF/7p96ergE2JlGOMsGj9kIe77pD99G3ValgxDFwHA2oNCYW4rjlmYp8LXc684ypH0836GjSKw0A==} + engines: {node: '>=10'} + + send@1.2.0: + resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} + engines: {node: '>= 18'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + +snapshots: + + '@kevisual/router@0.0.33': + dependencies: + path-to-regexp: 8.3.0 + selfsigned: 4.0.0 + send: 1.2.0 + transitivePeerDependencies: + - supports-color + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + depd@2.0.0: {} + + ee-first@1.1.1: {} + + encodeurl@2.0.0: {} + + escape-html@1.0.3: {} + + etag@1.8.1: {} + + fresh@2.0.0: {} + + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + + inherits@2.0.4: {} + + mime-db@1.54.0: {} + + mime-types@3.0.2: + dependencies: + mime-db: 1.54.0 + + ms@2.1.3: {} + + node-forge@1.3.1: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + path-to-regexp@8.3.0: {} + + range-parser@1.2.1: {} + + selfsigned@4.0.0: + dependencies: + node-forge: 1.3.1 + + send@1.2.0: + dependencies: + debug: 4.4.3 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 2.0.0 + http-errors: 2.0.1 + mime-types: 3.0.2 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + setprototypeof@1.2.0: {} + + statuses@2.0.2: {} + + toidentifier@1.0.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..084ec6a --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,8 @@ +packages: + - backend + - frontend + +onlyBuiltDependencies: + - better-sqlite3 + - esbuild + - sharp