Skip to content

Commit 71ae2c4

Browse files
IgorMinarvicb
authored andcommitted
refactor(webworkers): move webworkers to separate @angular/platform-webworker and @angular/platform-webworker-dynamic packages
BREAKING CHANGE: web worker platform is now exported via separate packages. Please use @angular/platform-webworker and @angular/platform-webworker-dynamic
1 parent 0f68351 commit 71ae2c4

File tree

84 files changed

+561
-305
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+561
-305
lines changed

build.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ for PACKAGE in \
6464
platform-browser \
6565
platform-browser-dynamic \
6666
platform-server \
67+
platform-webworker \
68+
platform-webworker-dynamic \
6769
http \
6870
router \
6971
upgrade \

gulpfile.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ const entrypoints = [
4242
'dist/packages-dist/platform-browser/testing/index.d.ts',
4343
'dist/packages-dist/platform-browser-dynamic/index.d.ts',
4444
'dist/packages-dist/platform-browser-dynamic/testing/index.d.ts',
45+
'dist/packages-dist/platform-webworker/index.d.ts',
46+
'dist/packages-dist/platform-webworker-dynamic/index.d.ts',
4547
'dist/packages-dist/platform-server/index.d.ts',
4648
'dist/packages-dist/platform-server/testing/index.d.ts',
4749
'dist/packages-dist/http/index.d.ts',

modules/@angular/http/src/package.json

Lines changed: 0 additions & 15 deletions
This file was deleted.

modules/@angular/platform-browser-dynamic/src/platform-browser-dynamic.ts

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,11 @@
77
*/
88

99
import {ResourceLoader, platformCoreDynamic} from '@angular/compiler';
10-
import {ApplicationRef, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, ClassProvider, CompilerFactory, CompilerOptions, ComponentRef, ExistingProvider, FactoryProvider, NgModule, PlatformRef, Provider, Type, TypeProvider, ValueProvider, createPlatformFactory} from '@angular/core';
11-
import {BrowserModule, WORKER_SCRIPT, WorkerAppModule, platformWorkerUi} from '@angular/platform-browser';
10+
import {ClassProvider, ExistingProvider, FactoryProvider, PlatformRef, Provider, TypeProvider, ValueProvider, createPlatformFactory} from '@angular/core';
1211

1312
import {INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS} from './platform_providers';
1413
import {Console} from './private_import_core';
1514
import {CachedResourceLoader} from './resource_loader/resource_loader_cache';
16-
import {ResourceLoaderImpl} from './resource_loader/resource_loader_impl';
1715

1816
export * from './private_export';
1917

@@ -28,32 +26,3 @@ export const RESOURCE_CACHE_PROVIDER: Provider[] =
2826
*/
2927
export const platformBrowserDynamic = createPlatformFactory(
3028
platformCoreDynamic, 'browserDynamic', INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS);
31-
32-
/**
33-
* Bootstraps the worker ui.
34-
*
35-
* @experimental
36-
*/
37-
export function bootstrapWorkerUi(
38-
workerScriptUri: string, customProviders: Provider[] = []): Promise<PlatformRef> {
39-
// For now, just creates the worker ui platform...
40-
return Promise.resolve(platformWorkerUi(([{
41-
provide: WORKER_SCRIPT,
42-
useValue: workerScriptUri,
43-
}] as Provider[])
44-
.concat(customProviders)));
45-
}
46-
47-
/**
48-
* @experimental API related to bootstrapping are still under review.
49-
*/
50-
export const platformWorkerAppDynamic = createPlatformFactory(
51-
platformCoreDynamic, 'workerAppDynamic', [{
52-
provide: COMPILER_OPTIONS,
53-
useValue: {providers: [{provide: ResourceLoader, useClass: ResourceLoaderImpl}]},
54-
multi: true
55-
}]);
56-
57-
function normalizeArray(arr: any[]): any[] {
58-
return arr ? arr : [];
59-
}

modules/@angular/platform-browser-dynamic/src/private_export.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,13 @@
77
*/
88
import {ClassProvider, ExistingProvider, FactoryProvider, Provider, TypeProvider, ValueProvider} from '@angular/core';
99
import {INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS} from './platform_providers';
10+
import * as resource_loader from './resource_loader/resource_loader_impl';
1011

1112
export var __platform_browser_dynamic_private__: {
12-
INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS: typeof INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS;
13+
INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS: typeof INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS,
14+
_ResourceLoaderImpl?: resource_loader.ResourceLoaderImpl,
15+
ResourceLoaderImpl: typeof resource_loader.ResourceLoaderImpl
1316
} = {
14-
INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS: INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS
17+
INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS: INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS,
18+
ResourceLoaderImpl: resource_loader.ResourceLoaderImpl
1519
};

modules/@angular/platform-browser/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
"license": "MIT",
1010
"peerDependencies": {
1111
"@angular/core": "0.0.0-PLACEHOLDER",
12-
"@angular/common": "0.0.0-PLACEHOLDER",
13-
"@angular/compiler": "0.0.0-PLACEHOLDER"
12+
"@angular/common": "0.0.0-PLACEHOLDER"
1413
},
1514
"repository": {
1615
"type": "git",

modules/@angular/platform-browser/src/browser/location/browser_platform_location.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ import {supportsState} from './history';
2020
* `PlatformLocation` encapsulates all of the direct calls to platform APIs.
2121
* This class should not be used directly by an application developer. Instead, use
2222
* {@link Location}.
23-
*
24-
* @stable
2523
*/
2624
@Injectable()
2725
export class BrowserPlatformLocation extends PlatformLocation {
@@ -40,7 +38,6 @@ export class BrowserPlatformLocation extends PlatformLocation {
4038
this._history = getDOM().getHistory();
4139
}
4240

43-
/** @internal */
4441
get location(): Location { return this._location; }
4542

4643
getBaseHrefFromDOM(): string { return getDOM().getBaseHref(); }

modules/@angular/platform-browser/src/platform-browser.ts

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,14 @@
77
*/
88

99
export {BrowserModule, platformBrowser} from './browser';
10-
export {BrowserPlatformLocation} from './browser/location/browser_platform_location';
1110
export {Title} from './browser/title';
1211
export {disableDebugTools, enableDebugTools} from './browser/tools/tools';
1312
export {AnimationDriver} from './dom/animation_driver';
1413
export {By} from './dom/debug/by';
14+
export {NgProbeToken} from './dom/debug/ng_probe';
1515
export {DOCUMENT} from './dom/dom_tokens';
1616
export {EVENT_MANAGER_PLUGINS, EventManager} from './dom/events/event_manager';
1717
export {HAMMER_GESTURE_CONFIG, HammerGestureConfig} from './dom/events/hammer_gestures';
1818
export {DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl} from './security/dom_sanitization_service';
19-
// Web Workers
20-
export {ClientMessageBroker, ClientMessageBrokerFactory, FnArg, UiArguments} from './web_workers/shared/client_message_broker';
21-
export {PRIMITIVE} from './web_workers/shared/serializer';
22-
export {ReceivedMessage, ServiceMessageBroker, ServiceMessageBrokerFactory} from './web_workers/shared/service_message_broker';
23-
24-
export * from './web_workers/shared/message_bus';
25-
export {WORKER_APP_LOCATION_PROVIDERS} from './web_workers/worker/location_providers';
26-
export {WORKER_UI_LOCATION_PROVIDERS} from './web_workers/ui/location_providers';
2719

28-
export {NgProbeToken} from './dom/debug/ng_probe';
29-
export {platformWorkerUi, WebWorkerInstance, WORKER_SCRIPT, WORKER_UI_STARTABLE_MESSAGING_SERVICE} from './worker_render';
30-
export {platformWorkerApp, WorkerAppModule} from './worker_app';
3120
export * from './private_export';

modules/@angular/platform-browser/src/private_export.ts

Lines changed: 39 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,40 +9,62 @@ import {ClassProvider, ExistingProvider, FactoryProvider, Provider, TypeProvider
99

1010
import * as browser from './browser';
1111
import * as browserDomAdapter from './browser/browser_adapter';
12+
import * as location from './browser/location/browser_platform_location';
13+
import * as testability from './browser/testability';
1214
import * as ng_probe from './dom/debug/ng_probe';
1315
import * as dom_adapter from './dom/dom_adapter';
1416
import * as dom_renderer from './dom/dom_renderer';
1517
import * as dom_events from './dom/events/dom_events';
18+
import * as hammer_gesture from './dom/events/hammer_gestures';
19+
import * as key_events from './dom/events/key_events';
1620
import * as shared_styles_host from './dom/shared_styles_host';
1721

22+
23+
1824
export var __platform_browser_private__: {
19-
_DomAdapter?: typeof dom_adapter.DomAdapter; DomAdapter: typeof dom_adapter.DomAdapter;
20-
_BrowserDomAdapter?: typeof browserDomAdapter.BrowserDomAdapter;
21-
BrowserDomAdapter: typeof browserDomAdapter.BrowserDomAdapter;
22-
getDOM: typeof dom_adapter.getDOM;
23-
setRootDomAdapter: typeof dom_adapter.setRootDomAdapter;
24-
_DomRootRenderer_?: typeof dom_renderer.DomRootRenderer;
25-
DomRootRenderer_: typeof dom_renderer.DomRootRenderer_;
26-
_DomSharedStylesHost?: typeof shared_styles_host.DomSharedStylesHost;
27-
DomSharedStylesHost: typeof shared_styles_host.DomSharedStylesHost;
28-
_SharedStylesHost?: typeof shared_styles_host.SharedStylesHost;
29-
SharedStylesHost: typeof shared_styles_host.SharedStylesHost;
30-
ELEMENT_PROBE_PROVIDERS: typeof ng_probe.ELEMENT_PROBE_PROVIDERS;
31-
_DomEventsPlugin?: typeof dom_events.DomEventsPlugin;
32-
DomEventsPlugin: typeof dom_events.DomEventsPlugin;
33-
_initDomAdapter?: typeof browser.initDomAdapter,
25+
_BrowserPlatformLocation?: location.BrowserPlatformLocation,
26+
BrowserPlatformLocation: typeof location.BrowserPlatformLocation,
27+
_DomAdapter?: dom_adapter.DomAdapter,
28+
DomAdapter: typeof dom_adapter.DomAdapter,
29+
_BrowserDomAdapter?: browserDomAdapter.BrowserDomAdapter,
30+
BrowserDomAdapter: typeof browserDomAdapter.BrowserDomAdapter,
31+
_BrowserGetTestability?: testability.BrowserGetTestability,
32+
BrowserGetTestability: typeof testability.BrowserGetTestability,
33+
getDOM: typeof dom_adapter.getDOM,
34+
setRootDomAdapter: typeof dom_adapter.setRootDomAdapter,
35+
_DomRootRenderer?: dom_renderer.DomRootRenderer,
36+
DomRootRenderer: typeof dom_renderer.DomRootRenderer,
37+
_DomRootRenderer_?: dom_renderer.DomRootRenderer,
38+
DomRootRenderer_: typeof dom_renderer.DomRootRenderer_,
39+
_DomSharedStylesHost?: shared_styles_host.DomSharedStylesHost,
40+
DomSharedStylesHost: typeof shared_styles_host.DomSharedStylesHost,
41+
_SharedStylesHost?: shared_styles_host.SharedStylesHost,
42+
SharedStylesHost: typeof shared_styles_host.SharedStylesHost,
43+
ELEMENT_PROBE_PROVIDERS: typeof ng_probe.ELEMENT_PROBE_PROVIDERS,
44+
_DomEventsPlugin?: dom_events.DomEventsPlugin,
45+
DomEventsPlugin: typeof dom_events.DomEventsPlugin, _KeyEventsPlugin?: key_events.KeyEventsPlugin,
46+
KeyEventsPlugin: typeof key_events.KeyEventsPlugin,
47+
_HammerGesturesPlugin?: hammer_gesture.HammerGesturesPlugin,
48+
HammerGesturesPlugin: typeof hammer_gesture.HammerGesturesPlugin,
3449
initDomAdapter: typeof browser.initDomAdapter,
35-
INTERNAL_BROWSER_PLATFORM_PROVIDERS: typeof browser.INTERNAL_BROWSER_PLATFORM_PROVIDERS;
50+
INTERNAL_BROWSER_PLATFORM_PROVIDERS: typeof browser.INTERNAL_BROWSER_PLATFORM_PROVIDERS,
51+
BROWSER_SANITIZATION_PROVIDERS: typeof browser.BROWSER_SANITIZATION_PROVIDERS
3652
} = {
53+
BrowserPlatformLocation: location.BrowserPlatformLocation,
3754
DomAdapter: dom_adapter.DomAdapter,
3855
BrowserDomAdapter: browserDomAdapter.BrowserDomAdapter,
56+
BrowserGetTestability: testability.BrowserGetTestability,
3957
getDOM: dom_adapter.getDOM,
4058
setRootDomAdapter: dom_adapter.setRootDomAdapter,
4159
DomRootRenderer_: dom_renderer.DomRootRenderer_,
60+
DomRootRenderer: dom_renderer.DomRootRenderer,
4261
DomSharedStylesHost: shared_styles_host.DomSharedStylesHost,
4362
SharedStylesHost: shared_styles_host.SharedStylesHost,
4463
ELEMENT_PROBE_PROVIDERS: ng_probe.ELEMENT_PROBE_PROVIDERS,
4564
DomEventsPlugin: dom_events.DomEventsPlugin,
65+
KeyEventsPlugin: key_events.KeyEventsPlugin,
66+
HammerGesturesPlugin: hammer_gesture.HammerGesturesPlugin,
4667
initDomAdapter: browser.initDomAdapter,
47-
INTERNAL_BROWSER_PLATFORM_PROVIDERS: browser.INTERNAL_BROWSER_PLATFORM_PROVIDERS
68+
INTERNAL_BROWSER_PLATFORM_PROVIDERS: browser.INTERNAL_BROWSER_PLATFORM_PROVIDERS,
69+
BROWSER_SANITIZATION_PROVIDERS: browser.BROWSER_SANITIZATION_PROVIDERS
4870
};

modules/@angular/platform-browser/src/private_import_core.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,15 @@ import {__core_private__ as r} from '@angular/core';
1010

1111
export type RenderDebugInfo = typeof r._RenderDebugInfo;
1212
export var RenderDebugInfo: typeof r.RenderDebugInfo = r.RenderDebugInfo;
13+
1314
export var ReflectionCapabilities: typeof r.ReflectionCapabilities = r.ReflectionCapabilities;
1415
export var VIEW_ENCAPSULATION_VALUES: typeof r.VIEW_ENCAPSULATION_VALUES =
1516
r.VIEW_ENCAPSULATION_VALUES;
17+
1618
export type DebugDomRootRenderer = typeof r._DebugDomRootRenderer;
1719
export var DebugDomRootRenderer: typeof r.DebugDomRootRenderer = r.DebugDomRootRenderer;
1820
export var reflector: typeof r.reflector = r.reflector;
21+
1922
export type NoOpAnimationPlayer = typeof r._NoOpAnimationPlayer;
2023
export var NoOpAnimationPlayer: typeof r.NoOpAnimationPlayer = r.NoOpAnimationPlayer;
2124
export type AnimationPlayer = typeof r._AnimationPlayer;

modules/@angular/platform-server/src/server.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {PlatformLocation} from '@angular/common';
1010
import {platformCoreDynamic} from '@angular/compiler';
1111
import {ClassProvider, ExistingProvider, FactoryProvider, NgModule, PLATFORM_INITIALIZER, PlatformRef, Provider, TypeProvider, ValueProvider, createPlatformFactory, platformCore} from '@angular/core';
1212
import {BrowserModule} from '@angular/platform-browser';
13+
1314
import {Parse5DomAdapter} from './parse5_adapter';
1415

1516
function notSupported(feature: string): Error {
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* @license
3+
* Copyright Google Inc. All Rights Reserved.
4+
*
5+
* Use of this source code is governed by an MIT-style license that can be
6+
* found in the LICENSE file at https://angular.io/license
7+
*/
8+
9+
/**
10+
* @module
11+
* @description
12+
* Entry point for all public APIs of the platform-browser-dynamic package.
13+
*/
14+
export * from './src/platform-webworker-dynamic';
15+
16+
// This file only reexports content of the `src` folder. Keep it that way.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "@angular/platform-webworker-dynamic",
3+
"version": "0.0.0-PLACEHOLDER",
4+
"description": "Angular 2 platform-webworker-dynamic",
5+
"main": "bundles/platform-webworker-dynamic.umd.js",
6+
"module": "index.js",
7+
"typings": "index.d.ts",
8+
"author": "angular",
9+
"license": "MIT",
10+
"peerDependencies": {
11+
"@angular/core": "0.0.0-PLACEHOLDER",
12+
"@angular/compiler": "0.0.0-PLACEHOLDER",
13+
"@angular/platform-browser": "0.0.0-PLACEHOLDER",
14+
"@angular/platform-webworker": "0.0.0-PLACEHOLDER"
15+
},
16+
"repository": {
17+
"type": "git",
18+
"url": "https://github.com/angular/angular.git"
19+
}
20+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
export default {
2+
entry: '../../../dist/packages-dist/platform-webworker-dynamic/index.js',
3+
dest: '../../../dist/packages-dist/platform-webworker-dynamic/bundles/platform-webworker-dynamic.umd.js',
4+
format: 'umd',
5+
moduleName: 'ng.platformWebworkerDynamic',
6+
globals: {
7+
'@angular/core': 'ng.core',
8+
'@angular/common': 'ng.common',
9+
'@angular/compiler': 'ng.compiler',
10+
'@angular/platform-browser': 'ng.platformBrowser',
11+
'@angular/platform-webworker': 'ng.platformWebworker',
12+
'rxjs/Subject': 'Rx',
13+
'rxjs/observable/PromiseObservable': 'Rx', // this is wrong, but this stuff has changed in rxjs b.6 so we need to fix it when we update.
14+
'rxjs/operator/toPromise': 'Rx.Observable.prototype',
15+
'rxjs/Observable': 'Rx'
16+
}
17+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../facade/src
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* @license
3+
* Copyright Google Inc. All Rights Reserved.
4+
*
5+
* Use of this source code is governed by an MIT-style license that can be
6+
* found in the LICENSE file at https://angular.io/license
7+
*/
8+
9+
import {ResourceLoader, platformCoreDynamic} from '@angular/compiler';
10+
import {COMPILER_OPTIONS, ClassProvider, ExistingProvider, FactoryProvider, PlatformRef, Provider, TypeProvider, ValueProvider, createPlatformFactory} from '@angular/core';
11+
import {ResourceLoaderImpl} from './private_import_platform-browser-dynamic';
12+
13+
14+
/**
15+
* @experimental API related to bootstrapping are still under review.
16+
*/
17+
export const platformWorkerAppDynamic = createPlatformFactory(
18+
platformCoreDynamic, 'workerAppDynamic', [{
19+
provide: COMPILER_OPTIONS,
20+
useValue: {providers: [{provide: ResourceLoader, useClass: ResourceLoaderImpl}]},
21+
multi: true
22+
}]);
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/**
2+
* @license
3+
* Copyright Google Inc. All Rights Reserved.
4+
*
5+
* Use of this source code is governed by an MIT-style license that can be
6+
* found in the LICENSE file at https://angular.io/license
7+
*/
8+
9+
import {__core_private__ as r} from '@angular/core';
10+
11+
export var ReflectionCapabilities: typeof r.ReflectionCapabilities = r.ReflectionCapabilities;
12+
export var reflector: typeof r.reflector = r.reflector;
13+
export var Console: typeof r.Console = r.Console;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* @license
3+
* Copyright Google Inc. All Rights Reserved.
4+
*
5+
* Use of this source code is governed by an MIT-style license that can be
6+
* found in the LICENSE file at https://angular.io/license
7+
*/
8+
9+
import {__platform_browser_dynamic_private__ as _} from '@angular/platform-browser-dynamic';
10+
11+
export var ResourceLoaderImpl: typeof _.ResourceLoaderImpl = _.ResourceLoaderImpl;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/**
2+
* @license
3+
* Copyright Google Inc. All Rights Reserved.
4+
*
5+
* Use of this source code is governed by an MIT-style license that can be
6+
* found in the LICENSE file at https://angular.io/license
7+
*/
8+
9+
import {__platform_browser_private__ as _} from '@angular/platform-browser';
10+
11+
export var INTERNAL_BROWSER_PLATFORM_PROVIDERS: typeof _.INTERNAL_BROWSER_PLATFORM_PROVIDERS =
12+
_.INTERNAL_BROWSER_PLATFORM_PROVIDERS;
13+
export var getDOM: typeof _.getDOM = _.getDOM;

0 commit comments

Comments
 (0)