From 2d801b535ed03fdbde0ab9b4c909c9d4ff440536 Mon Sep 17 00:00:00 2001 From: Jaco Date: Fri, 9 Jul 2021 16:30:05 +0300 Subject: [PATCH] Browser bundle build (incomplete) (#503) * Browser bundle build (incomplete) * globals --- package.json | 1 + packages/vue-identicon/src/bundle.ts | 6 +++ packages/vue-identicon/src/index.ts | 4 +- rollup.config.mjs | 56 ++++++++++++++++++++++++++++ 4 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 packages/vue-identicon/src/bundle.ts create mode 100644 rollup.config.mjs diff --git a/package.json b/package.json index cb0f7952..8e82d78b 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "scripts": { "build": "polkadot-dev-build-ts", "build:release": "polkadot-ci-ghact-build", + "build:rollup": "polkadot-exec-rollup --config", "lint": "polkadot-dev-run-lint", "clean": "polkadot-dev-clean-build", "demo:identicon:react": "yarn build && webpack-serve --config packages/react-identicon/webpack.config.js --content packages/react-identicon --port 8080", diff --git a/packages/vue-identicon/src/bundle.ts b/packages/vue-identicon/src/bundle.ts new file mode 100644 index 00000000..d2de93ab --- /dev/null +++ b/packages/vue-identicon/src/bundle.ts @@ -0,0 +1,6 @@ +// Copyright 2017-2021 @polkadot/vue-identicon authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +export { Identicon } from './Identicon'; + +export { packageInfo } from './packageInfo'; diff --git a/packages/vue-identicon/src/index.ts b/packages/vue-identicon/src/index.ts index c8748d79..086ecd08 100644 --- a/packages/vue-identicon/src/index.ts +++ b/packages/vue-identicon/src/index.ts @@ -3,8 +3,8 @@ import './detectPackage'; -import { Identicon } from './Identicon'; +import { Identicon } from './bundle'; -export { packageInfo } from './packageInfo'; +export * from './bundle'; export default Identicon; diff --git a/rollup.config.mjs b/rollup.config.mjs new file mode 100644 index 00000000..655768e0 --- /dev/null +++ b/rollup.config.mjs @@ -0,0 +1,56 @@ +// Copyright 2017-2021 @polkadot/ui authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import path from 'path'; + +import { createBundle } from '@polkadot/dev/config/rollup'; + +const pkgs = [ + '@polkadot/react-identicon', + '@polkadot/react-qr', + '@polkadot/ui-keyring', + '@polkadot/ui-settings', + '@polkadot/ui-shared', + '@polkadot/vue-identicon' +]; + +const external = [ + ...pkgs, + '@polkadot/keyring', + '@polkadot/util', + '@polkadot/util-crypto', + 'react', + 'react-dom', + 'vue' +]; + +const globals = { + react: 'React', + 'react-dom': 'ReactDOM', + vue: 'Vue' +}; + +const entries = ['api-derive', 'rpc-core', 'rpc-provider', 'types-known'].reduce((all, p) => ({ + ...all, + [`@polkadot/${p}`]: path.resolve(process.cwd(), `packages/${p}/build/bundle.js`) +}), { + // re-exported in @polkadot/util-crypto, map directly + '@polkadot/networks': '@polkadot/util-crypto' +}); + +const overrides = {}; + +export default pkgs.map((pkg) => { + const override = (overrides[pkg] || {}); + + return createBundle({ + external, + globals, + pkg, + ...override, + entries: { + ...entries, + ...(override.entries || {}) + } + }); +});