upgrade rollup; bundle TS directly
This also resolves a problem where symbols weren't exported correctly for the Android wallet-core bundle
This commit is contained in:
parent
50550da3c2
commit
9f5e61057e
@ -22,6 +22,7 @@ module.exports = {
|
||||
"@typescript-eslint/camelcase": "off",
|
||||
"@typescript-eslint/ban-ts-ignore": "off",
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"@typescript-eslint/ban-ts-comment": "off",
|
||||
"@typescript-eslint/no-unused-vars": ["warn", { args: "none" }],
|
||||
"@typescript-eslint/explicit-function-return-type": [
|
||||
"warn",
|
||||
|
2
Makefile
2
Makefile
@ -82,7 +82,7 @@ install: tsc
|
||||
endif
|
||||
|
||||
.PHONY: rollup
|
||||
rollup: tsc
|
||||
rollup: yarn-install
|
||||
./node_modules/.bin/rollup -c
|
||||
|
||||
.PHONY: lint
|
||||
|
37
package.json
37
package.json
@ -5,7 +5,6 @@
|
||||
"engines": {
|
||||
"node": ">=0.12.0"
|
||||
},
|
||||
"main": "dist/node/index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://git.taler.net/wallet-core.git"
|
||||
@ -31,41 +30,43 @@
|
||||
],
|
||||
"devDependencies": {
|
||||
"@ava/typescript": "^1.1.1",
|
||||
"@rollup/plugin-json": "^4.0.2",
|
||||
"@rollup/plugin-replace": "^2.3.1",
|
||||
"@rollup/plugin-commonjs": "^14.0.0",
|
||||
"@rollup/plugin-json": "^4.1.0",
|
||||
"@rollup/plugin-node-resolve": "^8.4.0",
|
||||
"@rollup/plugin-replace": "^2.3.3",
|
||||
"@rollup/plugin-typescript": "^5.0.2",
|
||||
"@types/chrome": "^0.0.103",
|
||||
"@types/enzyme": "^3.10.5",
|
||||
"@types/enzyme-adapter-react-16": "^1.0.6",
|
||||
"@types/node": "^14.0.23",
|
||||
"@types/react": "^16.9.6",
|
||||
"@types/react-dom": "^16.9.6",
|
||||
"@typescript-eslint/eslint-plugin": "^2.27.0",
|
||||
"@typescript-eslint/parser": "^2.27.0",
|
||||
"ava": "^3.8.2",
|
||||
"@typescript-eslint/eslint-plugin": "^3.6.1",
|
||||
"@typescript-eslint/parser": "^3.6.1",
|
||||
"ava": "^3.10.1",
|
||||
"enzyme": "^3.11.0",
|
||||
"enzyme-adapter-react-16": "^1.15.2",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-config-airbnb-typescript": "^8.0.0",
|
||||
"eslint-plugin-import": "^2.20.2",
|
||||
"eslint-plugin-jsx-a11y": "^6.2.3",
|
||||
"eslint-plugin-react": "^7.20.0",
|
||||
"eslint-plugin-react-hooks": "^4.0.4",
|
||||
"eslint": "^7.4.0",
|
||||
"eslint-config-airbnb-typescript": "^8.0.2",
|
||||
"eslint-plugin-import": "^2.22.0",
|
||||
"eslint-plugin-jsx-a11y": "^6.3.1",
|
||||
"eslint-plugin-react": "^7.20.3",
|
||||
"eslint-plugin-react-hooks": "^4.0.8",
|
||||
"jed": "^1.1.1",
|
||||
"moment": "^2.26.0",
|
||||
"moment": "^2.27.0",
|
||||
"nyc": "^15.1.0",
|
||||
"po2json": "^0.4.5",
|
||||
"pogen": "^0.0.5",
|
||||
"prettier": "^2.0.5",
|
||||
"react": "^16.13.1",
|
||||
"react-dom": "^16.13.1",
|
||||
"rollup": "^2.12.1",
|
||||
"rollup-plugin-commonjs": "^10.1.0",
|
||||
"rollup-plugin-node-resolve": "^5.2.0",
|
||||
"rollup": "^2.21.0",
|
||||
"rollup-plugin-sourcemaps": "^0.6.2",
|
||||
"rollup-plugin-terser": "^6.1.0",
|
||||
"source-map-resolve": "^0.6.0",
|
||||
"structured-clone": "^0.2.2",
|
||||
"typedoc": "^0.17.7",
|
||||
"typescript": "^3.9.3"
|
||||
"typedoc": "^0.17.8",
|
||||
"typescript": "^3.9.7"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^0.19.2",
|
||||
|
@ -1,13 +1,38 @@
|
||||
// rollup.config.js
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import nodeResolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "@rollup/plugin-commonjs";
|
||||
import nodeResolve from "@rollup/plugin-node-resolve";
|
||||
import json from "@rollup/plugin-json";
|
||||
import replace from "@rollup/plugin-replace";
|
||||
import builtins from "builtin-modules";
|
||||
import { terser } from "rollup-plugin-terser";
|
||||
import typescript from "@rollup/plugin-typescript";
|
||||
|
||||
// Base settings to use
|
||||
const baseTypescriptCompilerSettings = {
|
||||
target: "ES6",
|
||||
jsx: "react",
|
||||
reactNamespace: "React",
|
||||
moduleResolution: "node",
|
||||
sourceMap: true,
|
||||
lib: ["es6", "dom"],
|
||||
noImplicitReturns: true,
|
||||
noFallthroughCasesInSwitch: true,
|
||||
strict: true,
|
||||
strictPropertyInitialization: false,
|
||||
noImplicitAny: true,
|
||||
noImplicitThis: true,
|
||||
allowJs: true,
|
||||
checkJs: true,
|
||||
incremental: false,
|
||||
esModuleInterop: true,
|
||||
importHelpers: true,
|
||||
module: "ESNext",
|
||||
include: ["src/**/*.+(ts|tsx)"],
|
||||
rootDir: "./src",
|
||||
};
|
||||
|
||||
const walletCli = {
|
||||
input: "dist/node/headless/taler-wallet-cli.js",
|
||||
input: "src/headless/taler-wallet-cli.ts",
|
||||
output: {
|
||||
file: "dist/standalone/taler-wallet-cli.js",
|
||||
format: "cjs",
|
||||
@ -25,13 +50,21 @@ const walletCli = {
|
||||
sourceMap: false,
|
||||
ignore: ["taler-wallet"],
|
||||
}),
|
||||
|
||||
json(),
|
||||
|
||||
typescript({
|
||||
tsconfig: false,
|
||||
...baseTypescriptCompilerSettings,
|
||||
sourceMap: false,
|
||||
}),
|
||||
],
|
||||
};
|
||||
|
||||
const walletAndroid = {
|
||||
input: "dist/node/android/index.js",
|
||||
input: "src/android/index.ts",
|
||||
output: {
|
||||
//dir: "dist/standalone",
|
||||
file: "dist/standalone/taler-wallet-android.js",
|
||||
format: "cjs",
|
||||
exports: "named",
|
||||
@ -45,21 +78,26 @@ const walletAndroid = {
|
||||
}),
|
||||
|
||||
commonjs({
|
||||
include: ["node_modules/**", "dist/node/**"],
|
||||
include: ["node_modules/**"],
|
||||
extensions: [".js"],
|
||||
ignoreGlobal: false, // Default: false
|
||||
sourceMap: false,
|
||||
ignore: ["taler-wallet"],
|
||||
}),
|
||||
|
||||
typescript({
|
||||
tsconfig: false,
|
||||
...baseTypescriptCompilerSettings,
|
||||
sourceMap: false,
|
||||
}),
|
||||
],
|
||||
};
|
||||
|
||||
const webExtensionPageEntryPoint = {
|
||||
input: "dist/node/webex/pageEntryPoint.js",
|
||||
input: "src/webex/pageEntryPoint.ts",
|
||||
output: {
|
||||
file: "dist/webextension/pageEntryPoint.js",
|
||||
format: "iife",
|
||||
exports: "default",
|
||||
exports: "none",
|
||||
name: "webExtensionPageEntry",
|
||||
},
|
||||
external: builtins,
|
||||
@ -79,19 +117,24 @@ const webExtensionPageEntryPoint = {
|
||||
commonjs({
|
||||
include: ["node_modules/**", "dist/node/**"],
|
||||
extensions: [".js"],
|
||||
ignoreGlobal: false, // Default: false
|
||||
sourceMap: false,
|
||||
ignore: ["taler-wallet"],
|
||||
}),
|
||||
|
||||
typescript({
|
||||
tsconfig: false,
|
||||
...baseTypescriptCompilerSettings,
|
||||
sourceMap: false,
|
||||
}),
|
||||
],
|
||||
};
|
||||
|
||||
const webExtensionBackgroundPageScript = {
|
||||
input: "dist/node/webex/background.js",
|
||||
input: "src/webex/background.ts",
|
||||
output: {
|
||||
file: "dist/webextension/background.js",
|
||||
format: "iife",
|
||||
exports: "default",
|
||||
exports: "none",
|
||||
name: "webExtensionBackgroundScript",
|
||||
},
|
||||
external: builtins,
|
||||
@ -111,19 +154,24 @@ const webExtensionBackgroundPageScript = {
|
||||
commonjs({
|
||||
include: ["node_modules/**", "dist/node/**"],
|
||||
extensions: [".js"],
|
||||
ignoreGlobal: false, // Default: false
|
||||
sourceMap: false,
|
||||
ignore: ["taler-wallet", "crypto"],
|
||||
}),
|
||||
|
||||
typescript({
|
||||
tsconfig: false,
|
||||
...baseTypescriptCompilerSettings,
|
||||
sourceMap: false,
|
||||
}),
|
||||
],
|
||||
};
|
||||
|
||||
const webExtensionCryptoWorker = {
|
||||
input: "dist/node/crypto/workers/browserWorkerEntry.js",
|
||||
input: "src/crypto/workers/browserWorkerEntry.ts",
|
||||
output: {
|
||||
file: "dist/webextension/browserWorkerEntry.js",
|
||||
format: "iife",
|
||||
exports: "default",
|
||||
exports: "none",
|
||||
name: "webExtensionCryptoWorker",
|
||||
},
|
||||
external: builtins,
|
||||
@ -143,10 +191,15 @@ const webExtensionCryptoWorker = {
|
||||
commonjs({
|
||||
include: ["node_modules/**", "dist/node/**"],
|
||||
extensions: [".js"],
|
||||
ignoreGlobal: false, // Default: false
|
||||
sourceMap: false,
|
||||
ignore: ["taler-wallet", "crypto"],
|
||||
}),
|
||||
|
||||
typescript({
|
||||
tsconfig: false,
|
||||
...baseTypescriptCompilerSettings,
|
||||
sourceMap: false,
|
||||
}),
|
||||
],
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user