diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d21cb8..15fec99 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,3 +78,51 @@ jobs: - name: Lint run: npm run lint + + # prettier: + # needs: files + # timeout-minutes: 10 + # runs-on: ubuntu-latest + # name: Prettier + + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + + # - name: Set Node.js version to 22 + # uses: actions/setup-node@v4 + # with: + # node-version: 22 + + # - name: Install dependencies + # run: npm install + + # - name: Build + # run: npm run build + + # - name: Prettier + # run: npm run prettier + + # test: + # needs: files + # timeout-minutes: 10 + # runs-on: ubuntu-latest + # name: Build & Test + + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + + # - name: Set Node.js version to 22 + # uses: actions/setup-node@v4 + # with: + # node-version: 22 + + # - name: Install dependencies + # run: npm install + + # - name: Build + # run: npm run build + + # - name: Test + # run: npm run test diff --git a/nuxt.config.ts b/nuxt.config.ts index 06440a2..60fd608 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -53,7 +53,6 @@ export default defineNuxtConfig({ async: true }, { - hid: "gtag", innerHTML: ` window.dataLayer = window.dataLayer || []; function gtag(){ dataLayer.push(arguments); } diff --git a/package-lock.json b/package-lock.json index 52cbe3d..6b91c54 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "firebase-admin": "^13.0.1", "flowbite": "^2.5.2", "flyonui": "^1.1.0", - "nuxt": "^3.13.0", + "nuxt": "^3.16.2", "obscenity": "^0.4.1", "pinia": "^2.2.6", "quill": "^2.0.3", @@ -32,6 +32,7 @@ "eslint-plugin-vue": "^9.32.0", "globals": "^15.14.0", "happy-dom": "^16.7.2", + "prettier": "^3.5.3", "prettier-plugin-tailwindcss": "^0.6.9", "tailwindcss": "^3.4.16", "typescript": "^5.7.3", @@ -8175,9 +8176,9 @@ "integrity": "sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==" }, "node_modules/koa": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.16.0.tgz", - "integrity": "sha512-Afhqq0Vq3W7C+/rW6IqHVBDLzqObwZ07JaUNUEF8yCQ6afiyFE3RAy+i7V0E46XOWlH7vPWn/x0vsZwNy6PWxw==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.16.1.tgz", + "integrity": "sha512-umfX9d3iuSxTQP4pnzLOz0HKnPg0FaUUIKcye2lOiz3KPu1Y3M3xlz76dISdFPQs37P9eJz1wUpcTS6KDPn9fA==", "dev": true, "dependencies": { "accepts": "^1.3.5", @@ -10903,11 +10904,10 @@ } }, "node_modules/prettier": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -13134,13 +13134,16 @@ } }, "node_modules/vite": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz", - "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.2.tgz", + "integrity": "sha512-ZSvGOXKGceizRQIZSz7TGJ0pS3QLlVY/9hwxVh17W3re67je1RKYzFHivZ/t0tubU78Vkyb9WnHPENSBCzbckg==", "dependencies": { "esbuild": "^0.25.0", + "fdir": "^6.4.3", + "picomatch": "^4.0.2", "postcss": "^8.5.3", - "rollup": "^4.30.1" + "rollup": "^4.34.9", + "tinyglobby": "^0.2.12" }, "bin": { "vite": "bin/vite.js" @@ -13503,6 +13506,30 @@ "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==" }, + "node_modules/vite/node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/vitest": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.7.tgz", diff --git a/package.json b/package.json index abd1bcc..43d1d41 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "test": "vitest", "lint": "eslint", "typecheck": "vue-tsc --noEmit", + "prettier": "prettier . --check", "generate": "nuxt generate", "preview": "nuxt preview", "postinstall": "nuxt prepare" @@ -18,7 +19,7 @@ "firebase-admin": "^13.0.1", "flowbite": "^2.5.2", "flyonui": "^1.1.0", - "nuxt": "^3.13.0", + "nuxt": "^3.16.2", "obscenity": "^0.4.1", "pinia": "^2.2.6", "quill": "^2.0.3", @@ -38,6 +39,7 @@ "eslint-plugin-vue": "^9.32.0", "globals": "^15.14.0", "happy-dom": "^16.7.2", + "prettier": "^3.5.3", "prettier-plugin-tailwindcss": "^0.6.9", "tailwindcss": "^3.4.16", "typescript": "^5.7.3", diff --git a/server/api/data/ships.ts b/server/api/data/ships.ts index 31a4447..ea9e700 100644 --- a/server/api/data/ships.ts +++ b/server/api/data/ships.ts @@ -3556,10 +3556,87 @@ export default defineEventHandler(() => { ] }, { - unknown: true, - type: "unknown", - img: "/weapons/icons/unknown.png", - system: "M2" + type: "known", + img: "/weapons/icons/cannon.png", + system: "M2", + name: `Integrated Cannon System`, + sourcedFrom: ["Somnambulist"], + default: false, + stats: { + type: "weapon", + antiship: 19873, + antiair: 720, + siege: null, + hp: 23400 + }, + subsystems: [ + { + type: "weapon", + count: 1, + title: `MK3-BG-2800 "Fortress"`, + name: `Generic Heavy Cannon`, + damageType: "Projectile", + target: "Large Ship", + lockonEfficiency: null, + alpha: 450, + attributes: null, + stats: { + duration: 4, + attacksPerRound: [1, 2], + cooldown: 15, + lockOnTime: 5, + targetPriority: { + antiship: { + position: 1, + priorities: [ + [1, "Battleship"], + [1, "Carrier"], + [1, "Battlecruiser"], + [1, "Cruiser"], + [2, "Auxiliary Ship"] + ], + damage: 16673 + } + } + } + }, + { + type: "weapon", + count: 1, + title: `BG-150A`, + name: `Anti-Aircraft Cannon`, + damageType: "Projectile", + target: "Aircraft", + lockonEfficiency: null, + alpha: 50, + attributes: ["Anti-Aircraft Special Ammo", "Anti-Aircraft Counterattack"], + stats: { + duration: 2, + attacksPerRound: [1, 4], + cooldown: 10, + lockOnTime: 5, + targetPriority: { + antiship: { + position: 2, + priorities: [ + [4, "Destroyer"], + [4, "Frigate"] + ], + damage: 3200 + }, + antiair: { + position: 1, + priorities: [ + [1, "Corvette"], + [2, "Fighter"], + [3, "Landing Ship"] + ], + damage: 720 + } + } + } + } + ] }, { unknown: true, @@ -3690,54 +3767,10 @@ export default defineEventHandler(() => { ] }, { - type: "known", - img: "/weapons/icons/cannon.png", - system: "B1", - name: `Heavy Projectile Weapon System`, - sourcedFrom: null, - stats: { - type: "weapon", - antiship: 13320, - antiair: null, - siege: 1215, - hp: 24950 - }, - subsystems: [ - { - type: "weapon", - count: 3, - title: `BM-4x1800`, - name: `Anti-Ship Missile Array`, - damageType: "Projectile", - target: "Large Ship", - lockonEfficiency: null, - alpha: 750, - attributes: ["Crit", "Evasive Counterattack"], - stats: { - duration: 10, - attacksPerRound: [1, 4], - cooldown: 30, - lockOnTime: 5, - targetPriority: { - antiship: { - position: 1, - priorities: [ - [1, "Battlecruiser"], - [1, "Carrier"], - [1, "Auxiliary Ship"], - [1, "Battlecruiser"], - [1, "Cruiser"] - ], - damage: 13320 - }, - siege: { - position: 2, - damage: 1215 - } - } - } - } - ] + unknown: true, + type: "unknown", + img: "/weapons/icons/unknown.png", + system: "B1" }, { type: "known", @@ -3848,10 +3881,54 @@ export default defineEventHandler(() => { system: "C2" }, { - unknown: true, - type: "unknown", - img: "/weapons/icons/unknown.png", - system: "C3" + type: "known", + img: "/weapons/icons/cannon.png", + system: "C3", + name: `Heavy Projectile Weapon System`, + sourcedFrom: null, + stats: { + type: "weapon", + antiship: 13320, + antiair: null, + siege: 1215, + hp: 24950 + }, + subsystems: [ + { + type: "weapon", + count: 3, + title: `BM-4x1800`, + name: `Anti-Ship Missile Array`, + damageType: "Projectile", + target: "Large Ship", + lockonEfficiency: null, + alpha: 750, + attributes: ["Crit", "Evasive Counterattack"], + stats: { + duration: 10, + attacksPerRound: [1, 4], + cooldown: 30, + lockOnTime: 5, + targetPriority: { + antiship: { + position: 1, + priorities: [ + [1, "Battlecruiser"], + [1, "Carrier"], + [1, "Auxiliary Ship"], + [1, "Battlecruiser"], + [1, "Cruiser"] + ], + damage: 13320 + }, + siege: { + position: 2, + damage: 1215 + } + } + } + } + ] } ] }, diff --git a/utils/changelog.ts b/utils/changelog.ts index 2c6785b..7f8d10e 100644 --- a/utils/changelog.ts +++ b/utils/changelog.ts @@ -425,5 +425,11 @@ export const changelog: readonly Changelog[] = [ version: "2.0.3", release: "2025-04-13", notes: ["Changed how unassigned TP appears for Blueprint Tracker viewers"] + }, + { + type: "minor release", + version: "2.0.4", + release: "2025-04-20", + notes: ["Swapped Shield of Plutus B1 and C3 to be correct", "Added Shield of Plutus M2 to Module Library"] } ]; diff --git a/utils/credits.ts b/utils/credits.ts index 8f293a9..5465c8b 100644 --- a/utils/credits.ts +++ b/utils/credits.ts @@ -48,7 +48,7 @@ export const credits: readonly Credit[] = [ }, { name: "Somnambulist", - specific: ["Eternal Heavens B2", "Ediacaran B2"], + specific: ["Eternal Heavens B2", "Ediacaran B2", "Shield of Plutus M2"], dateAdded: "2024-06-25" }, { diff --git a/vitest.config.ts b/vitest.config.ts index 0aba0ee..e6b94fd 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -4,4 +4,4 @@ export default defineVitestConfig({ test: { environment: "nuxt" } -}); \ No newline at end of file +});