From 7c925d1fdb3bae0c541d2b1a7407b0ecc6aa884d Mon Sep 17 00:00:00 2001 From: Jan Andrle Date: Wed, 20 May 2026 15:24:20 +0200 Subject: [PATCH] :zap: :tv: tsc-alias --- bs/lint | 4 + bs/start | 2 - bs/test | 2 - package-lock.json | 303 ++++++++++++++++++++++----------- package.json | 3 +- src/app-episodes/:id/routes.ts | 2 +- src/app-episodes/routes.ts | 2 +- tsconfig.json | 5 +- web-dev-server.config.js | 2 +- 9 files changed, 212 insertions(+), 113 deletions(-) diff --git a/bs/lint b/bs/lint index 807090b..37a0e9a 100755 --- a/bs/lint +++ b/bs/lint @@ -6,17 +6,21 @@ set -eo pipefail # this can be harmful, see https://www.youtube.com/watch?v=4Jo3 } # depends on declare -r tsc='node_modules/.bin/tsc' +declare -r tscAlias='node_modules/.bin/tsc-alias' help(){ if ! isHelp "${@}"; then return 0; fi echoReadmeInfo echo $tsc --help + $tscAlias --help exit 0 } main(){ help "${@}" $tsc "${@}" + echo "$tscAlias ${@}" + $tscAlias "${@}" } main "${@}" diff --git a/bs/start b/bs/start index b88fd2f..71362e4 100755 --- a/bs/start +++ b/bs/start @@ -4,8 +4,6 @@ set -eo pipefail # this can be harmful, see https://www.youtube.com/watch?v=4Jo3 echo 'Please run this script from the project root directory' >&2; exit 1; } -# "start:build": "web-dev-server --root-dir dist --app-index index.html --open", -# "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"web-dev-server\"" # depends on declare -r server='node_modules/.bin/web-dev-server' declare -r lint='bs/lint' diff --git a/bs/test b/bs/test index 7e8ee73..c4a602b 100755 --- a/bs/test +++ b/bs/test @@ -12,8 +12,6 @@ help(){ if ! isHelp "${@}"; then return 0; fi echoReadmeInfo cat <=16.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/raouldeheer" + } + }, "node_modules/nanocolors": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.13.tgz", @@ -8838,6 +8853,19 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/plimit-lit": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/plimit-lit/-/plimit-lit-1.6.1.tgz", + "integrity": "sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "queue-lit": "^1.5.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/portfinder": { "version": "1.0.38", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", @@ -9000,6 +9028,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/queue-lit": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/queue-lit/-/queue-lit-1.5.2.tgz", + "integrity": "sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -9354,9 +9392,9 @@ } }, "node_modules/rollup": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.1.tgz", - "integrity": "sha512-iZKH8BeoCwTCBTZBZWQQMreekd4mdomwdjIQ40GC1oZm6o+8PnNMIxFOiCsGMWeS8iDJ7KZcl7KwmKk/0HOQpA==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.4.tgz", + "integrity": "sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==", "dev": true, "license": "MIT", "dependencies": { @@ -9370,31 +9408,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.1", - "@rollup/rollup-android-arm64": "4.59.1", - "@rollup/rollup-darwin-arm64": "4.59.1", - "@rollup/rollup-darwin-x64": "4.59.1", - "@rollup/rollup-freebsd-arm64": "4.59.1", - "@rollup/rollup-freebsd-x64": "4.59.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.1", - "@rollup/rollup-linux-arm-musleabihf": "4.59.1", - "@rollup/rollup-linux-arm64-gnu": "4.59.1", - "@rollup/rollup-linux-arm64-musl": "4.59.1", - "@rollup/rollup-linux-loong64-gnu": "4.59.1", - "@rollup/rollup-linux-loong64-musl": "4.59.1", - "@rollup/rollup-linux-ppc64-gnu": "4.59.1", - "@rollup/rollup-linux-ppc64-musl": "4.59.1", - "@rollup/rollup-linux-riscv64-gnu": "4.59.1", - "@rollup/rollup-linux-riscv64-musl": "4.59.1", - "@rollup/rollup-linux-s390x-gnu": "4.59.1", - "@rollup/rollup-linux-x64-gnu": "4.59.1", - "@rollup/rollup-linux-x64-musl": "4.59.1", - "@rollup/rollup-openbsd-x64": "4.59.1", - "@rollup/rollup-openharmony-arm64": "4.59.1", - "@rollup/rollup-win32-arm64-msvc": "4.59.1", - "@rollup/rollup-win32-ia32-msvc": "4.59.1", - "@rollup/rollup-win32-x64-gnu": "4.59.1", - "@rollup/rollup-win32-x64-msvc": "4.59.1", + "@rollup/rollup-android-arm-eabi": "4.60.4", + "@rollup/rollup-android-arm64": "4.60.4", + "@rollup/rollup-darwin-arm64": "4.60.4", + "@rollup/rollup-darwin-x64": "4.60.4", + "@rollup/rollup-freebsd-arm64": "4.60.4", + "@rollup/rollup-freebsd-x64": "4.60.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.4", + "@rollup/rollup-linux-arm-musleabihf": "4.60.4", + "@rollup/rollup-linux-arm64-gnu": "4.60.4", + "@rollup/rollup-linux-arm64-musl": "4.60.4", + "@rollup/rollup-linux-loong64-gnu": "4.60.4", + "@rollup/rollup-linux-loong64-musl": "4.60.4", + "@rollup/rollup-linux-ppc64-gnu": "4.60.4", + "@rollup/rollup-linux-ppc64-musl": "4.60.4", + "@rollup/rollup-linux-riscv64-gnu": "4.60.4", + "@rollup/rollup-linux-riscv64-musl": "4.60.4", + "@rollup/rollup-linux-s390x-gnu": "4.60.4", + "@rollup/rollup-linux-x64-gnu": "4.60.4", + "@rollup/rollup-linux-x64-musl": "4.60.4", + "@rollup/rollup-openbsd-x64": "4.60.4", + "@rollup/rollup-openharmony-arm64": "4.60.4", + "@rollup/rollup-win32-arm64-msvc": "4.60.4", + "@rollup/rollup-win32-ia32-msvc": "4.60.4", + "@rollup/rollup-win32-x64-gnu": "4.60.4", + "@rollup/rollup-win32-x64-msvc": "4.60.4", "fsevents": "~2.3.2" } }, @@ -10319,6 +10357,63 @@ "node": ">=18" } }, + "node_modules/tsc-alias": { + "version": "1.8.17", + "resolved": "https://registry.npmjs.org/tsc-alias/-/tsc-alias-1.8.17.tgz", + "integrity": "sha512-EIduCZHqbNwPm8BZYfq1aD7BQ697A4h6uSGMOFQfYGoQwfrYFTKwYfy9Bv42YxHkduVBcn9Zx0DkX111DKskyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.3", + "commander": "^9.0.0", + "get-tsconfig": "^4.10.0", + "globby": "^11.0.4", + "mylas": "^2.1.9", + "normalize-path": "^3.0.0", + "plimit-lit": "^1.2.6" + }, + "bin": { + "tsc-alias": "dist/bin/index.js" + }, + "engines": { + "node": ">=16.20.2" + } + }, + "node_modules/tsc-alias/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/tsc-alias/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", diff --git a/package.json b/package.json index bcb7ac9..6ce61ee 100644 --- a/package.json +++ b/package.json @@ -26,9 +26,10 @@ "@web/test-runner": "~0.20", "babel-plugin-template-html-minifier": "~4.1", "deepmerge": "~4.3", - "rollup": "~4.59", + "rollup": "~4.60", "rollup-plugin-esbuild": "~6.2", "rollup-plugin-workbox": "~8.1", + "tsc-alias": "~1.8", "tslib": "~2.8", "typescript": "~6.0" }, diff --git a/src/app-episodes/:id/routes.ts b/src/app-episodes/:id/routes.ts index f5d5bb6..d5050af 100644 --- a/src/app-episodes/:id/routes.ts +++ b/src/app-episodes/:id/routes.ts @@ -1,4 +1,4 @@ -import { route } from "../../core/route.js"; +import { route } from "@/core/route.js"; import { html } from "lit"; export const path = "/episodes" as const; diff --git a/src/app-episodes/routes.ts b/src/app-episodes/routes.ts index 9f98603..9709619 100644 --- a/src/app-episodes/routes.ts +++ b/src/app-episodes/routes.ts @@ -1,4 +1,4 @@ -import { route } from "../core/route.js"; +import { route } from "@/core/route.js"; import { routes as routeEpisode } from "./:id/routes.js"; import { html } from "lit"; diff --git a/tsconfig.json b/tsconfig.json index be10b23..57314a7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -32,7 +32,10 @@ "rootDir": "./", "incremental": true, "types": ["mocha"], - "lib": ["es2021", "dom", "DOM.Iterable"] + "lib": ["es2021", "dom", "DOM.Iterable"], + "paths": { + "@/*": ["./src/*"] + } }, "include": ["**/*.ts"] } diff --git a/web-dev-server.config.js b/web-dev-server.config.js index 398e55a..a7d520f 100644 --- a/web-dev-server.config.js +++ b/web-dev-server.config.js @@ -3,7 +3,7 @@ /** Use Hot Module replacement by adding --watch to the start command */ //const hmr = process.argv.includes("--watch"); const [ mode ] = process.argv.slice(2); -const target = mode === "src" // OR "dist" +const target = mode !== "dist" // OR "src" ? { rootDir: ".", appIndex: "./index.html",