diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index d147cec6..1582f313 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -50,10 +50,6 @@ jobs: - run: pnpm install - run: pnpm run build - run: pnpm run vscode:build-tpl - - name: rename vscode vsx - # working-directory 用于指定在哪个目录下执行命令 - working-directory: ./packages/vscode - run: pnpm run build:rename # https://github.com/HaaLeo/publish-vscode-extension - name: build vscode vsx diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index ae462007..275e4c2f 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -50,10 +50,6 @@ jobs: - run: pnpm install - run: pnpm run build - run: pnpm run vscode:build-tpl - - name: rename vscode vsx - # working-directory 用于指定在哪个目录下执行命令 - working-directory: ./packages/vscode - run: pnpm run build:rename # https://github.com/HaaLeo/publish-vscode-extension - name: build vscode vsx diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a72f9831..dd281a6e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -54,12 +54,6 @@ jobs: if: matrix.os == 'windows-latest' run: pnpm run vscode:build-tpl - - name: rename vscode vsx - if: matrix.os == 'windows-latest' - # working-directory 用于指定在哪个目录下执行命令 - working-directory: ./packages/vscode - run: pnpm run build:rename - # https://github.com/HaaLeo/publish-vscode-extension - name: build vscode vsx if: matrix.os == 'windows-latest' diff --git a/package.json b/package.json index 0f3536bd..aa78c363 100644 --- a/package.json +++ b/package.json @@ -77,6 +77,7 @@ "cross-env": "^7.0.3", "husky": "^8.0.0", "npm-run-all": "^4.1.5", + "tsup": "^8.1.2", "tsx": "^4.16.2", "unbuild": "^2.0.0" }, diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index 7659185b..44228ada 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -5,8 +5,6 @@ "lib": ["esnext", "DOM"], "moduleResolution": "node", "esModuleInterop": true, - "strict": true, - "strictNullChecks": true, "resolveJsonModule": true, "skipLibCheck": true } diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index ce31835e..57fddb24 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -5,8 +5,6 @@ "lib": ["esnext", "DOM"], "moduleResolution": "node", "esModuleInterop": true, - "strict": true, - "strictNullChecks": true, "resolveJsonModule": true, "skipLibCheck": true } diff --git a/packages/epub/tsconfig.json b/packages/epub/tsconfig.json index c426229b..3fb21793 100644 --- a/packages/epub/tsconfig.json +++ b/packages/epub/tsconfig.json @@ -6,8 +6,6 @@ "lib": ["esnext", "DOM"], "moduleResolution": "node", "esModuleInterop": true, - "strict": true, - "strictNullChecks": true, "resolveJsonModule": true, "skipLibCheck": true, "paths": {} diff --git a/packages/rule-utils/tsconfig.json b/packages/rule-utils/tsconfig.json index ce31835e..57fddb24 100644 --- a/packages/rule-utils/tsconfig.json +++ b/packages/rule-utils/tsconfig.json @@ -5,8 +5,6 @@ "lib": ["esnext", "DOM"], "moduleResolution": "node", "esModuleInterop": true, - "strict": true, - "strictNullChecks": true, "resolveJsonModule": true, "skipLibCheck": true } diff --git a/packages/server/tsconfig.json b/packages/server/tsconfig.json index affa020d..662ad9d0 100644 --- a/packages/server/tsconfig.json +++ b/packages/server/tsconfig.json @@ -6,8 +6,6 @@ "lib": ["esnext", "DOM"], "moduleResolution": "node", "esModuleInterop": true, - "strict": true, - "strictNullChecks": true, "resolveJsonModule": true, "skipLibCheck": true } diff --git a/packages/shared/tsconfig.json b/packages/shared/tsconfig.json index 7c1df36f..29e952b3 100644 --- a/packages/shared/tsconfig.json +++ b/packages/shared/tsconfig.json @@ -1,17 +1,11 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - // https://github.com/typeorm/typeorm - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "target": "es2018", "module": "esnext", "lib": ["esnext"], "moduleResolution": "node", "esModuleInterop": true, - "strict": true, - "strictNullChecks": true, "resolveJsonModule": true, "skipLibCheck": true } diff --git a/packages/utools/tsconfig.json b/packages/utools/tsconfig.json index affa020d..662ad9d0 100644 --- a/packages/utools/tsconfig.json +++ b/packages/utools/tsconfig.json @@ -6,8 +6,6 @@ "lib": ["esnext", "DOM"], "moduleResolution": "node", "esModuleInterop": true, - "strict": true, - "strictNullChecks": true, "resolveJsonModule": true, "skipLibCheck": true } diff --git a/packages/vscode/.vscode/launch.json b/packages/vscode/.vscode/launch.json index cafb514b..6ed0940f 100644 --- a/packages/vscode/.vscode/launch.json +++ b/packages/vscode/.vscode/launch.json @@ -9,26 +9,9 @@ "name": "Run Extension", "type": "extensionHost", "request": "launch", - "args": [ - "--disable-extensions", - "--extensionDevelopmentPath=${workspaceFolder}" - ], + "args": ["--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}"], "outFiles": ["${workspaceFolder}/dist/**/*.js"], - "preLaunchTask": "${defaultBuildTask}" - }, - { - "name": "Extension Tests", - "type": "extensionHost", - "request": "launch", - "args": [ - "--extensionDevelopmentPath=${workspaceFolder}", - "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" - ], - "outFiles": [ - "${workspaceFolder}/out/**/*.js", - "${workspaceFolder}/dist/**/*.js" - ], - "preLaunchTask": "tasks: watch-tests" + "preLaunchTask": "npm: dev" } ] } diff --git a/packages/vscode/.vscode/tasks.json b/packages/vscode/.vscode/tasks.json index bb452adf..b56d8996 100644 --- a/packages/vscode/.vscode/tasks.json +++ b/packages/vscode/.vscode/tasks.json @@ -5,33 +5,22 @@ "tasks": [ { "type": "npm", - "script": "watch", - "problemMatcher": ["$ts-webpack-watch", "$tslint-webpack-watch"], + "script": "dev", "isBackground": true, "presentation": { - "reveal": "never", - "group": "watchers" - }, - "group": { - "kind": "build", - "isDefault": true - } - }, - { - "type": "npm", - "script": "watch-tests", - "problemMatcher": "$tsc-watch", - "isBackground": true, - "presentation": { - "reveal": "never", - "group": "watchers" + "reveal": "never" }, + "problemMatcher": [ + { + "base": "$ts-webpack-watch", + "background": { + "activeOnStart": true, + "beginsPattern": "Build start", + "endsPattern": "Build success" + } + } + ], "group": "build" - }, - { - "label": "tasks: watch-tests", - "dependsOn": ["npm: watch", "npm: watch-tests"], - "problemMatcher": [] } ] } diff --git a/packages/vscode/.vscodeignore b/packages/vscode/.vscodeignore index c6136798..12440aa7 100644 --- a/packages/vscode/.vscodeignore +++ b/packages/vscode/.vscodeignore @@ -11,3 +11,4 @@ vsc-extension-quickstart.md **/.eslintrc.json **/*.map **/*.ts +**/*.cjs diff --git a/packages/vscode/package.json b/packages/vscode/package.json index 3e7a0824..e64366ca 100644 --- a/packages/vscode/package.json +++ b/packages/vscode/package.json @@ -35,18 +35,10 @@ ], "main": "./dist/extension.js", "scripts": { - "build:rename": "tsx ./scripts/publish.cjs", - "build:vsce": "vsce package --no-dependencies", - "build": "npm-run-all build:rename build:vsce", - "vscode:prepublish": "pnpm run package", - "compile": "webpack", - "watch": "webpack --watch", - "package": "webpack --mode production --devtool hidden-source-map", - "compile-tests": "tsc -p . --outDir out", - "watch-tests": "tsc -p . -w --outDir out", - "pretest": "pnpm run compile-tests && pnpm run compile && pnpm run lint", - "lint": "eslint src --ext ts", - "test": "node ./out/test/runTest.js" + "build": "tsup", + "dev": "tsx ./scripts/publish.cjs && tsup --watch src", + "vscode:prepublish": "tsx ./scripts/publish.cjs", + "pack": "vsce package --no-dependencies" }, "contributes": { "commands": [ diff --git a/packages/vscode/scripts/publish.cjs b/packages/vscode/scripts/publish.cjs index a7f0675d..d59b3598 100644 --- a/packages/vscode/scripts/publish.cjs +++ b/packages/vscode/scripts/publish.cjs @@ -1,8 +1,25 @@ const { dirname, join } = require('path'); const fs = require('fs-extra'); +const path = require('path'); const root = dirname(__dirname); +function parseVersion(version) { + const match = version.match(/^v?(\d{1,5})\.(\d{1,5})\.(\d{1,5})(?:-([0-9A-Za-z]+))?(?:\.([0-9A-Za-z-.]+))?$/); + if (!match) { + throw new Error('Unable to parse: ' + version); + } + var res = { + major: parseInt(match[1], 10), + minor: parseInt(match[2], 10), + patch: parseInt(match[3], 10), + pre: match[4] || '', + build: parseInt(match[5], 10) + }; + + return res; +} + async function publish() { const pkgPath = join(root, 'package.json'); const rawJSON = await fs.readFile(pkgPath, 'utf-8'); @@ -11,10 +28,13 @@ async function publish() { if (pkg.version.includes('-')) { // 非正式版 - const version = pkg.version.replace(/\-.*?$/, ''); - const patch = 10000 + version.split('.').pop(); - pkg.version = pkg.version.replace(/\.\d+\-.*?$/, '.' + patch); + const version = parseVersion(pkg.version); + pkg.version = pkg.version.replace(/\.\d+\-.*?$/, '.' + (10000 + version.build)); } + + // sql-wasm.wasm + fs.copyFileSync(path.resolve(root, '../../node_modules/sql.js/dist/sql-wasm.wasm'), path.join(root, 'dist', 'sql-wasm.wasm')); + pkg.devDependencies = {}; await fs.writeJSON(pkgPath, pkg, { spaces: 2 }); } diff --git a/packages/vscode/src/App.ts b/packages/vscode/src/App.ts index af04707a..c171fa4b 100644 --- a/packages/vscode/src/App.ts +++ b/packages/vscode/src/App.ts @@ -3,7 +3,7 @@ import { stringify } from 'qs'; import { ensureDirSync } from 'fs-extra'; import { openExplorer } from 'explorer-opener'; import { CONSTANTS } from '@any-reader/shared'; -import { COMMANDS, BOOK_SOURCE_PATH } from './constants'; +import { COMMANDS } from './constants'; import { webviewProvider } from './sidebar/webviewProvider'; import { WebView } from './webview'; import { getConfig } from './utils/config'; @@ -18,7 +18,6 @@ class App { // 注册命令 const registerCommand = vscode.commands.registerCommand; [ - registerCommand(COMMANDS.editBookSource, this.editBookSource, this), registerCommand(COMMANDS.searchBook, this.searchBook, this), registerCommand(COMMANDS.getChapter, this.getChapter, this), registerCommand(COMMANDS.discover, this.discover, this), @@ -34,13 +33,6 @@ class App { vscode.window.registerWebviewViewProvider('any-reader-webview', webviewProvider); } - // 书源编辑 - editBookSource() { - vscode.workspace.openTextDocument(vscode.Uri.file(BOOK_SOURCE_PATH)).then((doc) => { - vscode.window.showTextDocument(doc); - }); - } - // 搜索 async searchBook() { this.webView.navigateTo('/search'); diff --git a/packages/vscode/src/config.ts b/packages/vscode/src/config.ts deleted file mode 100644 index 4fa5d005..00000000 --- a/packages/vscode/src/config.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { workspace } from 'vscode'; - -export type ReadPageMode = 'Editor' | 'Sidebar'; - -function store() { - return workspace.getConfiguration('any-reader'); -} - -export class Config { - static get readPageMode(): ReadPageMode { - return store().get('read-page-mode') as ReadPageMode; - } - - set readPageMode(v: ReadPageMode) { - store().update('read-page-mode', v); - } -} diff --git a/packages/vscode/src/constants.ts b/packages/vscode/src/constants.ts index 828a825c..1287dea4 100644 --- a/packages/vscode/src/constants.ts +++ b/packages/vscode/src/constants.ts @@ -2,7 +2,6 @@ import * as os from 'os'; import * as path from 'path'; export enum COMMANDS { - editBookSource = 'any-reader.editBookSource', searchBook = 'any-reader.search', getChapter = 'any-reader.getChapter', discover = 'any-reader.discover', @@ -13,10 +12,4 @@ export enum COMMANDS { } export const ROOT_PATH = path.join(os.homedir(), '.any-reader'); - -// 规则路径 -export const BOOK_SOURCE_PATH = path.join(ROOT_PATH, 'book-source.json'); -// 历史记录路径 -export const HISTORY_PATH = path.join(ROOT_PATH, 'history.json'); -// 收藏配置路径 -export const FAVORITES_PATH = path.join(ROOT_PATH, 'favorites.json'); +export const CONFIG_PATH = path.join(ROOT_PATH, 'config.vscode.json'); diff --git a/packages/vscode/src/editorProvider/CustomEditorProvider.ts b/packages/vscode/src/editorProvider/CustomEditorProvider.ts index 532716ef..adaea4f8 100644 --- a/packages/vscode/src/editorProvider/CustomEditorProvider.ts +++ b/packages/vscode/src/editorProvider/CustomEditorProvider.ts @@ -25,8 +25,10 @@ export class CustomEditorProvider implements vscode.CustomReadonlyEditorProvider this.webviewPanel.webview.options = { enableScripts: true }; + // 绑定事件 useWebviewEvent(this.webviewPanel.webview, this._context.extensionPath); + // 打开模板 this.navigateTo( '/chapter?' + diff --git a/packages/vscode/src/sidebar/webviewProvider.ts b/packages/vscode/src/sidebar/webviewProvider.ts index 69809ae3..5aca501c 100644 --- a/packages/vscode/src/sidebar/webviewProvider.ts +++ b/packages/vscode/src/sidebar/webviewProvider.ts @@ -7,6 +7,7 @@ export class WebviewProvider implements vscode.WebviewViewProvider { private _webviewView!: vscode.WebviewView; private _extensionPath!: string; private _event!: WebviewEvent; + private route?: string; setExtensionPath(extensionPath: string) { this._extensionPath = extensionPath; @@ -17,8 +18,22 @@ export class WebviewProvider implements vscode.WebviewViewProvider { this.webview.options = { enableScripts: true }; + this.webview.html = getWebViewContent(path.join('template-dist', 'index.html'), this._extensionPath, this.webview); this._event = useWebviewEvent(this.webview, this._extensionPath); + + // 保存上下文 + this._event.pm.answer('post@vscode/saveRoute', async (data) => { + this.route = data.fullPath; + return true; + }); + + webviewView.onDidChangeVisibility(() => { + if (webviewView.visible && this.route) { + let injectScript = `window.__vscode$initialize_page = '${this.route}';`; + this.webview.html = getWebViewContent(path.join('template-dist', 'index.html'), this._extensionPath, this.webview, injectScript); + } + }); } get webviewView() { diff --git a/packages/vscode/src/utils/config.ts b/packages/vscode/src/utils/config.ts index 4e13b59f..b8fe8dcf 100644 --- a/packages/vscode/src/utils/config.ts +++ b/packages/vscode/src/utils/config.ts @@ -1,9 +1,7 @@ import * as os from 'node:os'; import * as path from 'node:path'; import * as fs from 'fs-extra'; - -export const ROOT_PATH = path.join(os.homedir(), '.any-reader'); -export const CONFIG_PATH = path.join(ROOT_PATH, 'config.vscode.json'); +import { CONFIG_PATH } from '../constants'; fs.ensureFileSync(CONFIG_PATH); diff --git a/packages/vscode/src/webview/WebviewEvent.ts b/packages/vscode/src/webview/WebviewEvent.ts index eaa46420..b8c80128 100644 --- a/packages/vscode/src/webview/WebviewEvent.ts +++ b/packages/vscode/src/webview/WebviewEvent.ts @@ -2,35 +2,28 @@ * webview 消息处理 */ -import * as os from 'node:os'; import * as path from 'node:path'; import * as vscode from 'vscode'; -import * as EasyPostMessage from 'easy-post-message'; +import EasyPostMessage from 'easy-post-message'; import { createApp } from '@any-reader/shared'; import { createAdapter } from '../utils/easyPostMessage'; -export const ROOT_PATH = path.join(os.homedir(), '.any-reader'); -export const CONFIG_PATH = path.join(ROOT_PATH, 'config.vscode.json'); +import { CONFIG_PATH } from '../constants'; export class WebviewEvent { - private _pm: any; + private _pm!: EasyPostMessage; get pm() { return this._pm; } constructor(webview: vscode.Webview, extensionPath: string) { - // @ts-ignore this._pm = new EasyPostMessage(createAdapter(webview)); - - // 消息通信, 为了以后兼容 XHR, 模板分离出独立可运行浏览器版本 - - // vsc this._pm.answer('post@vscode/executeCommand', this.executeCommand.bind(this)); - const sql = require('sql.js/dist/sql-wasm'); + createApp({ configPath: CONFIG_PATH, dataSourceOptions: { - driver: sql?.Module || sql, + driver: require('sql.js/dist/sql-wasm'), sqlJsConfig: { locateFile: (file: string) => { console.log('[locateFile]', path.join(extensionPath, 'dist', file)); diff --git a/packages/vscode/tsconfig.json b/packages/vscode/tsconfig.json index 019fa1f4..18ed4902 100644 --- a/packages/vscode/tsconfig.json +++ b/packages/vscode/tsconfig.json @@ -1,15 +1,10 @@ { + "extends": "../../tsconfig.json", "compilerOptions": { "forceConsistentCasingInFileNames": true, "module": "commonjs", - "target": "ES2018", - "lib": ["ES2020"], + "target": "ES2016", "sourceMap": true, - "rootDir": "src", - "strict": true /* enable all strict type-checking options */ - /* Additional Checks */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ + "strict": true } } diff --git a/packages/vscode/tsup.config.ts b/packages/vscode/tsup.config.ts new file mode 100644 index 00000000..2b58b0b0 --- /dev/null +++ b/packages/vscode/tsup.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from 'tsup'; + +export default defineConfig({ + entry: ['src/extension.ts'], + external: [ + 'vscode' + + // /original-fs/ + ], + format: 'cjs', + minify: true, + shims: true, + sourcemap: true +}); diff --git a/packages/vscode/webpack.config.js b/packages/vscode/webpack.config.js deleted file mode 100644 index 07b5dd84..00000000 --- a/packages/vscode/webpack.config.js +++ /dev/null @@ -1,87 +0,0 @@ -//@ts-check - -'use strict'; -const webpack = require('webpack'); -const FilterWarningsPlugin = require('webpack-filter-warnings-plugin'); -const path = require('path'); -const CopyPlugin = require('copy-webpack-plugin'); - -//@ts-check -/** @typedef {import('webpack').Configuration} WebpackConfig **/ - -/** @type WebpackConfig */ -const extensionConfig = { - target: 'node', // vscode extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/ - mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production') - - entry: './src/extension.ts', // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/ - output: { - // the bundle is stored in the 'dist' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/ - path: path.resolve(__dirname, 'dist'), - filename: 'extension.js', - libraryTarget: 'commonjs2' - }, - ignoreWarnings: [ - { module: /node_modules\/typeorm\/util\/ImportUtils\.js/ }, - { - module: /node_modules\/typeorm\/util\/DirectoryExportedClassesLoader\.js/ - }, - { module: /node_modules\/typeorm\/platform\/PlatformTools\.js/ }, - { - module: /node_modules\/typeorm\/connection\/ConnectionOptionsReader\.js/ - } - ], - externals: { - sqlite3: 'commonjs sqlite3', - vscode: 'commonjs vscode' // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/ - // modules added here also need to be added in the .vscodeignore file - }, - resolve: { - // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader - extensions: ['.ts', '.js', '.wasm'] - }, - experiments: { - asyncWebAssembly: true, - topLevelAwait: true - }, - module: { - noParse: /sql.js/, - rules: [{ test: /\.ts$/, exclude: /(node_modules|bin)/, use: ['ts-loader'] }] - }, - devtool: 'nosources-source-map', - plugins: [ - new CopyPlugin({ - patterns: [{ from: '../../node_modules/sql.js/dist/sql-wasm.wasm' }] - }), - - // @ts-ignore - new FilterWarningsPlugin({ - exclude: [ - /mongodb/, - /mssql/, - /mysql/, - /mysql2/, - /oracledb/, - /pg/, - /pg-native/, - /pg-query-stream/, - /react-native-sqlite-storage/, - /redis/, - /sqlite3/, - // /sql.js/, - /typeorm-aurora-data-api-driver/, - /hdb-pool/, - /spanner/, - /hana-client/, - - /original-fs/ - ] - }), - - new webpack.ContextReplacementPlugin(/keyv/) - ], - infrastructureLogging: { - level: 'log' // enables logging required for problem matchers - } -}; -module.exports = [extensionConfig]; diff --git a/packages/web/src/api/modules/vsc.ts b/packages/web/src/api/modules/vsc.ts index bbae94c3..16ee544c 100644 --- a/packages/web/src/api/modules/vsc.ts +++ b/packages/web/src/api/modules/vsc.ts @@ -11,3 +11,11 @@ export function executeCommand(data: any) { data }); } + +export function saveRoute(data: any) { + return request({ + method: 'post', + url: 'vscode/saveRoute', + data + }); +} diff --git a/packages/web/src/main.ts b/packages/web/src/main.ts index 57cdea22..6e98d231 100644 --- a/packages/web/src/main.ts +++ b/packages/web/src/main.ts @@ -10,7 +10,9 @@ import 'uno.css'; import './assets/main.scss'; // vscode ui import './plugins/vsc-ui'; +import { PLATFORM } from './constants'; import { addHistory } from '@/api'; +import { saveRoute } from '@/api/modules/vsc'; import { saveChapterHistory } from '@/api/modules/chapter-history'; import { createPinia } from 'pinia'; @@ -41,4 +43,8 @@ router.beforeEach((to, _from, next) => { } }); +router.afterEach((to) => { + if (PLATFORM === 'vscode') saveRoute({ fullPath: to.fullPath }); +}); + app.mount('#app'); diff --git a/packages/web/src/pages/vscode/rules/index.vsc.vue b/packages/web/src/pages/vscode/rules/index.vsc.vue index 261b0b39..cdb2699d 100644 --- a/packages/web/src/pages/vscode/rules/index.vsc.vue +++ b/packages/web/src/pages/vscode/rules/index.vsc.vue @@ -31,11 +31,11 @@
-
编辑
+
编辑规则
- +
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d816d7cc..8f97005d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -40,6 +40,9 @@ importers: npm-run-all: specifier: ^4.1.5 version: 4.1.5 + tsup: + specifier: ^8.1.2 + version: 8.1.2(jiti@1.21.6)(postcss@8.4.39)(tsx@4.16.2)(typescript@5.3.3)(yaml@2.4.5) tsx: specifier: ^4.16.2 version: 4.16.2 @@ -392,7 +395,7 @@ importers: version: 9.1.1 '@types/node': specifier: 16.x - version: 16.18.102 + version: 16.18.103 '@types/vscode': specifier: ^1.68.0 version: 1.91.0 @@ -407,7 +410,7 @@ importers: version: 2.4.1 copy-webpack-plugin: specifier: ^12.0.2 - version: 12.0.2(webpack@5.93.0(webpack-cli@4.10.0)) + version: 12.0.2(webpack@5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0)) easy-post-message: specifier: ^0.1.0 version: 0.1.0 @@ -446,7 +449,7 @@ importers: version: 1.10.3 ts-loader: specifier: ^9.3.1 - version: 9.5.1(typescript@4.9.5)(webpack@5.93.0(webpack-cli@4.10.0)) + version: 9.5.1(typescript@4.9.5)(webpack@5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0)) typescript: specifier: ^4.7.4 version: 4.9.5 @@ -455,13 +458,13 @@ importers: version: 9.0.1 webpack: specifier: ^5.73.0 - version: 5.93.0(webpack-cli@4.10.0) + version: 5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0) webpack-cli: specifier: ^4.10.0 version: 4.10.0(webpack@5.93.0) webpack-filter-warnings-plugin: specifier: ^1.2.1 - version: 1.2.1(webpack@5.93.0(webpack-cli@4.10.0)) + version: 1.2.1(webpack@5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0)) packages/web: dependencies: @@ -2069,8 +2072,8 @@ packages: '@types/node@10.17.60': resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} - '@types/node@16.18.102': - resolution: {integrity: sha512-eSe2YwGCcRjqPidxfm20IAq02krERWcIIJW4FNPkU0zQLbc4L9pvhsmB0p6UJecjEf0j/E2ERHsKq7madvthKw==} + '@types/node@16.18.103': + resolution: {integrity: sha512-gOAcUSik1nR/CRC3BsK8kr6tbmNIOTpvb1sT+v5Nmmys+Ho8YtnIHP90wEsVK4hTcHndOqPVIlehEGEA5y31bA==} '@types/node@18.19.40': resolution: {integrity: sha512-MIxieZHrm4Ee8XArBIc+Or9HINt2StOmCbgRcXGSJl8q14svRvkZPe7LJq9HKtTI1SK3wU8b91TjntUm7T69Pg==} @@ -2972,6 +2975,12 @@ packages: peerDependencies: esbuild: '>=0.17' + bundle-require@5.0.0: + resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} @@ -3196,6 +3205,10 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + commander@5.1.0: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} engines: {node: '>= 6'} @@ -5075,6 +5088,9 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + lodash.union@4.6.0: resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} @@ -5808,6 +5824,24 @@ packages: peerDependencies: postcss: ^8.4.31 + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + postcss-merge-longhand@7.0.2: resolution: {integrity: sha512-06vrW6ZWi9qeP7KMS9fsa9QW56+tIMW55KYqF7X3Ccn+NI2pIgPV6gFfvXTMQ05H90Y5DvnCDPZ2IuHa30PMUg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -6436,6 +6470,10 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -6587,6 +6625,11 @@ packages: stylis@4.3.2: resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==} + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + sumchecker@3.0.1: resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} engines: {node: '>= 8.0'} @@ -6735,6 +6778,13 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + truncate-utf8-bytes@1.0.2: resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} @@ -6744,6 +6794,9 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-jest@29.2.2: resolution: {integrity: sha512-sSW7OooaKT34AAngP6k1VS669a0HdLxkQZnlC7T76sckGCokXFnvJ3yRlQZGRTAoV5K19HfSgCiSwWOSIfcYlg==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} @@ -6785,6 +6838,25 @@ packages: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} + tsup@8.1.2: + resolution: {integrity: sha512-Gzw/PXSX/z0aYMNmkcI54bKKFVFJQbLne+EqTJZeQ3lNT3QpumjtMU4rl+ZwTTp8oRF3ahMbEAxT2sZPJLFSrg==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -7197,6 +7269,9 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + webpack-cli@4.10.0: resolution: {integrity: sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==} engines: {node: '>=10.13.0'} @@ -7247,6 +7322,9 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -8263,7 +8341,7 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 18.19.40 + '@types/node': 20.14.11 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -8276,14 +8354,14 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.40 + '@types/node': 20.14.11 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.19.40) + jest-config: 29.7.0(@types/node@20.14.11) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -8308,7 +8386,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.40 + '@types/node': 20.14.11 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -8326,7 +8404,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 18.19.40 + '@types/node': 20.14.11 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -8348,7 +8426,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 18.19.40 + '@types/node': 20.14.11 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -8418,7 +8496,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.40 + '@types/node': 20.14.11 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -8814,7 +8892,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 16.18.102 + '@types/node': 16.18.103 '@types/fs-extra@9.0.13': dependencies: @@ -8823,11 +8901,11 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 16.18.102 + '@types/node': 16.18.103 '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 18.19.40 + '@types/node': 20.14.11 '@types/hast@3.0.4': dependencies: @@ -8864,7 +8942,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 16.18.102 + '@types/node': 16.18.103 '@types/keygrip@1.0.6': {} @@ -8942,7 +9020,7 @@ snapshots: '@types/node@10.17.60': {} - '@types/node@16.18.102': {} + '@types/node@16.18.103': {} '@types/node@18.19.40': dependencies: @@ -9679,9 +9757,9 @@ snapshots: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0(webpack@5.93.0))(webpack@5.93.0(webpack-cli@4.10.0))': + '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0(webpack@5.93.0))(webpack@5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0))': dependencies: - webpack: 5.93.0(webpack-cli@4.10.0) + webpack: 5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0) webpack-cli: 4.10.0(webpack@5.93.0) '@webpack-cli/info@1.5.0(webpack-cli@4.10.0(webpack@5.93.0))': @@ -10204,6 +10282,11 @@ snapshots: esbuild: 0.23.0 load-tsconfig: 0.2.5 + bundle-require@5.0.0(esbuild@0.23.0): + dependencies: + esbuild: 0.23.0 + load-tsconfig: 0.2.5 + bytes@3.1.2: {} c12@1.11.1: @@ -10488,6 +10571,8 @@ snapshots: commander@2.20.3: {} + commander@4.1.1: {} + commander@5.1.0: {} commander@7.2.0: {} @@ -10548,7 +10633,7 @@ snapshots: copy-to@2.0.1: {} - copy-webpack-plugin@12.0.2(webpack@5.93.0(webpack-cli@4.10.0)): + copy-webpack-plugin@12.0.2(webpack@5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0)): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -10556,7 +10641,7 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.93.0(webpack-cli@4.10.0) + webpack: 5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0) core-js@3.37.1: {} @@ -12316,7 +12401,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.40 + '@types/node': 20.14.11 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -12385,6 +12470,36 @@ snapshots: - babel-plugin-macros - supports-color + jest-config@29.7.0(@types/node@20.14.11): + dependencies: + '@babel/core': 7.24.9 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.9) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.7 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.14.11 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + jest-diff@29.7.0: dependencies: chalk: 4.1.2 @@ -12409,7 +12524,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.40 + '@types/node': 20.14.11 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -12419,7 +12534,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 18.19.40 + '@types/node': 20.14.11 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -12458,7 +12573,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 18.19.40 + '@types/node': 20.14.11 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -12493,7 +12608,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.40 + '@types/node': 20.14.11 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -12521,7 +12636,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.40 + '@types/node': 20.14.11 chalk: 4.1.2 cjs-module-lexer: 1.3.1 collect-v8-coverage: 1.0.2 @@ -12567,7 +12682,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 18.19.40 + '@types/node': 20.14.11 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -12586,7 +12701,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.40 + '@types/node': 20.14.11 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -12595,13 +12710,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 16.18.102 + '@types/node': 16.18.103 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 18.19.40 + '@types/node': 20.14.11 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -12843,6 +12958,8 @@ snapshots: lodash.merge@4.6.2: {} + lodash.sortby@4.7.0: {} + lodash.union@4.6.0: {} lodash.uniq@4.5.0: {} @@ -13633,6 +13750,15 @@ snapshots: dependencies: postcss: 8.4.39 + postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.39)(tsx@4.16.2)(yaml@2.4.5): + dependencies: + lilconfig: 3.1.2 + optionalDependencies: + jiti: 1.21.6 + postcss: 8.4.39 + tsx: 4.16.2 + yaml: 2.4.5 + postcss-merge-longhand@7.0.2(postcss@8.4.39): dependencies: postcss: 8.4.39 @@ -14296,6 +14422,10 @@ snapshots: source-map@0.7.4: {} + source-map@0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 @@ -14458,6 +14588,16 @@ snapshots: stylis@4.3.2: {} + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + sumchecker@3.0.1: dependencies: debug: 4.3.5(supports-color@8.1.1) @@ -14547,25 +14687,27 @@ snapshots: async-exit-hook: 2.0.1 fs-extra: 10.1.0 - terser-webpack-plugin@5.3.10(esbuild@0.23.0)(webpack@5.93.0(esbuild@0.23.0)): + terser-webpack-plugin@5.3.10(esbuild@0.23.0)(webpack@5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.3 - webpack: 5.93.0(esbuild@0.23.0) + webpack: 5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0) optionalDependencies: esbuild: 0.23.0 - terser-webpack-plugin@5.3.10(webpack@5.93.0(webpack-cli@4.10.0)): + terser-webpack-plugin@5.3.10(esbuild@0.23.0)(webpack@5.93.0(esbuild@0.23.0)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.3 - webpack: 5.93.0(webpack-cli@4.10.0) + webpack: 5.93.0(esbuild@0.23.0) + optionalDependencies: + esbuild: 0.23.0 terser@5.31.3: dependencies: @@ -14620,6 +14762,12 @@ snapshots: tr46@0.0.3: {} + tr46@1.0.1: + dependencies: + punycode: 2.3.1 + + tree-kill@1.2.2: {} + truncate-utf8-bytes@1.0.2: dependencies: utf8-byte-length: 1.0.5 @@ -14628,6 +14776,8 @@ snapshots: dependencies: typescript: 5.3.3 + ts-interface-checker@0.1.13: {} + ts-jest@29.2.2(@babel/core@7.24.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.9))(esbuild@0.23.0)(jest@29.7.0(@types/node@18.19.40))(typescript@5.3.3): dependencies: bs-logger: 0.2.6 @@ -14648,7 +14798,7 @@ snapshots: babel-jest: 29.7.0(@babel/core@7.24.9) esbuild: 0.23.0 - ts-loader@9.5.1(typescript@4.9.5)(webpack@5.93.0(webpack-cli@4.10.0)): + ts-loader@9.5.1(typescript@4.9.5)(webpack@5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.17.0 @@ -14656,7 +14806,7 @@ snapshots: semver: 7.6.3 source-map: 0.7.4 typescript: 4.9.5 - webpack: 5.93.0(webpack-cli@4.10.0) + webpack: 5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0) tslib@1.14.1: {} @@ -14664,6 +14814,32 @@ snapshots: tsscmp@1.0.6: {} + tsup@8.1.2(jiti@1.21.6)(postcss@8.4.39)(tsx@4.16.2)(typescript@5.3.3)(yaml@2.4.5): + dependencies: + bundle-require: 5.0.0(esbuild@0.23.0) + cac: 6.7.14 + chokidar: 3.6.0 + consola: 3.2.3 + debug: 4.3.5(supports-color@8.1.1) + esbuild: 0.23.0 + execa: 5.1.1 + globby: 11.1.0 + joycon: 3.1.1 + postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.39)(tsx@4.16.2)(yaml@2.4.5) + resolve-from: 5.0.0 + rollup: 4.18.1 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tree-kill: 1.2.2 + optionalDependencies: + postcss: 8.4.39 + typescript: 5.3.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + tsutils@3.21.0(typescript@4.9.5): dependencies: tslib: 1.14.1 @@ -15149,10 +15325,12 @@ snapshots: webidl-conversions@3.0.1: {} + webidl-conversions@4.0.2: {} + webpack-cli@4.10.0(webpack@5.93.0): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0(webpack@5.93.0))(webpack@5.93.0(webpack-cli@4.10.0)) + '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0(webpack@5.93.0))(webpack@5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0)) '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0(webpack@5.93.0)) '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0(webpack@5.93.0)) colorette: 2.0.20 @@ -15162,12 +15340,12 @@ snapshots: import-local: 3.1.0 interpret: 2.2.0 rechoir: 0.7.1 - webpack: 5.93.0(webpack-cli@4.10.0) + webpack: 5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0) webpack-merge: 5.10.0 - webpack-filter-warnings-plugin@1.2.1(webpack@5.93.0(webpack-cli@4.10.0)): + webpack-filter-warnings-plugin@1.2.1(webpack@5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0)): dependencies: - webpack: 5.93.0(webpack-cli@4.10.0) + webpack: 5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0) webpack-merge@5.10.0: dependencies: @@ -15210,7 +15388,7 @@ snapshots: - esbuild - uglify-js - webpack@5.93.0(webpack-cli@4.10.0): + webpack@5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -15233,7 +15411,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.93.0(webpack-cli@4.10.0)) + terser-webpack-plugin: 5.3.10(esbuild@0.23.0)(webpack@5.93.0(esbuild@0.23.0)(webpack-cli@4.10.0)) watchpack: 2.4.1 webpack-sources: 3.2.3 optionalDependencies: @@ -15248,6 +15426,12 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 + whatwg-url@7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 diff --git a/tsconfig.json b/tsconfig.json index 3f73c303..923d1e2d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,14 +1,17 @@ { "compilerOptions": { - // https://github.com/typeorm/typeorm "emitDecoratorMetadata": true, "experimentalDecorators": true, - + "strict": true, + "strictNullChecks": true, + "lib": ["esnext"], "paths": { // "@any-reader/rule-utils": ["./packages/rule-utils/src/index.ts"], // "@any-reader/core": ["./packages/core/src/index.ts"], // "@any-reader/epub": ["./packages/epub/src/index.ts"], // "@any-reader/shared": ["./packages/shared/src/index.ts"] } - } + }, + + "exclude": ["**/dist/**", "**/node_modules/**"] }