Skip to content
This repository was archived by the owner on Feb 26, 2024. It is now read-only.

Commit 2e52900

Browse files
committed
refactor: split zone.js into CJS modules, add zone-microtask.js
BREAKING CHANGES: zone.js as well as *-zone.js files are moved from / to dist/
1 parent 9b6d558 commit 2e52900

37 files changed

+4438
-426
lines changed

Diff for: counting-zone.js renamed to dist/counting-zone.js

File renamed without changes.

Diff for: except-zone.js renamed to dist/except-zone.js

File renamed without changes.
File renamed without changes.

Diff for: dist/zone-microtask.js

+1,960
Large diffs are not rendered by default.

Diff for: dist/zone-microtask.min.js

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: zone.js renamed to dist/zone.js

+531-402
Large diffs are not rendered by default.

Diff for: dist/zone.min.js

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: example/basic.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<meta charset="utf-8">
55
<title>Zone.js Basic Demo</title>
66
<link rel="stylesheet" href="style.css">
7-
<script src="../zone.js"></script>
8-
<script src="../long-stack-trace-zone.js"></script>
7+
<script src="../dist/zone.js"></script>
8+
<script src="../dist/long-stack-trace-zone.js"></script>
99
</head>
1010
<body>
1111

Diff for: example/counting.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<meta charset="utf-8">
55
<title>Counting Pending Tasks</title>
66
<link rel="stylesheet" href="style.css">
7-
<script src="../zone.js"></script>
8-
<script src="../counting-zone.js"></script>
7+
<script src="../dist/zone.js"></script>
8+
<script src="../dist/counting-zone.js"></script>
99
</head>
1010
<body>
1111

Diff for: example/except.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<meta charset="utf-8">
55
<title>Except Zone</title>
66
<link rel="stylesheet" href="style.css">
7-
<script src="../zone.js"></script>
8-
<script src="../except-zone.js"></script>
7+
<script src="../dist/zone.js"></script>
8+
<script src="../dist/except-zone.js"></script>
99
</head>
1010
<body>
1111

Diff for: example/index.html

-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
<meta charset="utf-8">
55
<title>Zone.js Examples</title>
66
<link rel="stylesheet" href="style.css">
7-
<script src="../zone.js"></script>
8-
<script src="../long-stack-trace-zone.js"></script>
97
</head>
108
<body>
119

Diff for: example/profiling.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<meta charset="utf-8">
55
<title>Zones Profiling</title>
66
<link rel="stylesheet" href="style.css">
7-
<script src="../zone.js"></script>
8-
<script src="../long-stack-trace-zone.js"></script>
7+
<script src="../dist/zone.js"></script>
8+
<script src="../dist/long-stack-trace-zone.js"></script>
99
</head>
1010
<body>
1111

Diff for: example/throttle.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<meta charset="utf-8">
55
<title>Zones throttle</title>
66
<link rel="stylesheet" href="style.css">
7-
<script src="../zone.js"></script>
8-
<script src="../long-stack-trace-zone.js"></script>
7+
<script src="../dist/zone.js"></script>
8+
<script src="../dist/long-stack-trace-zone.js"></script>
99
</head>
1010
<body>
1111
<h1>Throttle Example</h1>
@@ -88,4 +88,4 @@ <h1>Throttle Example</h1>
8888
</script>
8989

9090
</body>
91-
</html>
91+
</html>

Diff for: example/web-socket.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="utf-8">
55
<title>WebSockets with Zones</title>
66
<link rel="stylesheet" href="style.css">
7-
<script src="../zone.js"></script>
7+
<script src="../dist/zone.js"></script>
88
</head>
99
<body>
1010

Diff for: example/xml-http-request.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="utf-8">
55
<title>HTTP requests with Zones</title>
66
<link rel="stylesheet" href="style.css">
7-
<script src="../zone.js"></script>
7+
<script src="../dist/zone.js"></script>
88
</head>
99
<body>
1010

Diff for: gulpfile.js

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
'use strict';
2+
3+
var gulp = require('gulp');
4+
var browserify = require('browserify');
5+
var source = require('vinyl-source-stream');
6+
var rename = require('gulp-rename');
7+
var uglify = require('gulp-uglify');
8+
var buffer = require('vinyl-buffer');
9+
10+
var distFolder = './dist';
11+
12+
function generateBrowserScript(inFile, outFile) {
13+
var b = browserify({
14+
entries: inFile,
15+
debug: false
16+
});
17+
18+
return b
19+
.bundle()
20+
.pipe(source(outFile))
21+
.pipe(buffer())
22+
.pipe(gulp.dest(distFolder))
23+
.pipe(uglify())
24+
.pipe(rename({ extname: '.min.js' }))
25+
.pipe(gulp.dest(distFolder));
26+
;
27+
}
28+
29+
gulp.task('build/zone.js', function() {
30+
return generateBrowserScript('./lib/browser/zone.js', 'zone.js');
31+
});
32+
33+
gulp.task('build/zone-microtask.js', function() {
34+
return generateBrowserScript('./lib/browser/zone-microtask.js', 'zone-microtask.js');
35+
});
36+
37+
gulp.task('build', ['build/zone.js', 'build/zone-microtask.js']);
38+
39+
40+

Diff for: karma-browserify.conf.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@ module.exports = function (config) {
55
basePath: '',
66
files: [
77
'test/util.js',
8-
{pattern: 'zone.js', watched: true, served: false, included: false},
9-
//'test/lib/brick.js',
8+
{pattern: 'lib/zone.js', watched: true, served: false, included: false},
109
'test/commonjs.spec.js',
1110
{pattern: 'test/assets/**/*.html', watched: true, served: true, included: false}
1211
],
1312

1413
exclude: [
15-
14+
1615
],
1716

1817
reporters: ['progress'],

Diff for: karma.conf.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ module.exports = function (config) {
55
basePath: '',
66
files: [
77
'test/util.js',
8-
'zone.js',
9-
'*-zone.js',
8+
'dist/zone.js',
9+
'dist/*-zone.js',
1010
//'test/lib/brick.js',
1111
'test/**/*.spec.js',
1212
{pattern: 'test/assets/**/*.html', watched: true, served: true, included: false}

Diff for: lib/browser/zone-microtask.js

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
'use strict';
2+
3+
var core = require('../core');
4+
var microtask = require('../microtask');
5+
var browserPatch = require('../patch/browser');
6+
var es6Promise = require('../ext/es6-promise.js');
7+
8+
if (global.Zone) {
9+
console.warn('Zone already exported on window the object!');
10+
}
11+
12+
global.Zone = microtask.addMicrotaskSupport(core.Zone);
13+
global.zone = new global.Zone();
14+
15+
// Monkey path ẗhe Promise implementation to add support for microtasks
16+
global.Promise = es6Promise.Promise;
17+
18+
browserPatch.apply();
19+

Diff for: lib/browser/zone.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
'use strict';
2+
3+
var core = require('../core');
4+
var browserPatch = require('../patch/browser');
5+
6+
if (global.Zone) {
7+
console.warn('Zone already exported on window the object!');
8+
}
9+
10+
global.Zone = core.Zone;
11+
global.zone = new global.Zone();
12+
13+
browserPatch.apply();

0 commit comments

Comments
 (0)