Skip to content

Commit

Permalink
exp release update (#3844)
Browse files Browse the repository at this point in the history
* add dryRun option to the exp release script

* point to the right typing file in perf-exp

* use shared config for app exp

* use shared rollup config to reduce duplication

* add missing imports
  • Loading branch information
Feiyang1 committed Sep 25, 2020
1 parent 2a18beb commit 63d7fc8
Show file tree
Hide file tree
Showing 15 changed files with 460 additions and 243 deletions.
44 changes: 9 additions & 35 deletions packages-exp/app-exp/rollup.config.js
Expand Up @@ -19,6 +19,7 @@ import typescriptPlugin from 'rollup-plugin-typescript2';
import typescript from 'typescript';
import json from 'rollup-plugin-json';
import pkg from './package.json';
import { es2017BuildsNoPlugin, es5BuildsNoPlugin } from './rollup.shared';

const deps = Object.keys(
Object.assign({}, pkg.peerDependencies, pkg.dependencies)
Expand All @@ -34,26 +35,10 @@ const es5BuildPlugins = [
json()
];

const es5Builds = [
/**
* Browser Builds
*/
{
input: 'src/index.ts',
output: [{ file: pkg.browser, format: 'es', sourcemap: true }],
plugins: es5BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
},
/**
* Node.js Build
*/
{
input: 'src/index.ts',
output: [{ file: pkg.main, format: 'cjs', sourcemap: true }],
plugins: es5BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
}
];
const es5Builds = es5BuildsNoPlugin.map(build => ({
...build,
plugins: es5BuildPlugins
}));

/**
* ES2017 Builds
Expand All @@ -72,20 +57,9 @@ const es2017BuildPlugins = [
})
];

const es2017Builds = [
/**
* Browser Builds
*/
{
input: 'src/index.ts',
output: {
file: pkg.esm2017,
format: 'es',
sourcemap: true
},
plugins: es2017BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
}
];
const es2017Builds = es2017BuildsNoPlugin.map(build => ({
...build,
plugins: es2017BuildPlugins
}));

export default [...es5Builds, ...es2017Builds];
60 changes: 13 additions & 47 deletions packages-exp/app-exp/rollup.config.release.js
Expand Up @@ -18,12 +18,8 @@
import typescriptPlugin from 'rollup-plugin-typescript2';
import typescript from 'typescript';
import json from 'rollup-plugin-json';
import pkg from './package.json';
import { importPathTransformer } from '../../scripts/exp/ts-transform-import-path';

const deps = Object.keys(
Object.assign({}, pkg.peerDependencies, pkg.dependencies)
);
import { es2017BuildsNoPlugin, es5BuildsNoPlugin } from './rollup.shared';

/**
* ES5 Builds
Expand All @@ -37,32 +33,13 @@ const es5BuildPlugins = [
json()
];

const es5Builds = [
/**
* Browser Builds
*/
{
input: 'src/index.ts',
output: [{ file: pkg.browser, format: 'es', sourcemap: true }],
plugins: es5BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`)),
treeshake: {
moduleSideEffects: false
}
},
/**
* Node.js Build
*/
{
input: 'src/index.ts',
output: [{ file: pkg.main, format: 'cjs', sourcemap: true }],
plugins: es5BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`)),
treeshake: {
moduleSideEffects: false
}
const es5Builds = es5BuildsNoPlugin.map(build => ({
...build,
plugins: es5BuildPlugins,
treeshake: {
moduleSideEffects: false
}
];
}));

