Skip to content

Commit 3a9b5ee

Browse files
committed
Update deployment karma configs to use pre-compiled test files
Changed approach to preserve ES module imports in asyncImportHelper: - asyncImportHelper.ts files contain no type annotations, just ES imports - Simply copy them to .js during compile-tests (no transpilation needed) - Removed rollup preprocessing from karma configs - Karma now loads pre-compiled asyncImportHelper.js files directly This preserves the native ES module import syntax which allows the browser to correctly resolve and load the jspdf.es.js module.
1 parent 0340d15 commit 3a9b5ee

File tree

3 files changed

+5
-39
lines changed

3 files changed

+5
-39
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
"lint": "prettier --check \"*.{js,ts,md,css,json}\" \"{spec,examples,src,types}/**/*.{js,ts,md,css,json}\"",
118118
"pregenerate-docs": "node deletedocs.ts",
119119
"generate-docs": "jsdoc -c jsdoc.json --readme README.md",
120-
"compile-tests": "babel test --out-dir test/compiled --config-file ./.babelrc.test.json --extensions .ts,.js --ignore \"**/*.conf.js\",\"**/karma.common.conf.js\",\"**/jasmine.json\",\"**/asyncImportHelper.*\",\"test/compiled/**\",\"**/reference/**\" && find test/compiled -name \"asyncImportHelper.js\" -delete"
120+
"compile-tests": "babel test --out-dir test/compiled --config-file ./.babelrc.test.json --extensions .ts,.js --ignore \"**/*.conf.js\",\"**/karma.common.conf.js\",\"**/jasmine.json\",\"**/asyncImportHelper.*\",\"test/compiled/**\",\"**/reference/**\" && cp test/unit/asyncImportHelper.ts test/compiled/unit/asyncImportHelper.js && cp test/deployment/esm/asyncImportHelper.ts test/compiled/deployment/esm/asyncImportHelper.js"
121121
},
122122
"browserslist": [
123123
"last 2 versions"

test/deployment/esm/karma.conf.js

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
const karmaConfig = require("../../karma.common.conf.js");
2-
const { babel } = require("@rollup/plugin-babel");
32

43
module.exports = config => {
54
config.set({
@@ -19,7 +18,7 @@ module.exports = config => {
1918
"test/compiled/deployment/esm/loadGlobals.js",
2019

2120
{
22-
pattern: "test/deployment/esm/asyncImportHelper.ts",
21+
pattern: "test/compiled/deployment/esm/asyncImportHelper.js",
2322
included: true,
2423
watched: true,
2524
type: "module"
@@ -47,23 +46,7 @@ module.exports = config => {
4746
],
4847

4948
preprocessors: {
50-
...karmaConfig.preprocessors,
51-
"test/deployment/esm/asyncImportHelper.ts": ["rollup"]
52-
},
53-
54-
rollupPreprocessor: {
55-
plugins: [
56-
babel({
57-
babelHelpers: "bundled",
58-
extensions: [".ts", ".js"],
59-
presets: ["@babel/preset-typescript"]
60-
})
61-
],
62-
external: (id) => id.includes('dist/jspdf.es.js'),
63-
output: {
64-
format: "esm",
65-
sourcemap: "inline"
66-
}
49+
...karmaConfig.preprocessors
6750
},
6851

6952
browsers: ["Chrome", "Firefox"]

test/unit/karma.conf.js

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// Karma configuration
22
"use strict";
33
const karmaConfig = require("../karma.common.conf.js");
4-
const { babel } = require("@rollup/plugin-babel");
54

65
module.exports = config => {
76
config.set({
@@ -12,7 +11,7 @@ module.exports = config => {
1211
"node_modules/regenerator-runtime/runtime.js",
1312
"test/compiled/unit/loadGlobals.js",
1413
{
15-
pattern: "test/unit/asyncImportHelper.ts",
14+
pattern: "test/compiled/unit/asyncImportHelper.js",
1615
included: true,
1716
watched: true,
1817
type: "module"
@@ -33,23 +32,7 @@ module.exports = config => {
3332
],
3433

3534
preprocessors: {
36-
...karmaConfig.preprocessors,
37-
"test/unit/asyncImportHelper.ts": ["rollup"]
38-
},
39-
40-
rollupPreprocessor: {
41-
plugins: [
42-
babel({
43-
babelHelpers: "bundled",
44-
extensions: [".ts", ".js"],
45-
presets: ["@babel/preset-typescript"]
46-
})
47-
],
48-
external: (id) => id.includes('dist/jspdf.es.js'),
49-
output: {
50-
format: "esm",
51-
sourcemap: "inline"
52-
}
35+
...karmaConfig.preprocessors
5336
},
5437

5538
browsers: ["ChromeHeadless"],

0 commit comments

Comments
 (0)