From b0c6cfe1d353eca1eaa845dc70cd185d82ffb7b1 Mon Sep 17 00:00:00 2001 From: relrelb Date: Wed, 21 Apr 2021 23:38:23 +0300 Subject: [PATCH] extension: Initial TypeScript migration --- web/packages/extension/package.json | 5 +++++ .../src/{background.js => background.ts} | 0 .../extension/src/{common.js => common.ts} | 0 .../extension/src/{content.js => content.ts} | 0 .../extension/src/{options.js => options.ts} | 0 .../extension/src/{player.js => player.ts} | 0 .../extension/src/{popup.js => popup.ts} | 0 .../extension/src/{ruffle.js => ruffle.ts} | 0 .../extension/src/{utils.js => utils.ts} | 0 web/packages/extension/tsconfig.json | 12 ++++++++++++ web/packages/extension/webpack.config.js | 19 +++++++++++++------ 11 files changed, 30 insertions(+), 6 deletions(-) rename web/packages/extension/src/{background.js => background.ts} (100%) rename web/packages/extension/src/{common.js => common.ts} (100%) rename web/packages/extension/src/{content.js => content.ts} (100%) rename web/packages/extension/src/{options.js => options.ts} (100%) rename web/packages/extension/src/{player.js => player.ts} (100%) rename web/packages/extension/src/{popup.js => popup.ts} (100%) rename web/packages/extension/src/{ruffle.js => ruffle.ts} (100%) rename web/packages/extension/src/{utils.js => utils.ts} (100%) create mode 100644 web/packages/extension/tsconfig.json diff --git a/web/packages/extension/package.json b/web/packages/extension/package.json index b26cc0a8b..a72e6f995 100644 --- a/web/packages/extension/package.json +++ b/web/packages/extension/package.json @@ -13,10 +13,15 @@ "ruffle-core": "^0.1.0" }, "devDependencies": { + "@tsconfig/recommended": "^1.0.1", + "@types/chrome": "^0.0.135", + "@types/firefox-webext-browser": "^82.0.0", "archiver": "^5.2.0", "json5": "^2.2.0", "sign-addon": "^3.3.0", "temp-dir": "^2.0.0", + "ts-loader": "^9.0.2", + "typescript": "^4.2.4", "webpack-cli": "^4.0.0" } } diff --git a/web/packages/extension/src/background.js b/web/packages/extension/src/background.ts similarity index 100% rename from web/packages/extension/src/background.js rename to web/packages/extension/src/background.ts diff --git a/web/packages/extension/src/common.js b/web/packages/extension/src/common.ts similarity index 100% rename from web/packages/extension/src/common.js rename to web/packages/extension/src/common.ts diff --git a/web/packages/extension/src/content.js b/web/packages/extension/src/content.ts similarity index 100% rename from web/packages/extension/src/content.js rename to web/packages/extension/src/content.ts diff --git a/web/packages/extension/src/options.js b/web/packages/extension/src/options.ts similarity index 100% rename from web/packages/extension/src/options.js rename to web/packages/extension/src/options.ts diff --git a/web/packages/extension/src/player.js b/web/packages/extension/src/player.ts similarity index 100% rename from web/packages/extension/src/player.js rename to web/packages/extension/src/player.ts diff --git a/web/packages/extension/src/popup.js b/web/packages/extension/src/popup.ts similarity index 100% rename from web/packages/extension/src/popup.js rename to web/packages/extension/src/popup.ts diff --git a/web/packages/extension/src/ruffle.js b/web/packages/extension/src/ruffle.ts similarity index 100% rename from web/packages/extension/src/ruffle.js rename to web/packages/extension/src/ruffle.ts diff --git a/web/packages/extension/src/utils.js b/web/packages/extension/src/utils.ts similarity index 100% rename from web/packages/extension/src/utils.js rename to web/packages/extension/src/utils.ts diff --git a/web/packages/extension/tsconfig.json b/web/packages/extension/tsconfig.json new file mode 100644 index 000000000..8cbe06472 --- /dev/null +++ b/web/packages/extension/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "@tsconfig/recommended/tsconfig.json", + + "compilerOptions": { + "target": "es6", + "module": "esnext", + "moduleResolution": "node", + }, + + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/web/packages/extension/webpack.config.js b/web/packages/extension/webpack.config.js index 3f23fa2c4..83312cd75 100644 --- a/web/packages/extension/webpack.config.js +++ b/web/packages/extension/webpack.config.js @@ -48,12 +48,12 @@ module.exports = (env, argv) => { return { mode, entry: { - popup: "./src/popup.js", - options: "./src/options.js", - content: "./src/content.js", - ruffle: "./src/ruffle.js", - background: "./src/background.js", - player: "./src/player.js", + popup: "./src/popup.ts", + options: "./src/options.ts", + content: "./src/content.ts", + ruffle: "./src/ruffle.ts", + background: "./src/background.ts", + player: "./src/player.ts", }, output: { path: path.resolve(__dirname, "assets/dist/"), @@ -62,12 +62,19 @@ module.exports = (env, argv) => { }, module: { rules: [ + { + test: /\.ts$/i, + use: "ts-loader", + }, { test: /\.wasm$/i, type: "asset/resource", }, ], }, + resolve: { + extensions: [".ts", "..."], + }, plugins: [ new CopyPlugin({ patterns: [