Skip to content

Commit fa53467

Browse files
committed
fix: i18n missing keys, Node 18 tsconfig ref, replace set_node_mem.sh, fix e2e titles
- Add missing locale entries in locales/en.yml for 5 tools: dns-propagation-tester, dns-tester, https-tester, powershell-memo, running-pace-calculator - Replace @tsconfig/node18 with @tsconfig/node22 in package.json and tsconfig.vite-config.json - Replace set_node_mem.sh with node_mem.js (cross-platform, uses os.totalmem()) Update build/test:unit/test:e2e scripts to use NODE_OPTIONS=$(node node_mem.js) - Fix e2e title tests: pass domDelayFn: fn => fn() to createHead() so @unhead/vue applies <title> DOM updates synchronously instead of debouncing via setTimeout(10ms)
1 parent 09f1370 commit fa53467

899 files changed

Lines changed: 1654 additions & 2296 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

eslint.config.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ export default antfu(
2525
'@typescript-eslint/no-use-before-define': ['error', { allowNamedExports: true, functions: false }],
2626
'vue/no-empty-component-block': ['error'],
2727
'import/order': 'off',
28+
// TODO: enable import/export sorting and formatting gradually in a dedicated PR
29+
'perfectionist/sort-imports': 'off',
30+
'perfectionist/sort-named-imports': 'off',
31+
'perfectionist/sort-named-exports': 'off',
32+
'import/consistent-type-specifier-style': 'off',
33+
'antfu/consistent-list-newline': 'off',
34+
'style/indent-binary-ops': 'off',
2835
'no-restricted-imports': ['error', {
2936
paths: [{
3037
name: '@vueuse/core',

locales/en.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1869,6 +1869,12 @@ tools:
18691869
tag-dkim-policy: DKIM Policy
18701870
tag-spf-policy: SPF Policy
18711871
tag-identifiers: Identifiers
1872+
dns-propagation-tester:
1873+
title: DNS Propagation Tester
1874+
description: A simple tool for testing DNS propagation across different servers.
1875+
dns-tester:
1876+
title: DNS Tester
1877+
description: A simple tool for testing DNS resolution, whois queries, and other DNS-related tasks.
18721878
dns-queries:
18731879
title: DNS Queries
18741880
description: Perform DNS Queries (over HTTPS)
@@ -3153,6 +3159,9 @@ tools:
31533159
spline: Spline
31543160
stacked: Stacked
31553161
cutout: Cutout
3162+
powershell-memo:
3163+
title: Powershell Cheatsheet
3164+
description: Powershell is a powerful scripting language and command-line shell designed for system administration and automation.
31563165
power-converter:
31573166
title: Power Converter
31583167
description: Convert values between power units
@@ -3240,6 +3249,9 @@ tools:
32403249
title-error-while-decrypting: Error while decrypting
32413250
label-your-text-decrypted: 'Your text decrypted:'
32423251
placeholder-your-string-decrypted: Your string decrypted
3252+
running-pace-calculator:
3253+
title: Running Pace Calculator
3254+
description: Calculate your running pace, estimate your finish times for popular races, break down splits, and find your training zones.
32433255
rune-converter:
32443256
title: Rune converter
32453257
description: Convert Text to Runes and vice-versa
@@ -5673,6 +5685,9 @@ tools:
56735685
hmac-using-sha-512: HMAC using SHA-512
56745686
hmac-using-sha-384: HMAC using SHA-384
56755687
hmac-using-sha-256: HMAC using SHA-256
5688+
https-tester:
5689+
title: HTTPS Tester
5690+
description: Validate HTTPS certificate, HSTS and 302 redirection
56765691
htpasswd-generator:
56775692
title: Htpasswd/htaccess generator
56785693
description: htpassword/htaccess user/password generator

node_mem.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { totalmem } from 'os';
2+
const memMb = Math.floor(totalmem() / 1024 / 1024);
3+
process.stdout.write(`--max-old-space-size=${memMb - 1024}`);

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323
],
2424
"scripts": {
2525
"dev": "vite",
26-
"build": "vue-tsc --noEmit && . ./set_node_mem.sh && vite build",
26+
"build": "vue-tsc --noEmit && NODE_OPTIONS=$(node node_mem.js) vite build",
2727
"preview": "vite preview --port 5050",
2828
"test": "TZ=UTC npm run test:unit",
29-
"test:unit": "TZ=UTC . ./set_node_mem.sh && vitest --environment jsdom",
30-
"test:e2e": "TZ=UTC . ./set_node_mem.sh && playwright test",
29+
"test:unit": "TZ=UTC NODE_OPTIONS=$(node node_mem.js) vitest --environment jsdom",
30+
"test:e2e": "TZ=UTC NODE_OPTIONS=$(node node_mem.js) playwright test",
3131
"test:e2e:dev": "TZ=UTC BASE_URL=http://localhost:5173 NO_WEB_SERVER=true playwright test",
3232
"coverage": "vitest run --coverage",
3333
"typecheck": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
@@ -386,7 +386,7 @@
386386
"@intlify/unplugin-vue-i18n": "^11.2.4",
387387
"@playwright/test": "^1.61.1",
388388
"@rushstack/eslint-patch": "^1.16.1",
389-
"@tsconfig/node18": "^18.2.6",
389+
"@tsconfig/node22": "^22.0.5",
390390
"@types/arr-diff": "^4.0.3",
391391
"@types/big.js": "^7.0.0",
392392
"@types/crypto-js": "^4.2.2",

playwright.config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ export default defineConfig({
2020
workers: isCI ? 1 : undefined,
2121
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
2222
reporter: 'html',
23+
expect: {
24+
timeout: 15000,
25+
},
2326
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
2427
use: {
2528
/* Base URL to use in actions like `await page.goto('/')`. */

pnpm-lock.yaml

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/App.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<script setup lang="ts">
2-
import { get } from '@vueuse/core';
3-
import { darkTheme, NGlobalStyle, NMessageProvider, NNotificationProvider } from 'naive-ui';
42
import { RouterView, useRoute } from 'vue-router';
5-
import { getITToolsSetting } from './composable/queryParams';
3+
import { NGlobalStyle, NMessageProvider, NNotificationProvider, darkTheme } from 'naive-ui';
4+
import { get } from '@vueuse/core';
5+
import { darkThemeOverrides, lightThemeOverrides } from './themes';
66
import { layouts } from './layouts';
77
import { useStyleStore } from './stores/style.store';
8-
import { darkThemeOverrides, lightThemeOverrides } from './themes';
98
import { useAppTheme } from './ui/theme/themes';
9+
import { getITToolsSetting } from './composable/queryParams';
1010
1111
const route = useRoute();
1212
const layout = computed(() => route?.meta?.layout ?? layouts.base);

src/_empty.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
export function readFile() {}
22
export function writeFile() {}
3-
export default {};
3+
export {};

src/components/CollapsibleToolMenu.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<script setup lang="ts">
2-
import type { Tool, ToolCategory } from '@/tools/tools.types';
32
import { useStorage } from '@vueuse/core';
43
import { useThemeVars } from 'naive-ui';
54
import { useRoute } from 'vue-router';
65
import MenuIconItem from './MenuIconItem.vue';
76
import MenuItemWithTooltip from './MenuItemTooltip.vue';
7+
import type { Tool, ToolCategory } from '@/tools/tools.types';
88
99
const props = withDefaults(defineProps<{ toolsByCategory?: ToolCategory[] }>(), { toolsByCategory: () => [] });
1010
const { toolsByCategory } = toRefs(props);

src/components/FavoriteButton.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup lang="ts">
2-
import type { Tool } from '@/tools/tools.types';
32
import { useToolStore } from '@/tools/tools.store';
3+
import type { Tool } from '@/tools/tools.types';
44
55
const props = defineProps<{ tool: Tool }>();
66

0 commit comments

Comments
 (0)