From f42321f3a494270cb01103148997272f6179af05 Mon Sep 17 00:00:00 2001 From: "R. Tyler Croy" Date: Sat, 11 Aug 2018 09:35:51 -0700 Subject: [PATCH] Properly generate the worker.js and main.js outputs from our typescript --- .gitignore | 1 + index.html | 1 - package-lock.json | 78 +++++++++++++++++++++++++++++++++++-------- package.json | 3 +- src/service-worker.ts | 6 +--- tsconfig.json | 9 +++-- webpack.config.js | 20 +++++++---- 7 files changed, 90 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 893a0cc..a1d467e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ build/ node_modules/ dist/ +.awcache/ diff --git a/index.html b/index.html index 5c14a22..9ec147f 100644 --- a/index.html +++ b/index.html @@ -1,6 +1,5 @@ - How You Can Help Us diff --git a/package-lock.json b/package-lock.json index 2f611f1..77a335a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -607,6 +607,40 @@ "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", "dev": true }, + "awesome-typescript-loader": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-5.2.0.tgz", + "integrity": "sha512-3v5MEUgRz1n90u61UGYbhFxiFq1tK/HBdoY/ScBX1srOiZVo4iF9b6hyP2ZsRp1ewHKYwlEo0OaHUXJVQHv6dw==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "enhanced-resolve": "4.1.0", + "loader-utils": "1.1.0", + "lodash": "4.17.10", + "micromatch": "3.1.10", + "mkdirp": "0.5.1", + "source-map-support": "0.5.8", + "webpack-log": "1.2.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.8.tgz", + "integrity": "sha512-WqAEWPdb78u25RfKzOF0swBpY0dKrNdjc4GvLwm7ScX/o9bj8Eh/YL8mcMhBHYDGl87UkkSXDOFnW4G7GhWhGg==", + "dev": true, + "requires": { + "buffer-from": "1.1.1", + "source-map": "0.6.1" + } + } + } + }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -8041,6 +8075,37 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, + "source-map-loader": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.3.tgz", + "integrity": "sha512-MYbFX9DYxmTQFfy2v8FC1XZwpwHKYxg3SK8Wb7VPBKuhDjz8gi9re2819MsG4p49HDyiOSUKlmZ+nQBArW5CGw==", + "dev": true, + "requires": { + "async": "2.6.1", + "loader-utils": "0.2.17", + "source-map": "0.6.1" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "source-map-resolve": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", @@ -8610,19 +8675,6 @@ "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" }, - "ts-loader": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-4.4.2.tgz", - "integrity": "sha512-Z3Y1a7A0KZZ1s/mAZkt74l1NAF7Y5xUhD1V9VB8/1eUlUOk8Qa/oo46tO2Uu5kQ3wXypOlbv77lLQySjXEDcdw==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "enhanced-resolve": "4.1.0", - "loader-utils": "1.1.0", - "micromatch": "3.1.10", - "semver": "5.5.0" - } - }, "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", diff --git a/package.json b/package.json index c04ad9b..6993103 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,10 @@ "homepage": "https://github.com/rtyler/howyoucanhelp.us#readme", "devDependencies": { "@types/service_worker_api": "0.0.9", + "awesome-typescript-loader": "^5.2.0", "html-webpack-plugin": "^3.2.0", "jest": "^23.4.1", - "ts-loader": "^4.4.2", + "source-map-loader": "^0.2.3", "typescript": "^2.9.2", "webpack": "^4.16.0", "webpack-cli": "^3.0.8", diff --git a/src/service-worker.ts b/src/service-worker.ts index cadd8b6..01d9000 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -1,5 +1 @@ -import feathers from '@feathersjs/feathers'; - -const app = feathers(); -console.debug('Service Worker initialized'); - +console.debug('Service Worker has been initialized'); diff --git a/tsconfig.json b/tsconfig.json index 5a1201c..b22cb9c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,9 +2,14 @@ "compilerOptions": { "module" : "none", "outDir": "./dist/", + "skipLibCheck": true, "noImplicitAny": true, "module": "es6", "target": "es2015", - "allowJs": true - } + "allowJs": true, + "sourceMap": true + }, + "include": [ + "./src/**/*" + ] } diff --git a/webpack.config.js b/webpack.config.js index 2436118..6f9af3e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -6,25 +6,33 @@ module.exports = { main: './src/index.ts', worker: './src/service-worker.ts', }, + devtool: 'source-map', module: { rules: [ { test: /\.tsx?$/, - use: 'ts-loader', - exclude: /node_modules/ - } + loader: 'awesome-typescript-loader', + exclude: /node_modules/, + options: { + useCache: true, + } + }, + // All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'. + { enforce: "pre", test: /\.js$/, loader: "source-map-loader" }, ] }, plugins: [ new HtmlWebpackPlugin({ - template: "./index.html" + template: "./index.html", + excludeChunks: [ + 'worker', + ], }), ], resolve: { - extensions: [ '.tsx', '.ts', '.js' ] + extensions: ['.tsx', '.ts', '.js', '.jsx', '.json'] }, output: { - filename: '[name].js', path: path.resolve(__dirname, 'dist'), } };