mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-22 00:13:45 -05:00
[AI] Switch typecheck from tsc to tsgo and fix Menu type narrowing (#7183)
* [AI] Switch typecheck from tsc to tsgo and fix Menu type narrowing * [autofix.ci] apply automated fixes * Add .gitignore for dist directory, update typecheck script in package.json to use -b flag, and remove noEmit option from tsconfig.json files in ci-actions and desktop-electron packages. Introduce typesVersions in loot-core package.json for improved type handling. * Refactor SelectedTransactionsButton to improve type safety and readability. Updated items prop to use spread operator for conditional rendering of menu items, ensuring proper type annotations with MenuItem. This change enhances the clarity of the component's structure and maintains TypeScript compliance. * Update tsconfig.json in desktop-electron package to maintain consistent formatting for plugins section. No functional changes made. * [autofix.ci] apply automated fixes * Update package.json and yarn.lock to add TypeScript 5.8.0 dependency. Adjust typesVersions in loot-core package.json for improved type handling. Enhance tsconfig.json in sync-server package to enable strictFunctionTypes for better type safety. * Enhance tsconfig.json in ci-actions package by adding composite option for improved project references and build performance. * [AI] Revert typescript to 5.9.3 for ts-node compatibility Co-authored-by: Matiss Janis Aboltins <MatissJanis@users.noreply.github.com> * [AI] Update yarn.lock after TypeScript version change Co-authored-by: Matiss Janis Aboltins <MatissJanis@users.noreply.github.com> * Refactor Menu component for improved type safety and readability. Updated type assertions for Menu.line and Menu.label, simplified type checks in filtering and selection logic, and enhanced conditional rendering of menu items. This change ensures better TypeScript compliance and maintains clarity in the component's structure. * Refactor Select and OpenIdForm components to improve type safety and simplify logic. Updated item mapping to handle Menu.line more effectively, enhancing clarity in selection processes. Adjusted SelectedTransactionsButton to streamline item creation and improve readability. --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Matiss Janis Aboltins <MatissJanis@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
d86c9cf735
commit
9c61cfc145
@@ -625,7 +625,7 @@ Standard commands documented in `package.json` scripts and the Quick Start secti
|
|||||||
|
|
||||||
- `yarn lint` / `yarn lint:fix` (uses oxlint + oxfmt)
|
- `yarn lint` / `yarn lint:fix` (uses oxlint + oxfmt)
|
||||||
- `yarn test` (lage across all workspaces)
|
- `yarn test` (lage across all workspaces)
|
||||||
- `yarn typecheck` (tsc + lage typecheck)
|
- `yarn typecheck` (tsgo + lage typecheck)
|
||||||
|
|
||||||
### Testing and previewing the app
|
### Testing and previewing the app
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ yarn workspace @actual-app/web build:browser
|
|||||||
yarn workspace @actual-app/sync-server build
|
yarn workspace @actual-app/sync-server build
|
||||||
|
|
||||||
# Emit loot-core declarations so desktop-electron (which includes typings/window.ts) can build
|
# Emit loot-core declarations so desktop-electron (which includes typings/window.ts) can build
|
||||||
yarn workspace loot-core exec tsc -p tsconfig.json
|
yarn workspace loot-core exec tsgo -p tsconfig.json
|
||||||
|
|
||||||
yarn workspace desktop-electron update-client
|
yarn workspace desktop-electron update-client
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
"lint": "oxfmt --check . && oxlint --type-aware --quiet",
|
"lint": "oxfmt --check . && oxlint --type-aware --quiet",
|
||||||
"lint:fix": "oxfmt . && oxlint --fix --type-aware --quiet",
|
"lint:fix": "oxfmt . && oxlint --fix --type-aware --quiet",
|
||||||
"install:server": "yarn workspaces focus @actual-app/sync-server --production",
|
"install:server": "yarn workspaces focus @actual-app/sync-server --production",
|
||||||
"typecheck": "tsc -p tsconfig.root.json --noEmit && lage typecheck",
|
"typecheck": "tsgo -p tsconfig.root.json --noEmit && lage typecheck",
|
||||||
"jq": "./node_modules/node-jq/bin/jq",
|
"jq": "./node_modules/node-jq/bin/jq",
|
||||||
"prepare": "husky"
|
"prepare": "husky"
|
||||||
},
|
},
|
||||||
@@ -65,6 +65,7 @@
|
|||||||
"@octokit/rest": "^22.0.1",
|
"@octokit/rest": "^22.0.1",
|
||||||
"@types/node": "^22.19.10",
|
"@types/node": "^22.19.10",
|
||||||
"@types/prompts": "^2.4.9",
|
"@types/prompts": "^2.4.9",
|
||||||
|
"@typescript/native-preview": "^7.0.0-dev.20260309.1",
|
||||||
"baseline-browser-mapping": "^2.9.19",
|
"baseline-browser-mapping": "^2.9.19",
|
||||||
"cross-env": "^10.1.0",
|
"cross-env": "^10.1.0",
|
||||||
"eslint": "^9.39.2",
|
"eslint": "^9.39.2",
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "@types/index.d.ts",
|
"types": "@types/index.d.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "yarn workspace loot-core exec tsc && vite build && node scripts/inline-loot-core-types.mjs",
|
"build": "yarn workspace loot-core exec tsgo && vite build && node scripts/inline-loot-core-types.mjs",
|
||||||
"test": "vitest --run",
|
"test": "vitest --run",
|
||||||
"typecheck": "tsc -b && tsc-strict"
|
"typecheck": "tsgo -b && tsc-strict"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actual-app/crdt": "workspace:^",
|
"@actual-app/crdt": "workspace:^",
|
||||||
@@ -23,8 +23,8 @@
|
|||||||
"uuid": "^13.0.0"
|
"uuid": "^13.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@typescript/native-preview": "^7.0.0-dev.20260309.1",
|
||||||
"rollup-plugin-visualizer": "^6.0.5",
|
"rollup-plugin-visualizer": "^6.0.5",
|
||||||
"typescript": "^5.9.3",
|
|
||||||
"typescript-strict-plugin": "^2.4.4",
|
"typescript-strict-plugin": "^2.4.4",
|
||||||
"vite": "^7.3.1",
|
"vite": "^7.3.1",
|
||||||
"vite-plugin-dts": "^4.5.4",
|
"vite-plugin-dts": "^4.5.4",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* Post-build script: copies loot-core declaration tree into @types/loot-core
|
* Post-build script: copies loot-core declaration tree into @types/loot-core
|
||||||
* and rewrites index.d.ts to reference it so the published package is self-contained.
|
* and rewrites index.d.ts to reference it so the published package is self-contained.
|
||||||
* Run after vite build; requires loot-core declarations (yarn workspace loot-core exec tsc).
|
* Run after vite build; requires loot-core declarations (yarn workspace loot-core exec tsgo).
|
||||||
*/
|
*/
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
@@ -23,7 +23,7 @@ function main() {
|
|||||||
}
|
}
|
||||||
if (!fs.existsSync(lootCoreDeclSrc)) {
|
if (!fs.existsSync(lootCoreDeclSrc)) {
|
||||||
console.error(
|
console.error(
|
||||||
'Missing loot-core declarations; run: yarn workspace loot-core exec tsc',
|
'Missing loot-core declarations; run: yarn workspace loot-core exec tsgo',
|
||||||
);
|
);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|||||||
1
packages/ci-actions/.gitignore
vendored
Normal file
1
packages/ci-actions/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
dist/*
|
||||||
@@ -5,11 +5,11 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"tsx": "node --import=extensionless/register --experimental-strip-types",
|
"tsx": "node --import=extensionless/register --experimental-strip-types",
|
||||||
"test": "vitest --run",
|
"test": "vitest --run",
|
||||||
"typecheck": "tsc --noEmit"
|
"typecheck": "tsgo -b"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@typescript/native-preview": "^7.0.0-dev.20260309.1",
|
||||||
"extensionless": "^2.0.6",
|
"extensionless": "^2.0.6",
|
||||||
"typescript": "^5.9.3",
|
|
||||||
"vitest": "^4.0.18"
|
"vitest": "^4.0.18"
|
||||||
},
|
},
|
||||||
"extensionless": {
|
"extensionless": {
|
||||||
|
|||||||
@@ -8,7 +8,8 @@
|
|||||||
"strict": true,
|
"strict": true,
|
||||||
"types": ["node"],
|
"types": ["node"],
|
||||||
"outDir": "dist",
|
"outDir": "dist",
|
||||||
"rootDir": "."
|
"rootDir": ".",
|
||||||
|
"composite": true
|
||||||
},
|
},
|
||||||
"include": ["src/**/*", "bin/**/*"],
|
"include": ["src/**/*", "bin/**/*"],
|
||||||
"exclude": ["node_modules"]
|
"exclude": ["node_modules"]
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
"test:web": "ENV=web vitest --run -c vitest.web.config.ts",
|
"test:web": "ENV=web vitest --run -c vitest.web.config.ts",
|
||||||
"start:storybook": "storybook dev -p 6006",
|
"start:storybook": "storybook dev -p 6006",
|
||||||
"build:storybook": "storybook build",
|
"build:storybook": "storybook build",
|
||||||
"typecheck": "tsc -b"
|
"typecheck": "tsgo -b"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emotion/css": "^11.13.5",
|
"@emotion/css": "^11.13.5",
|
||||||
@@ -54,6 +54,7 @@
|
|||||||
"@storybook/react-vite": "^10.2.7",
|
"@storybook/react-vite": "^10.2.7",
|
||||||
"@svgr/cli": "^8.1.0",
|
"@svgr/cli": "^8.1.0",
|
||||||
"@types/react": "^19.2.5",
|
"@types/react": "^19.2.5",
|
||||||
|
"@typescript/native-preview": "^7.0.0-dev.20260309.1",
|
||||||
"eslint-plugin-storybook": "^10.2.7",
|
"eslint-plugin-storybook": "^10.2.7",
|
||||||
"react": "19.2.4",
|
"react": "19.2.4",
|
||||||
"react-dom": "19.2.4",
|
"react-dom": "19.2.4",
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ import { View } from './View';
|
|||||||
|
|
||||||
const MenuLine: unique symbol = Symbol('menu-line');
|
const MenuLine: unique symbol = Symbol('menu-line');
|
||||||
const MenuLabel: unique symbol = Symbol('menu-label');
|
const MenuLabel: unique symbol = Symbol('menu-label');
|
||||||
Menu.line = MenuLine;
|
Menu.line = MenuLine as typeof MenuLine;
|
||||||
Menu.label = MenuLabel;
|
Menu.label = MenuLabel as typeof MenuLabel;
|
||||||
|
|
||||||
type KeybindingProps = {
|
type KeybindingProps = {
|
||||||
keyName: ReactNode;
|
keyName: ReactNode;
|
||||||
|
|||||||
@@ -9,11 +9,11 @@
|
|||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build:node": "tsc",
|
"build:node": "tsgo",
|
||||||
"proto:generate": "./bin/generate-proto",
|
"proto:generate": "./bin/generate-proto",
|
||||||
"build": "rm -rf dist && yarn run build:node",
|
"build": "rm -rf dist && yarn run build:node",
|
||||||
"test": "vitest --run",
|
"test": "vitest --run",
|
||||||
"typecheck": "tsc -b"
|
"typecheck": "tsgo -b"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"google-protobuf": "^3.21.4",
|
"google-protobuf": "^3.21.4",
|
||||||
@@ -22,9 +22,9 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/google-protobuf": "3.15.12",
|
"@types/google-protobuf": "3.15.12",
|
||||||
|
"@typescript/native-preview": "^7.0.0-dev.20260309.1",
|
||||||
"protoc-gen-js": "3.21.4-4",
|
"protoc-gen-js": "3.21.4-4",
|
||||||
"ts-protoc-gen": "0.15.0",
|
"ts-protoc-gen": "0.15.0",
|
||||||
"typescript": "^5.9.3",
|
|
||||||
"vitest": "^4.0.18"
|
"vitest": "^4.0.18"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"e2e": "npx playwright test --browser=chromium",
|
"e2e": "npx playwright test --browser=chromium",
|
||||||
"vrt": "cross-env VRT=true npx playwright test --browser=chromium",
|
"vrt": "cross-env VRT=true npx playwright test --browser=chromium",
|
||||||
"playwright": "playwright",
|
"playwright": "playwright",
|
||||||
"typecheck": "tsc -b && tsc-strict"
|
"typecheck": "tsgo -b && tsc-strict"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@actual-app/components": "workspace:*",
|
"@actual-app/components": "workspace:*",
|
||||||
@@ -45,6 +45,7 @@
|
|||||||
"@types/react": "^19.2.5",
|
"@types/react": "^19.2.5",
|
||||||
"@types/react-dom": "^19.2.3",
|
"@types/react-dom": "^19.2.3",
|
||||||
"@types/react-modal": "^3.16.3",
|
"@types/react-modal": "^3.16.3",
|
||||||
|
"@typescript/native-preview": "^7.0.0-dev.20260309.1",
|
||||||
"@uiw/react-codemirror": "^4.25.4",
|
"@uiw/react-codemirror": "^4.25.4",
|
||||||
"@use-gesture/react": "^10.3.1",
|
"@use-gesture/react": "^10.3.1",
|
||||||
"@vitejs/plugin-basic-ssl": "^2.1.4",
|
"@vitejs/plugin-basic-ssl": "^2.1.4",
|
||||||
@@ -91,7 +92,6 @@
|
|||||||
"remark-gfm": "^4.0.1",
|
"remark-gfm": "^4.0.1",
|
||||||
"rollup-plugin-visualizer": "^6.0.5",
|
"rollup-plugin-visualizer": "^6.0.5",
|
||||||
"sass": "^1.97.3",
|
"sass": "^1.97.3",
|
||||||
"typescript": "^5.9.3",
|
|
||||||
"typescript-strict-plugin": "^2.4.4",
|
"typescript-strict-plugin": "^2.4.4",
|
||||||
"usehooks-ts": "^3.1.1",
|
"usehooks-ts": "^3.1.1",
|
||||||
"uuid": "^13.0.0",
|
"uuid": "^13.0.0",
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
"noEmit": false,
|
"noEmit": false,
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"declarationMap": true,
|
"declarationMap": true,
|
||||||
|
"strict": false, // TODO: fix issues and remove this
|
||||||
"emitDeclarationOnly": true,
|
"emitDeclarationOnly": true,
|
||||||
"outDir": "build/ts",
|
"outDir": "build/ts",
|
||||||
"rootDir": "src",
|
"rootDir": "src",
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import type {
|
|||||||
import { copy, exists, mkdir, remove } from 'fs-extra';
|
import { copy, exists, mkdir, remove } from 'fs-extra';
|
||||||
import promiseRetry from 'promise-retry';
|
import promiseRetry from 'promise-retry';
|
||||||
|
|
||||||
import type { GlobalPrefsJson } from 'loot-core/src/types/prefs';
|
import type { GlobalPrefsJson } from 'loot-core/types/prefs';
|
||||||
|
|
||||||
import { getMenu } from './menu';
|
import { getMenu } from './menu';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
"clean": "rm -rf dist",
|
"clean": "rm -rf dist",
|
||||||
"update-client": "bin/update-client",
|
"update-client": "bin/update-client",
|
||||||
"build": "yarn build:dist && electron-builder",
|
"build": "yarn build:dist && electron-builder",
|
||||||
"build:dist": "tsc && yarn copy-static-assets",
|
"build:dist": "tsgo && yarn copy-static-assets",
|
||||||
"typecheck": "tsc -b && tsc-strict",
|
"typecheck": "tsgo -b && tsc-strict",
|
||||||
"copy-static-assets": "copyfiles --exclude 'build/**/*' **/*.html icons/**/* build/desktop-electron",
|
"copy-static-assets": "copyfiles --exclude 'build/**/*' **/*.html icons/**/* build/desktop-electron",
|
||||||
"watch": "yarn build:dist && cross-env ACTUAL_DOCUMENT_DIR=\"../../data\" ACTUAL_DATA_DIR=\"../../data\" electron .",
|
"watch": "yarn build:dist && cross-env ACTUAL_DOCUMENT_DIR=\"../../data\" ACTUAL_DATA_DIR=\"../../data\" electron .",
|
||||||
"e2e": "npx playwright test"
|
"e2e": "npx playwright test"
|
||||||
@@ -26,12 +26,12 @@
|
|||||||
"@playwright/test": "1.58.2",
|
"@playwright/test": "1.58.2",
|
||||||
"@types/copyfiles": "^2",
|
"@types/copyfiles": "^2",
|
||||||
"@types/fs-extra": "^11",
|
"@types/fs-extra": "^11",
|
||||||
|
"@typescript/native-preview": "^7.0.0-dev.20260309.1",
|
||||||
"copyfiles": "^2.4.1",
|
"copyfiles": "^2.4.1",
|
||||||
"cross-env": "^10.1.0",
|
"cross-env": "^10.1.0",
|
||||||
"electron": "39.2.7",
|
"electron": "39.2.7",
|
||||||
"electron-builder": "26.4.0",
|
"electron-builder": "26.4.0",
|
||||||
"loot-core": "workspace:*",
|
"loot-core": "workspace:*",
|
||||||
"typescript": "^5.9.3",
|
|
||||||
"typescript-strict-plugin": "^2.4.4"
|
"typescript-strict-plugin": "^2.4.4"
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
"module": "CommonJS",
|
"module": "CommonJS",
|
||||||
"moduleResolution": "node10",
|
"moduleResolution": "node10",
|
||||||
"noEmit": false,
|
"noEmit": false,
|
||||||
|
"strict": false, // TODO: fix issues and remove this
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"declarationMap": true,
|
"declarationMap": true,
|
||||||
"outDir": "build",
|
"outDir": "build",
|
||||||
|
|||||||
@@ -5,6 +5,13 @@
|
|||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"author": "",
|
"author": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
|
"typesVersions": {
|
||||||
|
"*": {
|
||||||
|
"types/*": [
|
||||||
|
"./src/types/*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"exports": {
|
"exports": {
|
||||||
"./client/accounts/*": "./src/client/accounts/*.ts",
|
"./client/accounts/*": "./src/client/accounts/*.ts",
|
||||||
"./client/app/*": "./src/client/app/*.ts",
|
"./client/app/*": "./src/client/app/*.ts",
|
||||||
@@ -61,7 +68,7 @@
|
|||||||
"test": "npm-run-all -cp 'test:*'",
|
"test": "npm-run-all -cp 'test:*'",
|
||||||
"test:node": "ENV=node vitest --run",
|
"test:node": "ENV=node vitest --run",
|
||||||
"test:web": "ENV=web vitest --run -c vitest.web.config.ts",
|
"test:web": "ENV=web vitest --run -c vitest.web.config.ts",
|
||||||
"typecheck": "tsc -b && tsc-strict"
|
"typecheck": "tsgo -b && tsc-strict"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jlongster/sql.js": "^1.6.7",
|
"@jlongster/sql.js": "^1.6.7",
|
||||||
@@ -82,7 +89,6 @@
|
|||||||
"mitt": "^3.0.1",
|
"mitt": "^3.0.1",
|
||||||
"promise-retry": "^2.0.1",
|
"promise-retry": "^2.0.1",
|
||||||
"slash": "5.1.0",
|
"slash": "5.1.0",
|
||||||
"typescript": "^5.9.3",
|
|
||||||
"typescript-strict-plugin": "^2.4.4",
|
"typescript-strict-plugin": "^2.4.4",
|
||||||
"ua-parser-js": "^2.0.9",
|
"ua-parser-js": "^2.0.9",
|
||||||
"uuid": "^13.0.0"
|
"uuid": "^13.0.0"
|
||||||
@@ -96,6 +102,7 @@
|
|||||||
"@types/jlongster__sql.js": "npm:@types/sql.js@latest",
|
"@types/jlongster__sql.js": "npm:@types/sql.js@latest",
|
||||||
"@types/node": "^22.19.10",
|
"@types/node": "^22.19.10",
|
||||||
"@types/pegjs": "^0.10.6",
|
"@types/pegjs": "^0.10.6",
|
||||||
|
"@typescript/native-preview": "^7.0.0-dev.20260309.1",
|
||||||
"assert": "^2.1.0",
|
"assert": "^2.1.0",
|
||||||
"browserify-zlib": "^0.2.0",
|
"browserify-zlib": "^0.2.0",
|
||||||
"buffer": "^6.0.3",
|
"buffer": "^6.0.3",
|
||||||
@@ -112,7 +119,6 @@
|
|||||||
"rollup-plugin-visualizer": "^6.0.5",
|
"rollup-plugin-visualizer": "^6.0.5",
|
||||||
"stream-browserify": "^3.0.0",
|
"stream-browserify": "^3.0.0",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"typescript": "^5.9.3",
|
|
||||||
"vite": "^7.3.1",
|
"vite": "^7.3.1",
|
||||||
"vite-plugin-node-polyfills": "^0.25.0",
|
"vite-plugin-node-polyfills": "^0.25.0",
|
||||||
"vite-plugin-peggy-loader": "^2.0.1",
|
"vite-plugin-peggy-loader": "^2.0.1",
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
"composite": true,
|
"composite": true,
|
||||||
"noEmit": false,
|
"noEmit": false,
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
|
"strict": false, // TODO: fix issues and remove this
|
||||||
"declarationMap": true,
|
"declarationMap": true,
|
||||||
"emitDeclarationOnly": true,
|
"emitDeclarationOnly": true,
|
||||||
"outDir": "lib-dist/decl",
|
"outDir": "lib-dist/decl",
|
||||||
|
|||||||
@@ -9,15 +9,15 @@
|
|||||||
"build": "cross-env NODE_ENV=production ./bin/build-service-worker",
|
"build": "cross-env NODE_ENV=production ./bin/build-service-worker",
|
||||||
"build-dev": "cross-env NODE_ENV=development ./bin/build-service-worker",
|
"build-dev": "cross-env NODE_ENV=development ./bin/build-service-worker",
|
||||||
"watch": "cross-env NODE_ENV=development ./bin/build-service-worker --watch",
|
"watch": "cross-env NODE_ENV=development ./bin/build-service-worker --watch",
|
||||||
"typecheck": "tsc -b && tsc-strict"
|
"typecheck": "tsgo -b && tsc-strict"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"workbox-precaching": "^7.4.0"
|
"workbox-precaching": "^7.4.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^22.19.10",
|
"@types/node": "^22.19.10",
|
||||||
|
"@typescript/native-preview": "^7.0.0-dev.20260309.1",
|
||||||
"cross-env": "^10.1.0",
|
"cross-env": "^10.1.0",
|
||||||
"typescript": "^5.9.3",
|
|
||||||
"typescript-strict-plugin": "^2.4.4",
|
"typescript-strict-plugin": "^2.4.4",
|
||||||
"vite": "^7.3.1"
|
"vite": "^7.3.1"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "yarn build && node build/app",
|
"start": "yarn build && node build/app",
|
||||||
"start-monitor": "nodemon --exec 'yarn build && node build/app' --ignore './build/**/*' --ext 'ts,js' build/app",
|
"start-monitor": "nodemon --exec 'yarn build && node build/app' --ignore './build/**/*' --ext 'ts,js' build/app",
|
||||||
"build": "tsc && yarn add-import-extensions && yarn copy-static-assets",
|
"build": "tsgo && yarn add-import-extensions && yarn copy-static-assets",
|
||||||
"typecheck": "tsc -b && tsc-strict",
|
"typecheck": "tsgo -b && tsc-strict",
|
||||||
"add-import-extensions": "node bin/add-import-extensions.mjs",
|
"add-import-extensions": "node bin/add-import-extensions.mjs",
|
||||||
"copy-static-assets": "rm -rf build/src/sql && cp -r src/sql build/src/sql",
|
"copy-static-assets": "rm -rf build/src/sql && cp -r src/sql build/src/sql",
|
||||||
"test": "NODE_ENV=test NODE_OPTIONS='--experimental-vm-modules --import ./register-loader.mjs --trace-warnings' vitest --run",
|
"test": "NODE_ENV=test NODE_OPTIONS='--experimental-vm-modules --import ./register-loader.mjs --trace-warnings' vitest --run",
|
||||||
@@ -61,10 +61,10 @@
|
|||||||
"@types/express-actuator": "^1.8.3",
|
"@types/express-actuator": "^1.8.3",
|
||||||
"@types/node": "^22.19.10",
|
"@types/node": "^22.19.10",
|
||||||
"@types/supertest": "^6.0.3",
|
"@types/supertest": "^6.0.3",
|
||||||
|
"@typescript/native-preview": "^7.0.0-dev.20260309.1",
|
||||||
"http-proxy-middleware": "^3.0.5",
|
"http-proxy-middleware": "^3.0.5",
|
||||||
"nodemon": "^3.1.11",
|
"nodemon": "^3.1.11",
|
||||||
"supertest": "^7.2.2",
|
"supertest": "^7.2.2",
|
||||||
"typescript": "^5.9.3",
|
|
||||||
"typescript-strict-plugin": "^2.4.4",
|
"typescript-strict-plugin": "^2.4.4",
|
||||||
"vitest": "^4.0.18"
|
"vitest": "^4.0.18"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
"composite": true,
|
"composite": true,
|
||||||
"lib": ["ES2021"],
|
"lib": ["ES2021"],
|
||||||
"noEmit": false,
|
"noEmit": false,
|
||||||
|
"strict": false, // TODO: fix issues and remove this
|
||||||
|
"strictFunctionTypes": true,
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"declarationMap": true,
|
"declarationMap": true,
|
||||||
"outDir": "build",
|
"outDir": "build",
|
||||||
|
|||||||
6
upcoming-release-notes/7183.md
Normal file
6
upcoming-release-notes/7183.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
category: Maintenance
|
||||||
|
authors: [MatissJanis]
|
||||||
|
---
|
||||||
|
|
||||||
|
TypeScript: upgrade to tsgo
|
||||||
99
yarn.lock
99
yarn.lock
@@ -24,12 +24,12 @@ __metadata:
|
|||||||
resolution: "@actual-app/api@workspace:packages/api"
|
resolution: "@actual-app/api@workspace:packages/api"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@actual-app/crdt": "workspace:^"
|
"@actual-app/crdt": "workspace:^"
|
||||||
|
"@typescript/native-preview": "npm:^7.0.0-dev.20260309.1"
|
||||||
better-sqlite3: "npm:^12.6.2"
|
better-sqlite3: "npm:^12.6.2"
|
||||||
compare-versions: "npm:^6.1.1"
|
compare-versions: "npm:^6.1.1"
|
||||||
loot-core: "workspace:^"
|
loot-core: "workspace:^"
|
||||||
node-fetch: "npm:^3.3.2"
|
node-fetch: "npm:^3.3.2"
|
||||||
rollup-plugin-visualizer: "npm:^6.0.5"
|
rollup-plugin-visualizer: "npm:^6.0.5"
|
||||||
typescript: "npm:^5.9.3"
|
|
||||||
typescript-strict-plugin: "npm:^2.4.4"
|
typescript-strict-plugin: "npm:^2.4.4"
|
||||||
uuid: "npm:^13.0.0"
|
uuid: "npm:^13.0.0"
|
||||||
vite: "npm:^7.3.1"
|
vite: "npm:^7.3.1"
|
||||||
@@ -43,8 +43,8 @@ __metadata:
|
|||||||
version: 0.0.0-use.local
|
version: 0.0.0-use.local
|
||||||
resolution: "@actual-app/ci-actions@workspace:packages/ci-actions"
|
resolution: "@actual-app/ci-actions@workspace:packages/ci-actions"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
"@typescript/native-preview": "npm:^7.0.0-dev.20260309.1"
|
||||||
extensionless: "npm:^2.0.6"
|
extensionless: "npm:^2.0.6"
|
||||||
typescript: "npm:^5.9.3"
|
|
||||||
vitest: "npm:^4.0.18"
|
vitest: "npm:^4.0.18"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
linkType: soft
|
||||||
@@ -60,6 +60,7 @@ __metadata:
|
|||||||
"@storybook/react-vite": "npm:^10.2.7"
|
"@storybook/react-vite": "npm:^10.2.7"
|
||||||
"@svgr/cli": "npm:^8.1.0"
|
"@svgr/cli": "npm:^8.1.0"
|
||||||
"@types/react": "npm:^19.2.5"
|
"@types/react": "npm:^19.2.5"
|
||||||
|
"@typescript/native-preview": "npm:^7.0.0-dev.20260309.1"
|
||||||
eslint-plugin-storybook: "npm:^10.2.7"
|
eslint-plugin-storybook: "npm:^10.2.7"
|
||||||
react: "npm:19.2.4"
|
react: "npm:19.2.4"
|
||||||
react-aria-components: "npm:^1.15.1"
|
react-aria-components: "npm:^1.15.1"
|
||||||
@@ -90,11 +91,11 @@ __metadata:
|
|||||||
resolution: "@actual-app/crdt@workspace:packages/crdt"
|
resolution: "@actual-app/crdt@workspace:packages/crdt"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/google-protobuf": "npm:3.15.12"
|
"@types/google-protobuf": "npm:3.15.12"
|
||||||
|
"@typescript/native-preview": "npm:^7.0.0-dev.20260309.1"
|
||||||
google-protobuf: "npm:^3.21.4"
|
google-protobuf: "npm:^3.21.4"
|
||||||
murmurhash: "npm:^2.0.1"
|
murmurhash: "npm:^2.0.1"
|
||||||
protoc-gen-js: "npm:3.21.4-4"
|
protoc-gen-js: "npm:3.21.4-4"
|
||||||
ts-protoc-gen: "npm:0.15.0"
|
ts-protoc-gen: "npm:0.15.0"
|
||||||
typescript: "npm:^5.9.3"
|
|
||||||
uuid: "npm:^13.0.0"
|
uuid: "npm:^13.0.0"
|
||||||
vitest: "npm:^4.0.18"
|
vitest: "npm:^4.0.18"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
@@ -117,6 +118,7 @@ __metadata:
|
|||||||
"@types/express-actuator": "npm:^1.8.3"
|
"@types/express-actuator": "npm:^1.8.3"
|
||||||
"@types/node": "npm:^22.19.10"
|
"@types/node": "npm:^22.19.10"
|
||||||
"@types/supertest": "npm:^6.0.3"
|
"@types/supertest": "npm:^6.0.3"
|
||||||
|
"@typescript/native-preview": "npm:^7.0.0-dev.20260309.1"
|
||||||
bcrypt: "npm:^6.0.0"
|
bcrypt: "npm:^6.0.0"
|
||||||
better-sqlite3: "npm:^12.6.2"
|
better-sqlite3: "npm:^12.6.2"
|
||||||
convict: "npm:^6.2.4"
|
convict: "npm:^6.2.4"
|
||||||
@@ -135,7 +137,6 @@ __metadata:
|
|||||||
openid-client: "npm:^5.7.1"
|
openid-client: "npm:^5.7.1"
|
||||||
pluggy-sdk: "npm:^0.83.0"
|
pluggy-sdk: "npm:^0.83.0"
|
||||||
supertest: "npm:^7.2.2"
|
supertest: "npm:^7.2.2"
|
||||||
typescript: "npm:^5.9.3"
|
|
||||||
typescript-strict-plugin: "npm:^2.4.4"
|
typescript-strict-plugin: "npm:^2.4.4"
|
||||||
uuid: "npm:^13.0.0"
|
uuid: "npm:^13.0.0"
|
||||||
vitest: "npm:^4.0.18"
|
vitest: "npm:^4.0.18"
|
||||||
@@ -175,6 +176,7 @@ __metadata:
|
|||||||
"@types/react": "npm:^19.2.5"
|
"@types/react": "npm:^19.2.5"
|
||||||
"@types/react-dom": "npm:^19.2.3"
|
"@types/react-dom": "npm:^19.2.3"
|
||||||
"@types/react-modal": "npm:^3.16.3"
|
"@types/react-modal": "npm:^3.16.3"
|
||||||
|
"@typescript/native-preview": "npm:^7.0.0-dev.20260309.1"
|
||||||
"@uiw/react-codemirror": "npm:^4.25.4"
|
"@uiw/react-codemirror": "npm:^4.25.4"
|
||||||
"@use-gesture/react": "npm:^10.3.1"
|
"@use-gesture/react": "npm:^10.3.1"
|
||||||
"@vitejs/plugin-basic-ssl": "npm:^2.1.4"
|
"@vitejs/plugin-basic-ssl": "npm:^2.1.4"
|
||||||
@@ -221,7 +223,6 @@ __metadata:
|
|||||||
remark-gfm: "npm:^4.0.1"
|
remark-gfm: "npm:^4.0.1"
|
||||||
rollup-plugin-visualizer: "npm:^6.0.5"
|
rollup-plugin-visualizer: "npm:^6.0.5"
|
||||||
sass: "npm:^1.97.3"
|
sass: "npm:^1.97.3"
|
||||||
typescript: "npm:^5.9.3"
|
|
||||||
typescript-strict-plugin: "npm:^2.4.4"
|
typescript-strict-plugin: "npm:^2.4.4"
|
||||||
usehooks-ts: "npm:^3.1.1"
|
usehooks-ts: "npm:^3.1.1"
|
||||||
uuid: "npm:^13.0.0"
|
uuid: "npm:^13.0.0"
|
||||||
@@ -10787,6 +10788,87 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/native-preview-darwin-arm64@npm:7.0.0-dev.20260309.1":
|
||||||
|
version: 7.0.0-dev.20260309.1
|
||||||
|
resolution: "@typescript/native-preview-darwin-arm64@npm:7.0.0-dev.20260309.1"
|
||||||
|
conditions: os=darwin & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/native-preview-darwin-x64@npm:7.0.0-dev.20260309.1":
|
||||||
|
version: 7.0.0-dev.20260309.1
|
||||||
|
resolution: "@typescript/native-preview-darwin-x64@npm:7.0.0-dev.20260309.1"
|
||||||
|
conditions: os=darwin & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/native-preview-linux-arm64@npm:7.0.0-dev.20260309.1":
|
||||||
|
version: 7.0.0-dev.20260309.1
|
||||||
|
resolution: "@typescript/native-preview-linux-arm64@npm:7.0.0-dev.20260309.1"
|
||||||
|
conditions: os=linux & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/native-preview-linux-arm@npm:7.0.0-dev.20260309.1":
|
||||||
|
version: 7.0.0-dev.20260309.1
|
||||||
|
resolution: "@typescript/native-preview-linux-arm@npm:7.0.0-dev.20260309.1"
|
||||||
|
conditions: os=linux & cpu=arm
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/native-preview-linux-x64@npm:7.0.0-dev.20260309.1":
|
||||||
|
version: 7.0.0-dev.20260309.1
|
||||||
|
resolution: "@typescript/native-preview-linux-x64@npm:7.0.0-dev.20260309.1"
|
||||||
|
conditions: os=linux & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/native-preview-win32-arm64@npm:7.0.0-dev.20260309.1":
|
||||||
|
version: 7.0.0-dev.20260309.1
|
||||||
|
resolution: "@typescript/native-preview-win32-arm64@npm:7.0.0-dev.20260309.1"
|
||||||
|
conditions: os=win32 & cpu=arm64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/native-preview-win32-x64@npm:7.0.0-dev.20260309.1":
|
||||||
|
version: 7.0.0-dev.20260309.1
|
||||||
|
resolution: "@typescript/native-preview-win32-x64@npm:7.0.0-dev.20260309.1"
|
||||||
|
conditions: os=win32 & cpu=x64
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@typescript/native-preview@npm:^7.0.0-dev.20260309.1":
|
||||||
|
version: 7.0.0-dev.20260309.1
|
||||||
|
resolution: "@typescript/native-preview@npm:7.0.0-dev.20260309.1"
|
||||||
|
dependencies:
|
||||||
|
"@typescript/native-preview-darwin-arm64": "npm:7.0.0-dev.20260309.1"
|
||||||
|
"@typescript/native-preview-darwin-x64": "npm:7.0.0-dev.20260309.1"
|
||||||
|
"@typescript/native-preview-linux-arm": "npm:7.0.0-dev.20260309.1"
|
||||||
|
"@typescript/native-preview-linux-arm64": "npm:7.0.0-dev.20260309.1"
|
||||||
|
"@typescript/native-preview-linux-x64": "npm:7.0.0-dev.20260309.1"
|
||||||
|
"@typescript/native-preview-win32-arm64": "npm:7.0.0-dev.20260309.1"
|
||||||
|
"@typescript/native-preview-win32-x64": "npm:7.0.0-dev.20260309.1"
|
||||||
|
dependenciesMeta:
|
||||||
|
"@typescript/native-preview-darwin-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/native-preview-darwin-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/native-preview-linux-arm":
|
||||||
|
optional: true
|
||||||
|
"@typescript/native-preview-linux-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/native-preview-linux-x64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/native-preview-win32-arm64":
|
||||||
|
optional: true
|
||||||
|
"@typescript/native-preview-win32-x64":
|
||||||
|
optional: true
|
||||||
|
bin:
|
||||||
|
tsgo: bin/tsgo.js
|
||||||
|
checksum: 10/db6e3609cb11b40916f09a1522bafdc6ae1f5e02361ad2cc75be6efb5298f84a0af52d6e78e9b18a488678834e3c79ea1c09dd7e748ab42a906a957159c9189f
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@uiw/codemirror-extensions-basic-setup@npm:4.25.4":
|
"@uiw/codemirror-extensions-basic-setup@npm:4.25.4":
|
||||||
version: 4.25.4
|
version: 4.25.4
|
||||||
resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.25.4"
|
resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.25.4"
|
||||||
@@ -11352,6 +11434,7 @@ __metadata:
|
|||||||
"@octokit/rest": "npm:^22.0.1"
|
"@octokit/rest": "npm:^22.0.1"
|
||||||
"@types/node": "npm:^22.19.10"
|
"@types/node": "npm:^22.19.10"
|
||||||
"@types/prompts": "npm:^2.4.9"
|
"@types/prompts": "npm:^2.4.9"
|
||||||
|
"@typescript/native-preview": "npm:^7.0.0-dev.20260309.1"
|
||||||
baseline-browser-mapping: "npm:^2.9.19"
|
baseline-browser-mapping: "npm:^2.9.19"
|
||||||
cross-env: "npm:^10.1.0"
|
cross-env: "npm:^10.1.0"
|
||||||
eslint: "npm:^9.39.2"
|
eslint: "npm:^9.39.2"
|
||||||
@@ -15024,6 +15107,7 @@ __metadata:
|
|||||||
"@playwright/test": "npm:1.58.2"
|
"@playwright/test": "npm:1.58.2"
|
||||||
"@types/copyfiles": "npm:^2"
|
"@types/copyfiles": "npm:^2"
|
||||||
"@types/fs-extra": "npm:^11"
|
"@types/fs-extra": "npm:^11"
|
||||||
|
"@typescript/native-preview": "npm:^7.0.0-dev.20260309.1"
|
||||||
better-sqlite3: "npm:^12.6.2"
|
better-sqlite3: "npm:^12.6.2"
|
||||||
copyfiles: "npm:^2.4.1"
|
copyfiles: "npm:^2.4.1"
|
||||||
cross-env: "npm:^10.1.0"
|
cross-env: "npm:^10.1.0"
|
||||||
@@ -15032,7 +15116,6 @@ __metadata:
|
|||||||
fs-extra: "npm:^11.3.3"
|
fs-extra: "npm:^11.3.3"
|
||||||
loot-core: "workspace:*"
|
loot-core: "workspace:*"
|
||||||
promise-retry: "npm:^2.0.1"
|
promise-retry: "npm:^2.0.1"
|
||||||
typescript: "npm:^5.9.3"
|
|
||||||
typescript-strict-plugin: "npm:^2.4.4"
|
typescript-strict-plugin: "npm:^2.4.4"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
linkType: soft
|
||||||
@@ -20500,6 +20583,7 @@ __metadata:
|
|||||||
"@types/jlongster__sql.js": "npm:@types/sql.js@latest"
|
"@types/jlongster__sql.js": "npm:@types/sql.js@latest"
|
||||||
"@types/node": "npm:^22.19.10"
|
"@types/node": "npm:^22.19.10"
|
||||||
"@types/pegjs": "npm:^0.10.6"
|
"@types/pegjs": "npm:^0.10.6"
|
||||||
|
"@typescript/native-preview": "npm:^7.0.0-dev.20260309.1"
|
||||||
absurd-sql: "npm:0.0.54"
|
absurd-sql: "npm:0.0.54"
|
||||||
adm-zip: "patch:adm-zip@npm%3A0.5.16#~/.yarn/patches/adm-zip-npm-0.5.16-4556fea098.patch"
|
adm-zip: "patch:adm-zip@npm%3A0.5.16#~/.yarn/patches/adm-zip-npm-0.5.16-4556fea098.patch"
|
||||||
assert: "npm:^2.1.0"
|
assert: "npm:^2.1.0"
|
||||||
@@ -20529,7 +20613,6 @@ __metadata:
|
|||||||
slash: "npm:5.1.0"
|
slash: "npm:5.1.0"
|
||||||
stream-browserify: "npm:^3.0.0"
|
stream-browserify: "npm:^3.0.0"
|
||||||
ts-node: "npm:^10.9.2"
|
ts-node: "npm:^10.9.2"
|
||||||
typescript: "npm:^5.9.3"
|
|
||||||
typescript-strict-plugin: "npm:^2.4.4"
|
typescript-strict-plugin: "npm:^2.4.4"
|
||||||
ua-parser-js: "npm:^2.0.9"
|
ua-parser-js: "npm:^2.0.9"
|
||||||
uuid: "npm:^13.0.0"
|
uuid: "npm:^13.0.0"
|
||||||
@@ -23514,8 +23597,8 @@ __metadata:
|
|||||||
resolution: "plugins-service@workspace:packages/plugins-service"
|
resolution: "plugins-service@workspace:packages/plugins-service"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node": "npm:^22.19.10"
|
"@types/node": "npm:^22.19.10"
|
||||||
|
"@typescript/native-preview": "npm:^7.0.0-dev.20260309.1"
|
||||||
cross-env: "npm:^10.1.0"
|
cross-env: "npm:^10.1.0"
|
||||||
typescript: "npm:^5.9.3"
|
|
||||||
typescript-strict-plugin: "npm:^2.4.4"
|
typescript-strict-plugin: "npm:^2.4.4"
|
||||||
vite: "npm:^7.3.1"
|
vite: "npm:^7.3.1"
|
||||||
workbox-precaching: "npm:^7.4.0"
|
workbox-precaching: "npm:^7.4.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user