summaryrefslogtreecommitdiffhomepage
path: root/packages/browser/rollup.config.js
diff options
context:
space:
mode:
authorakanass <akanass@icloud.com>2021-06-17 17:34:59 +0200
committerakanass <akanass@icloud.com>2021-06-17 17:34:59 +0200
commitf93dc50ffdb5e65c404ca093f45d3c79833f1627 (patch)
tree2b5632eba893e107dd913c446d722166314814d2 /packages/browser/rollup.config.js
parent27a91965f059b3ee193f944736c03192fafef262 (diff)
get back ES5 UMD bundle
Diffstat (limited to 'packages/browser/rollup.config.js')
-rw-r--r--packages/browser/rollup.config.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/packages/browser/rollup.config.js b/packages/browser/rollup.config.js
index 15a0b88..0c5ab8d 100644
--- a/packages/browser/rollup.config.js
+++ b/packages/browser/rollup.config.js
@@ -3,6 +3,33 @@ import nodeResolve from '@rollup/plugin-node-resolve';
import { terser } from 'rollup-plugin-terser';
import versionInjector from 'rollup-plugin-version-injector';
+/**
+ * Rollup plugin to clean `tslib` comment in `UMD` bundle targeting `ES5`
+ */
+const cleanTslibCommentInUMDBundleTargetingES5 = () => {
+ return {
+ name: 'cleanTslibCommentInUMDBundleTargetingES5',
+ renderChunk: async code => {
+ const comment = `
+/*! *****************************************************************************
+ Copyright (c) Microsoft Corporation.
+
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted.
+
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+ ***************************************************************************** */`;
+ return code.indexOf(comment) > -1 ? code.replace(comment, '') : null;
+ },
+ };
+};
+
const swanVersionInjector = versionInjector({
injectInComments: {
fileRegexp: /\.(js)$/,
@@ -15,6 +42,7 @@ const swanVersionInjector = versionInjector({
/**
* Rollup configuration to generate the following:
* - ES2018 bundle
+ * - ES5 bundle
* - Type declarations
*/
export default [
@@ -37,4 +65,15 @@ export default [
],
plugins: [typescript({ tsconfig: './tsconfig.json' }), nodeResolve(), swanVersionInjector],
},
+ {
+ input: 'src/index.ts',
+ output: {
+ dir: 'dist',
+ format: 'umd',
+ name: 'SimpleWebAuthnBrowser',
+ entryFileNames: 'bundle/[name].es5.umd.min.js',
+ plugins: [terser(), cleanTslibCommentInUMDBundleTargetingES5()],
+ },
+ plugins: [typescript({ tsconfig: './tsconfig.es5.json' }), nodeResolve(), swanVersionInjector],
+ },
];