Files
firebase-js-sdk/packages/webchannel-wrapper/rollup.config.js
T
5f79012857 Use closure-net as a dependency of Firestore (#8190)
* Add closure library blobs as Firestore dependency.

* Remove our compilation of Closure.

* Add closure-net as a git submodule.

* remove temporary .only in test.

* prettier.

* add yarn.lock differences.

* create a types.d.ts for the webchannel-wrapper package.

* Bring back the aggregated types and implementations for size report.

* Undo CI changes for git submodules.

* Remove the git submodule.

* Use git+https in package.json devDependencies.

* prettier.

* Set up rollup for webchannel-wrapper (#8203)

* convert webchannel-wrapper package to use rollup

* clean up rollup config

* formatting

* Create thick-spoons-check.md

* Better changeset.

* Address feedback on versioning.

---------

Co-authored-by: Christina Holland <[email protected]>
2024-05-01 12:38:42 -07:00

74 lines
1.9 KiB
JavaScript

/**
* @license
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { join } from 'path';
import copy from 'rollup-plugin-copy';
import commonjs from '@rollup/plugin-commonjs';
import typescriptPlugin from 'rollup-plugin-typescript2';
import typescript from 'typescript';
import { emitModulePackageFile } from '../../scripts/build/rollup_emit_module_package_file';
import pkg from './package.json';
const closureBlobsDir = '../../node_modules/closure-net/firebase/';
const es2017BuildPlugins = [
copy({
targets: [
{
src: join(closureBlobsDir, 'webchannel_blob_*.*'),
dest: 'dist/webchannel-blob'
},
{ src: join(closureBlobsDir, 'bloom_blob_*.*'), dest: 'dist/bloom-blob' }
]
}),
typescriptPlugin({
typescript,
tsconfigOverride: {
compilerOptions: {
target: 'es2017'
}
}
}),
commonjs()
];
/**
* ESM builds
*/
const esm2017Builds = [
{
input: join(closureBlobsDir, 'webchannel_blob_es2018.js'),
output: {
file: pkg.exports['./webchannel-blob'].default,
format: 'es',
sourcemap: true
},
plugins: [...es2017BuildPlugins, emitModulePackageFile()]
},
{
input: join(closureBlobsDir, 'bloom_blob_es2018.js'),
output: {
file: pkg.exports['./bloom-blob'].default,
format: 'es',
sourcemap: true
},
plugins: [...es2017BuildPlugins, emitModulePackageFile()]
}
];
export default esm2017Builds;