/**
* ES2017 Builds
Expand All @@ -83,23 +60,12 @@ const es2017BuildPlugins = [
})
];

const es2017Builds = [
/**
* Browser Builds
*/
{
input: 'src/index.ts',
output: {
file: pkg.esm2017,
format: 'es',
sourcemap: true
},
plugins: es2017BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`)),
treeshake: {
moduleSideEffects: false
}
const es2017Builds = es2017BuildsNoPlugin.map(build => ({
...build,
plugins: es2017BuildPlugins,
treeshake: {
moduleSideEffects: false
}
];
}));

export default [...es5Builds, ...es2017Builds];
55 changes: 55 additions & 0 deletions packages-exp/app-exp/rollup.shared.js
@@ -0,0 +1,55 @@
/**
* @license
* Copyright 2019 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 pkg from './package.json';

const deps = Object.keys(
Object.assign({}, pkg.peerDependencies, pkg.dependencies)
);

export const es5BuildsNoPlugin = [
/**
* Browser Builds
*/
{
input: 'src/index.ts',
output: [{ file: pkg.browser, format: 'es', sourcemap: true }],
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
},
/**
* Node.js Build
*/
{
input: 'src/index.ts',
output: [{ file: pkg.main, format: 'cjs', sourcemap: true }],
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
}
];

export const es2017BuildsNoPlugin = [
/**
* Browser Builds
*/
{
input: 'src/index.ts',
output: {
file: pkg.esm2017,
format: 'es',
sourcemap: true
},
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
}
];
55 changes: 12 additions & 43 deletions packages-exp/functions-exp/rollup.config.js
Expand Up @@ -18,11 +18,7 @@
import json from 'rollup-plugin-json';
import typescriptPlugin from 'rollup-plugin-typescript2';
import typescript from 'typescript';
import pkg from './package.json';

const deps = Object.keys(
Object.assign({}, pkg.peerDependencies, pkg.dependencies)
);
import { es2017BuildsNoPlugin, es5BuildsNoPlugin } from './rollup.shared';

/**
* ES5 Builds
Expand All @@ -34,27 +30,14 @@ const es5BuildPlugins = [
json()
];

const es5Builds = [
/**
* Browser Builds
*/
{
input: 'src/index.ts',
output: [{ file: pkg.module, format: 'es', sourcemap: true }],
plugins: es5BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
},
/**
* Node.js Build
*/
{
input: 'src/index.node.ts',
output: [{ file: pkg.main, format: 'cjs', sourcemap: true }],
plugins: es5BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
}
];
const es5Builds = es5BuildsNoPlugin.map(build => ({
...build,
plugins: es5BuildPlugins
}));

/**
* ES2017 Builds
*/
const es2017BuildPlugins = [
typescriptPlugin({
typescript,
Expand All @@ -67,23 +50,9 @@ const es2017BuildPlugins = [
json({ preferConst: true })
];

/**
* ES2017 Builds
*/
const es2017Builds = [
{
/**
* Browser Build
*/
input: 'src/index.ts',
output: {
file: pkg.esm2017,
format: 'es',
sourcemap: true
},
plugins: es2017BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`))
}
];
const es2017Builds = es2017BuildsNoPlugin.map(build => ({
...build,
plugins: es2017BuildPlugins
}));

export default [...es5Builds, ...es2017Builds];
60 changes: 13 additions & 47 deletions packages-exp/functions-exp/rollup.config.release.js
Expand Up @@ -18,12 +18,8 @@
import typescriptPlugin from 'rollup-plugin-typescript2';
import typescript from 'typescript';
import json from 'rollup-plugin-json';
import pkg from './package.json';
import { importPathTransformer } from '../../scripts/exp/ts-transform-import-path';

const deps = Object.keys(
Object.assign({}, pkg.peerDependencies, pkg.dependencies)
);
import { es2017BuildsNoPlugin, es5BuildsNoPlugin } from './rollup.shared';

/**
* ES5 Builds
Expand All @@ -38,32 +34,13 @@ const es5BuildPlugins = [
json()
];

const es5Builds = [
/**
* Browser Builds
*/
{
input: 'src/index.ts',
output: [{ file: pkg.browser, format: 'es', sourcemap: true }],
plugins: es5BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`)),
treeshake: {
moduleSideEffects: false
}
},
/**
* Node.js Build
*/
{
input: 'src/index.ts',
output: [{ file: pkg.main, format: 'cjs', sourcemap: true }],
plugins: es5BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`)),
treeshake: {
moduleSideEffects: false
}
const es5Builds = es5BuildsNoPlugin.map(build => ({
...build,
plugins: es5BuildPlugins,
treeshake: {
moduleSideEffects: false
}
];
}));

/**
* ES2017 Builds
Expand All @@ -85,23 +62,12 @@ const es2017BuildPlugins = [
})
];

const es2017Builds = [
/**
* Browser Builds
*/
{
input: 'src/index.ts',
output: {
file: pkg.esm2017,
format: 'es',
sourcemap: true
},
plugins: es2017BuildPlugins,
external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`)),
treeshake: {
moduleSideEffects: false
}
const es2017Builds = es2017BuildsNoPlugin.map(build => ({
...build,
plugins: es2017BuildPlugins,
treeshake: {
moduleSideEffects: false
}
];
}));

export default [...es5Builds, ...es2017Builds];

0 comments on commit 63d7fc8

Please sign in to comment.