diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..c7be0775 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + +version: 2 +updates: + - package-ecosystem: "bun" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..a9817d0d --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,26 @@ +# Reference: +# https://bun.com/docs/test#how-to-install-bun-in-a-github-actions-workflow +name: test + +on: + - push + - pull_request + +permissions: + contents: read + +jobs: + build: + name: build-app + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Install bun + uses: oven-sh/setup-bun@v2 + - name: Install dependencies + run: bun install + - name: Audit Formatting + run: bun run check + - name: Run tests + run: bun test diff --git a/arctracker-ui/en.json b/arctracker-ui/en.json index d81eedd8..0cead54f 100644 --- a/arctracker-ui/en.json +++ b/arctracker-ui/en.json @@ -2736,38 +2736,138 @@ "closeCipher": "Close", "sendMessage": "Send message", "tools": { - "searchItems": { "active": "Scanning item database...", "done": "Scanned item database" }, - "getItem": { "active": "Pulling item data...", "done": "Pulled item data" }, - "getItemDropLocations": { "active": "Analyzing drop locations...", "done": "Analyzed drop locations" }, - "searchQuests": { "active": "Scanning quest records...", "done": "Scanned quest records" }, - "getQuest": { "active": "Pulling quest data...", "done": "Pulled quest data" }, - "getHideoutModules": { "active": "Checking hideout modules...", "done": "Checked hideout modules" }, - "getUserQuestProgress": { "active": "Checking quest progress...", "done": "Checked quest progress" }, - "getUserHideoutProgress": { "active": "Checking hideout progress...", "done": "Checked hideout progress" }, - "getUserNeededItems": { "active": "Calculating needed items...", "done": "Calculated needed items" }, - "getUserStash": { "active": "Accessing stash records...", "done": "Accessed stash" }, - "getUserLoadout": { "active": "Pulling loadout config...", "done": "Pulled loadout" }, - "checkStashForItem": { "active": "Scanning stash...", "done": "Scanned stash" }, - "getRaidHistory": { "active": "Pulling raid logs...", "done": "Pulled raid logs" }, - "getRaidStats": { "active": "Crunching raid data...", "done": "Crunched raid data" }, - "getPlayerStats": { "active": "Pulling player metrics...", "done": "Pulled player metrics" }, - "getWeaponKills": { "active": "Pulling weapon data...", "done": "Pulled weapon data" }, - "getWeaponDamage": { "active": "Analyzing weapon damage...", "done": "Analyzed weapon damage" }, - "getItemDropStats": { "active": "Analyzing drop rates...", "done": "Analyzed drop rates" }, - "getItemFarmingContext": { "active": "Analyzing farming context...", "done": "Analyzed farming context" }, - "findBestFarmingMaps": { "active": "Optimizing farming routes...", "done": "Optimized farming routes" }, - "getMapEvents": { "active": "Checking map events...", "done": "Checked map events" }, - "createChart": { "active": "Generating visual...", "done": "Generated visual" }, - "searchCraftableItems": { "active": "Searching recipes...", "done": "Searched recipes" }, - "searchSkillNodes": { "active": "Searching skill tree...", "done": "Searched skill tree" }, - "getSkillNode": { "active": "Loading skill details...", "done": "Loaded skill details" }, - "getProjects": { "active": "Loading projects...", "done": "Loaded projects" }, - "getUserLists": { "active": "Loading your lists...", "done": "Loaded your lists" }, - "getListItems": { "active": "Loading list items...", "done": "Loaded list items" }, - "addItemToList": { "active": "Adding to list...", "done": "Added to list", "denied": "Cancelled" }, - "removeItemFromList": { "active": "Removing from list...", "done": "Removed from list", "denied": "Cancelled" }, - "createList": { "active": "Creating list...", "done": "Created list", "denied": "Cancelled" }, - "deleteList": { "active": "Deleting list...", "done": "Deleted list", "denied": "Cancelled" }, + "searchItems": { + "active": "Scanning item database...", + "done": "Scanned item database" + }, + "getItem": { + "active": "Pulling item data...", + "done": "Pulled item data" + }, + "getItemDropLocations": { + "active": "Analyzing drop locations...", + "done": "Analyzed drop locations" + }, + "searchQuests": { + "active": "Scanning quest records...", + "done": "Scanned quest records" + }, + "getQuest": { + "active": "Pulling quest data...", + "done": "Pulled quest data" + }, + "getHideoutModules": { + "active": "Checking hideout modules...", + "done": "Checked hideout modules" + }, + "getUserQuestProgress": { + "active": "Checking quest progress...", + "done": "Checked quest progress" + }, + "getUserHideoutProgress": { + "active": "Checking hideout progress...", + "done": "Checked hideout progress" + }, + "getUserNeededItems": { + "active": "Calculating needed items...", + "done": "Calculated needed items" + }, + "getUserStash": { + "active": "Accessing stash records...", + "done": "Accessed stash" + }, + "getUserLoadout": { + "active": "Pulling loadout config...", + "done": "Pulled loadout" + }, + "checkStashForItem": { + "active": "Scanning stash...", + "done": "Scanned stash" + }, + "getRaidHistory": { + "active": "Pulling raid logs...", + "done": "Pulled raid logs" + }, + "getRaidStats": { + "active": "Crunching raid data...", + "done": "Crunched raid data" + }, + "getPlayerStats": { + "active": "Pulling player metrics...", + "done": "Pulled player metrics" + }, + "getWeaponKills": { + "active": "Pulling weapon data...", + "done": "Pulled weapon data" + }, + "getWeaponDamage": { + "active": "Analyzing weapon damage...", + "done": "Analyzed weapon damage" + }, + "getItemDropStats": { + "active": "Analyzing drop rates...", + "done": "Analyzed drop rates" + }, + "getItemFarmingContext": { + "active": "Analyzing farming context...", + "done": "Analyzed farming context" + }, + "findBestFarmingMaps": { + "active": "Optimizing farming routes...", + "done": "Optimized farming routes" + }, + "getMapEvents": { + "active": "Checking map events...", + "done": "Checked map events" + }, + "createChart": { + "active": "Generating visual...", + "done": "Generated visual" + }, + "searchCraftableItems": { + "active": "Searching recipes...", + "done": "Searched recipes" + }, + "searchSkillNodes": { + "active": "Searching skill tree...", + "done": "Searched skill tree" + }, + "getSkillNode": { + "active": "Loading skill details...", + "done": "Loaded skill details" + }, + "getProjects": { + "active": "Loading projects...", + "done": "Loaded projects" + }, + "getUserLists": { + "active": "Loading your lists...", + "done": "Loaded your lists" + }, + "getListItems": { + "active": "Loading list items...", + "done": "Loaded list items" + }, + "addItemToList": { + "active": "Adding to list...", + "done": "Added to list", + "denied": "Cancelled" + }, + "removeItemFromList": { + "active": "Removing from list...", + "done": "Removed from list", + "denied": "Cancelled" + }, + "createList": { + "active": "Creating list...", + "done": "Created list", + "denied": "Cancelled" + }, + "deleteList": { + "active": "Deleting list...", + "done": "Deleted list", + "denied": "Cancelled" + }, "fallbackActive": "Using {toolName}...", "fallbackDone": "Used {toolName}", "fallbackDenied": "Cancelled {toolName}" diff --git a/projects.json b/projects.json index f71e6345..b30e15f9 100644 --- a/projects.json +++ b/projects.json @@ -1008,16 +1008,10 @@ { "category": "ArcDamage", "kind": "damage_tiers", - "valueRequired": 100000, - "tiers": [ - 5000, - 10000, - 30000, - 50000, - 100000 - ], "questGameAssetId": "250322893", - "rewardItemId": "expedition_skill_point_token" + "rewardItemId": "expedition_skill_point_token", + "tiers": [5000, 10000, 30000, 50000, 100000], + "valueRequired": 100000 } ], "requirementItemIds": [] @@ -1538,16 +1532,10 @@ { "category": "ArcDamage", "kind": "damage_tiers", - "valueRequired": 100000, - "tiers": [ - 5000, - 10000, - 30000, - 50000, - 100000 - ], "questGameAssetId": "674698992", - "rewardItemId": "expedition_skill_point_token" + "rewardItemId": "expedition_skill_point_token", + "tiers": [5000, 10000, 30000, 50000, 100000], + "valueRequired": 100000 } ], "requirementItemIds": [] @@ -2068,16 +2056,10 @@ { "category": "ArcDamage", "kind": "damage_tiers", - "valueRequired": 100000, - "tiers": [ - 5000, - 10000, - 30000, - 50000, - 100000 - ], "questGameAssetId": "431784727", - "rewardItemId": "expedition_skill_point_token" + "rewardItemId": "expedition_skill_point_token", + "tiers": [5000, 10000, 30000, 50000, 100000], + "valueRequired": 100000 } ], "requirementItemIds": [] @@ -2090,26 +2072,26 @@ "id": "avian_alarm_project", "disabled": false, "name": { + "da": "Fuglealarm", "de": "Vogelalarm", "en": "Avian Alarm", "es": "Alarma aviar", "fr": "Alarme aviaire", + "he": "אזעקת ציפורים", + "hr": "Ptičji alarm", "it": "Allarme aviario", "ja": "鳥類警報", "ko-KR": "조류 경보", + "no": "Fuglealarm", "pl": "Ptasi alarm", + "pt": "Alarme Aviário", "pt-BR": "Alarme Aviário", "ru": "Пернатая тревога", + "sr": "Птичји аларм", "tr": "Kuş Alarmı", - "zh-CN": "禽鸟警报", - "zh-TW": "禽類警報", "uk": "Пташина сигналізація", - "pt": "Alarme Aviário", - "hr": "Ptičji alarm", - "no": "Fuglealarm", - "he": "אזעקת ציפורים", - "da": "Fuglealarm", - "sr": "Птичји аларм" + "zh-CN": "禽鸟警报", + "zh-TW": "禽類警報" }, "description": { "da": "Speranzanerne har bemærket, at nogle fugle er følsomme over for atmosfæriske ændringer, og er begyndt at designe flertrins-alarmsystemer for at advare om forestående fare. Selvom deres præcision har været diskuteret, er den beroligende effekt af deres selskab ubestridelig.", @@ -2184,12 +2166,10 @@ { "category": "InteractTask", "kind": "checkbox", - "valueRequired": 1, - "tiers": [ - 1 - ], "questGameAssetId": "382664970", - "rewardItemId": "expedition_skill_point_token" + "rewardItemId": "expedition_skill_point_token", + "tiers": [1], + "valueRequired": 1 } ], "requirementItemIds": [] @@ -2970,16 +2950,10 @@ { "category": "ArcDamage", "kind": "damage_tiers", - "valueRequired": 100000, - "tiers": [ - 5000, - 10000, - 30000, - 50000, - 100000 - ], "questGameAssetId": "242691618", - "rewardItemId": "expedition_skill_point_token" + "rewardItemId": "expedition_skill_point_token", + "tiers": [5000, 10000, 30000, 50000, 100000], + "valueRequired": 100000 } ], "requirementItemIds": [] diff --git a/test/prettier.config.test.js b/test/prettier.config.test.js new file mode 100644 index 00000000..fc25f9a2 --- /dev/null +++ b/test/prettier.config.test.js @@ -0,0 +1,10 @@ +import config from "../prettier.config.js"; +import { test, expect } from "bun:test"; + +test("Use spaces instead of tabs", () => { + expect(config.useTabs).toBe(false); +}); + +test("Use two spaces for a tab", () => { + expect(config.tabWidth).toBe(2); +});