Skip to content

Commit

Permalink
Merge branch 'wbinnssmith-wbinnssmith/rx6-compat-bundle'
Browse files Browse the repository at this point in the history
  • Loading branch information
benlesh committed Jul 26, 2018
2 parents 40852ff + 6e690d6 commit 93127f2
Show file tree
Hide file tree
Showing 5 changed files with 93 additions and 1 deletion.
22 changes: 22 additions & 0 deletions compat/umd.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/*
NOTE: This is the global export file for rxjs v6 and higher.
*/

/* rxjs */
export * from './Rx';

/* rxjs.operators */
import * as _operators from 'rxjs/operators';
export const operators = _operators;

/* rxjs.testing */
import * as _testing from 'rxjs/testing';
export const testing = _testing;

/* rxjs.ajax */
import * as _ajax from 'rxjs/ajax';
export const ajax = _ajax;

/* rxjs.webSocket */
import * as _webSocket from 'rxjs/webSocket';
export const webSocket = _webSocket;
9 changes: 8 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -97,16 +97,22 @@
"test:circular": "dependency-cruise --validate .dependency-cruiser.json -x \"^node_modules\" dist/esm5",
"test:systemjs": "node integration/systemjs/systemjs-compatibility-spec.js",
"tests2png": "mkdirp tmp/docs/img && mocha --opts spec/support/tests2png.opts \"spec/**/*-spec.ts\"",
"compat_build_all": "npm-run-all compat_clean_dist compat_build_cjs compat_build_esm5 compat_build_esm2015 compat_generate_packages",
"compat_build_all": "npm-run-all compat_clean_dist compat_build_cjs compat_build_esm5 compat_build_esm2015 compat_build_esm5_for_rollup compat_build_umd compat_generate_packages",
"compat_build_closure": "node ./tools/make-closure-compat.js",
"compat_build_cjs": "npm-run-all compat_clean_dist_cjs compat_compile_dist_cjs",
"compat_build_esm5": "npm-run-all compat_clean_dist_esm5 compat_compile_dist_esm5",
"compat_build_esm2015": "npm-run-all compat_clean_dist_esm2015 compat_compile_dist_esm2015",
"compat_build_esm5_for_rollup": "npm-run-all compat_clean_dist_esm5_for_rollup compat_compile_dist_esm5_for_rollup",
"compat_build_umd": "npm-run-all compat_clean_dist_global && mkdirp ./dist-compat/global && node ./tools/make-umd-compat-bundle.js && npm-run-all compat_build_closure",
"compat_clean_dist": "shx rm -rf ./dist-compat",
"compat_clean_dist_cjs": "shx rm -rf ./dist-compat/cjs",
"compat_clean_dist_esm5": "shx rm -rf ./dist-compat/esm5",
"compat_clean_dist_esm2015": "shx rm -rf ./dist-compat/esm2015",
"compat_clean_dist_esm5_for_rollup": "shx rm -rf ./dist-compat/esm5_for_rollup",
"compat_clean_dist_global": "shx rm -rf ./dist-compat/global",
"compat_compile_dist_cjs": "tsc -p ./tsconfig/compat/tsconfig.cjs.json",
"compat_compile_dist_esm5": "tsc -p ./tsconfig/compat/tsconfig.esm5.json",
"compat_compile_dist_esm5_for_rollup": "tsc -p ./tsconfig/compat/tsconfig.esm5.rollup.json",
"compat_compile_dist_esm2015": "tsc -p ./tsconfig/compat/tsconfig.esm2015.json",
"compat_copy_sources": "mkdirp dist-compat && shx cp -r ./compat/ ./dist-compat/",
"compat_generate_packages": "node .make-compat-package.js"
Expand Down Expand Up @@ -212,6 +218,7 @@
"promise": "8.0.1",
"protractor": "3.1.1",
"rollup": "0.36.3",
"rollup-plugin-alias": "1.4.0",
"rollup-plugin-inject": "2.0.0",
"rollup-plugin-node-resolve": "2.0.0",
"rx": "latest",
Expand Down
15 changes: 15 additions & 0 deletions tools/make-closure-compat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
var compiler = require('google-closure-compiler-js').compile;
var fs = require('fs');

var source = fs.readFileSync('dist-compat/global/rxjs-compat.umd.js', 'utf8');

var compilerFlags = {
jsCode: [{src: source}],
languageIn: 'ES2015',
createSourceMap: true,
};

var output = compiler(compilerFlags);

fs.writeFileSync('dist-compat/global/rxjs-compat.umd.min.js', output.compiledCode, 'utf8');
fs.writeFileSync('dist-compat/global/rxjs-compat.umd.min.js.map', output.sourceMap, 'utf8');
41 changes: 41 additions & 0 deletions tools/make-umd-compat-bundle.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
var _ = require('lodash');

var rollup = require('rollup');
var rollupAlias = require('rollup-plugin-alias');
var rollupInject = require('rollup-plugin-inject');
var rollupNodeResolve = require('rollup-plugin-node-resolve');

var fs = require('fs');
var tslib = require('tslib');

rollup.rollup({
entry: 'dist-compat/esm5_for_rollup/compat/umd.js',
plugins: [
rollupAlias({
'rxjs/testing': 'dist-compat/esm5_for_rollup/src/testing/index.js',
'rxjs/operators': 'dist-compat/esm5_for_rollup/src/operators/index.js',
'rxjs/webSocket': 'dist-compat/esm5_for_rollup/src/webSocket/index.js',
'rxjs/ajax': 'dist-compat/esm5_for_rollup/src/ajax/index.js',
'rxjs/internal-compatibility': 'dist-compat/esm5_for_rollup/src/internal-compatibility/index.js',
'rxjs': 'dist-compat/esm5_for_rollup/src/index.js',
}),
rollupNodeResolve({
jsnext: true,
}),
rollupInject({
exclude: 'node_modules/**',
modules: _.mapValues(tslib, function (value, key) {
return ['tslib', key];
}),
}),
],
}).then(function (bundle) {
var result = bundle.generate({
format: 'umd',
moduleName: 'rxjs',
sourceMap: true
});

fs.writeFileSync('dist-compat/global/rxjs-compat.umd.js', result.code);
fs.writeFileSync('dist-compat/global/rxjs-compat.umd.js.map', result.map);
});
7 changes: 7 additions & 0 deletions tsconfig/compat/tsconfig.esm5.rollup.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"extends": "./tsconfig.esm5.json",
"compilerOptions": {
"outDir": "../../dist-compat/esm5_for_rollup",
"noEmitHelpers": true
}
}

0 comments on commit 93127f2

Please sign in to comment.