From 566b88d60b951215528e0a81cb15668be900b3e1 Mon Sep 17 00:00:00 2001 From: Feiyang1 Date: Wed, 23 Jun 2021 16:59:37 -0700 Subject: [PATCH 1/3] save --- packages-exp/firebase-exp/package.json | 2 +- packages-exp/firebase-exp/rollup.config.js | 47 +++++++++++++++++++++- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/packages-exp/firebase-exp/package.json b/packages-exp/firebase-exp/package.json index eab77bac9e3..1a25cd98b47 100644 --- a/packages-exp/firebase-exp/package.json +++ b/packages-exp/firebase-exp/package.json @@ -118,7 +118,7 @@ "url": "https://github.com/firebase/firebase-js-sdk.git" }, "scripts": { - "build": "rollup -c && yarn build:compat", + "build": "rollup -c", "build:release": "rollup -c rollup.config.release.js && yarn build:compat:release", "build:compat": "rollup -c compat/rollup.config.js", "build:compat:release": "rollup -c compat/rollup.config.release.js", diff --git a/packages-exp/firebase-exp/rollup.config.js b/packages-exp/firebase-exp/rollup.config.js index 4afab8fcfd2..2601f8c109f 100644 --- a/packages-exp/firebase-exp/rollup.config.js +++ b/packages-exp/firebase-exp/rollup.config.js @@ -32,6 +32,15 @@ const typescriptPlugin = rollupTypescriptPlugin({ typescript }); +const typescriptPluginCDN = rollupTypescriptPlugin({ + typescript, + tsconfigOverride: { + compilerOptions: { + declaration: false + } + } +}); + /** * Individual Component Builds */ @@ -77,4 +86,40 @@ const componentBuilds = pkg.components }) .reduce((a, b) => a.concat(b), []); -export default [...appBuilds, ...componentBuilds]; +/** + * CDN script builds + */ + +const cdnBuilds = [ + { + input: 'app/index.cdn.ts', + output: { + file: 'firebase-app.js', + sourcemap: true, + format: 'es' + }, + plugins: [...plugins, typescriptPluginCDN] + }, + ...pkg.components + .filter(component => component !== 'app') + .map(component => { + const pkg = require(`./${component}/package.json`); + // It is needed for handling sub modules, for example firestore/lite which should produce firebase-firestore-lite.js + // Otherwise, we will create a directory with '/' in the name. + const componentName = component.replace('/', '-'); + + return { + input: `${component}/index.ts`, + output: { + file: `firebase-${componentName}.js`, + sourcemap: true, + format: 'es' + }, + plugins: [...plugins, typescriptPluginCDN], + external: ['@firebase/app-exp', '@firebase/util'] + }; + }) +]; + +// export default [...appBuilds, ...componentBuilds, ...cdnBuilds]; +export default [...cdnBuilds]; From c00870ab85f14bb298c93d7432c51830f54f1b40 Mon Sep 17 00:00:00 2001 From: Feiyang1 Date: Wed, 23 Jun 2021 21:46:46 -0700 Subject: [PATCH 2/3] add type module cdn scripts --- packages-exp/firebase-exp/rollup.config.js | 19 +++++-- .../firebase-exp/rollup.config.release.js | 55 ++++++++++++++++++- 2 files changed, 67 insertions(+), 7 deletions(-) diff --git a/packages-exp/firebase-exp/rollup.config.js b/packages-exp/firebase-exp/rollup.config.js index 2601f8c109f..b742052c059 100644 --- a/packages-exp/firebase-exp/rollup.config.js +++ b/packages-exp/firebase-exp/rollup.config.js @@ -24,6 +24,7 @@ import resolveModule from '@rollup/plugin-node-resolve'; import rollupTypescriptPlugin from 'rollup-plugin-typescript2'; import sourcemaps from 'rollup-plugin-sourcemaps'; import typescript from 'typescript'; +import alias from '@rollup/plugin-alias'; const external = Object.keys(pkg.dependencies || {}); const plugins = [sourcemaps(), resolveModule(), json(), commonjs()]; @@ -89,7 +90,7 @@ const componentBuilds = pkg.components /** * CDN script builds */ - +const FIREBASE_APP_URL = `https://www.gstatic.com/firebasejs/${pkg.version}/firebase-app.js`; const cdnBuilds = [ { input: 'app/index.cdn.ts', @@ -103,7 +104,6 @@ const cdnBuilds = [ ...pkg.components .filter(component => component !== 'app') .map(component => { - const pkg = require(`./${component}/package.json`); // It is needed for handling sub modules, for example firestore/lite which should produce firebase-firestore-lite.js // Otherwise, we will create a directory with '/' in the name. const componentName = component.replace('/', '-'); @@ -115,11 +115,18 @@ const cdnBuilds = [ sourcemap: true, format: 'es' }, - plugins: [...plugins, typescriptPluginCDN], - external: ['@firebase/app-exp', '@firebase/util'] + plugins: [ + ...plugins, + typescriptPluginCDN, + alias({ + entries: { + '@firebase/app': FIREBASE_APP_URL + } + }) + ], + external: [FIREBASE_APP_URL] }; }) ]; -// export default [...appBuilds, ...componentBuilds, ...cdnBuilds]; -export default [...cdnBuilds]; +export default [...appBuilds, ...componentBuilds, ...cdnBuilds]; diff --git a/packages-exp/firebase-exp/rollup.config.release.js b/packages-exp/firebase-exp/rollup.config.release.js index d6a7669f4fd..7d6e655ba69 100644 --- a/packages-exp/firebase-exp/rollup.config.release.js +++ b/packages-exp/firebase-exp/rollup.config.release.js @@ -25,6 +25,7 @@ import resolveModule from '@rollup/plugin-node-resolve'; import rollupTypescriptPlugin from 'rollup-plugin-typescript2'; import sourcemaps from 'rollup-plugin-sourcemaps'; import typescript from 'typescript'; +import alias from '@rollup/plugin-alias'; // remove -exp from dependencies name const deps = Object.keys(pkg.dependencies || {}).map(name => @@ -38,6 +39,15 @@ const typescriptPlugin = rollupTypescriptPlugin({ transformers: [importPathTransformer] }); +const typescriptPluginCDN = rollupTypescriptPlugin({ + typescript, + tsconfigOverride: { + compilerOptions: { + declaration: false + } + } +}); + /** * Individual Component Builds */ @@ -84,4 +94,47 @@ const componentBuilds = pkg.components }) .reduce((a, b) => a.concat(b), []); -export default [...appBuilds, ...componentBuilds]; +/** + * CDN script builds + */ +const FIREBASE_APP_URL = `https://www.gstatic.com/firebasejs/${pkg.version}/firebase-app.js`; +const cdnBuilds = [ + { + input: 'app/index.cdn.ts', + output: { + file: 'firebase-app.js', + sourcemap: true, + format: 'es' + }, + plugins: [...plugins, typescriptPluginCDN] + }, + ...pkg.components + .filter(component => component !== 'app') + .map(component => { + const pkg = require(`./${component}/package.json`); + // It is needed for handling sub modules, for example firestore/lite which should produce firebase-firestore-lite.js + // Otherwise, we will create a directory with '/' in the name. + const componentName = component.replace('/', '-'); + + return { + input: `${component}/index.ts`, + output: { + file: `firebase-${componentName}.js`, + sourcemap: true, + format: 'es' + }, + plugins: [ + ...plugins, + typescriptPluginCDN, + alias({ + entries: { + '@firebase/app': FIREBASE_APP_URL, + '@firebase/installations': '@firebase/installations-exp' + } + }) + ], + external: [FIREBASE_APP_URL] + }; + }) +]; +export default [...appBuilds, ...componentBuilds, ...cdnBuilds]; From 11c2c49d00ea1bceb3ecf5b5680ccaa9e01fe089 Mon Sep 17 00:00:00 2001 From: Feiyang1 Date: Mon, 28 Jun 2021 15:30:49 -0700 Subject: [PATCH 3/3] revert script --- packages-exp/firebase-exp/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages-exp/firebase-exp/package.json b/packages-exp/firebase-exp/package.json index 1a25cd98b47..eab77bac9e3 100644 --- a/packages-exp/firebase-exp/package.json +++ b/packages-exp/firebase-exp/package.json @@ -118,7 +118,7 @@ "url": "https://github.com/firebase/firebase-js-sdk.git" }, "scripts": { - "build": "rollup -c", + "build": "rollup -c && yarn build:compat", "build:release": "rollup -c rollup.config.release.js && yarn build:compat:release", "build:compat": "rollup -c compat/rollup.config.js", "build:compat:release": "rollup -c compat/rollup.config.release.js",