Skip to content

Commit 00e9d6a

Browse files
christopherthielenmergify[bot]
authored andcommitted
Ivy support (#674)
* chore(travis): Do not install custom yarn version (travis seems to be installing recent versions these days) * feat(package): Switch to ng-packagr for packaging @uirouter/angular * chore(package): update package.json scripts for ng-packagr style * chore(package): update to @uirouter/[email protected] * feat(package): switch to peerDependencies for uirouter/core and /rx and require angular 8 peer dependencies BREAKING CHANGE: uirouter core and rx packages are now `peerDependencies`. You will need to explicitly install the correct versions of `@uirouter/core` and `@uirouter/rx` into your project. before: ``` dependencies: { "@uirouter/angular": "4.0.0" } ``` after (example -- versions will vary): ``` dependencies: { "@uirouter/angular": "5.0.0" "@uirouter/core": "6.0.1", "@uirouter/rx": "0.6.0", } ``` Or, use this command to automatically install peerDependencies: ``` npx check-peer-dependencies --install ``` * chore(package): Build with Angular 8 * fix(angular8): Add static: true to ViewChild * fix(lazyLoad): Remove dependency on angular/router in favor of using ivy Ivy supports lazy loading of modules without depending on the ROUTES token from angular/router. * feat(package): Drop support for Angular version 7 and lower BREAKING CHANGE: UIRouter for Angular v6.0.0 now requires Angular 8 or higher * test(angular-versions): Test against Angular 9 * test(typescript-versions): Test against Typescript 3.4 through 3.7 * test(angular-versions): Angular 9: npx ng update @angular/core @angular/cli --next * test(angular-versions): Angular 8: remove package-lock.json
1 parent 2f1506c commit 00e9d6a

File tree

96 files changed

+7062
-2901
lines changed

Some content is hidden

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

96 files changed

+7062
-2901
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ _doc
1414
_bundles
1515
lib
1616
lib-esm
17+
dist

.travis.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ services:
44
- xvfb
55
before_install:
66
- sudo apt-get install libgconf-2-4
7-
- export PATH=$HOME/.yarn/bin:$PATH
8-
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.5.1
97
script:
108
- if [ "x${CORE_BRANCH}x" != "xx" ] ; then ./node_modules/.bin/publish_yalc_package .downstream_cache/core https://github.com/ui-router/core.git && yalc add @uirouter/core ; fi
119
- tsc &&

downstream_projects.json

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
{
2-
"angular6": "./test-angular-versions/v6",
3-
"angular7": "./test-angular-versions/v7",
4-
"angular8": "./test-angular-versions/v8",
5-
"typescript2.3": "./test-typescript-versions/typescript2.3",
6-
"typescript2.4": "./test-typescript-versions/typescript2.4",
7-
"typescript2.5": "./test-typescript-versions/typescript2.5",
8-
"typescript2.6": "./test-typescript-versions/typescript2.6",
9-
"typescript2.7": "./test-typescript-versions/typescript2.7",
10-
"typescript2.8": "./test-typescript-versions/typescript2.8",
11-
"typescript2.9": "./test-typescript-versions/typescript2.9",
12-
"typescript3.1": "./test-typescript-versions/typescript3.1",
13-
"typescript3.2": "./test-typescript-versions/typescript3.2",
14-
"sample-app-angular": "https://github.com/ui-router/sample-app-angular.git"
2+
"packageDir": "./dist",
3+
"projects": {
4+
"angular8": "./test-angular-versions/v8",
5+
"angular9": "./test-angular-versions/v9",
6+
"typescript3.4": "./test-typescript-versions/typescript3.4",
7+
"typescript3.5": "./test-typescript-versions/typescript3.5",
8+
"typescript3.6": "./test-typescript-versions/typescript3.6",
9+
"typescript3.7": "./test-typescript-versions/typescript3.7",
10+
"sample-app-angular": "https://github.com/ui-router/sample-app-angular.git"
11+
}
1512
}

package.json

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
{
2+
"$schema": "./node_modules/ng-packagr/package.schema.json",
23
"name": "@uirouter/angular",
34
"description": "State-based routing for Angular",
45
"version": "5.0.0",
56
"scripts": {
6-
"clean": "shx rm -rf lib lib-esm _bundles _doc",
7+
"clean": "shx rm -rf lib lib-esm _bundles _doc dist",
78
"compile": "npm run clean && ngc",
8-
"bundle": "rollup -c && rollup -c --environment MINIFY",
9-
"fixmaps:lib": "tweak_sourcemap_paths -a --include 'lib/**/*.js.map' 'lib-esm/**/*.js.map'",
10-
"fixmaps:bundle": "tweak_sourcemap_paths -a --include '_bundles/**/*.js.map'",
11-
"build": "run-s compile bundle fixmaps:*",
9+
"build": "ng-packagr -p package.json",
1210
"release": "release --deps @uirouter/core @uirouter/rx",
1311
"test": "karma start",
1412
"test:downstream": "test_downstream_projects",
1513
"debug": "karma start --singleRun=false --autoWatch=true --autoWatchInterval=1 --browsers=Chrome",
16-
"package": "npm run build",
1714
"docs": "generate_docs",
1815
"docs:publish": "generate_docs && publish_docs",
19-
"prepublishOnly": "npm run build",
20-
"changelog": "update_changelog --include-core",
21-
"artifacts": "artifact_tagging"
16+
"prepublishOnly": "echo && echo DO NOT RUN npm publish. Instead, run npm run release && echo && echo && false",
17+
"changelog": "update_changelog --include-core"
2218
},
2319
"homepage": "https://ui-router.github.io/angular",
2420
"contributors": [
@@ -44,31 +40,33 @@
4440
"node": ">=6.0.0"
4541
},
4642
"license": "MIT",
47-
"main": "_bundles/ui-router-ng2.js",
48-
"module": "lib/index.js",
49-
"typings": "lib/index.d.ts",
50-
"dependencies": {
51-
"@uirouter/core": "^6.0.1",
52-
"@uirouter/rx": "^0.6.0"
43+
"distDir": "dist",
44+
"ngPackage": {
45+
"lib": {
46+
"entryFile": "src/index.ts"
47+
}
5348
},
5449
"peerDependencies": {
55-
"@angular/common": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
56-
"@angular/core": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
57-
"@angular/router": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
50+
"@angular/common": ">=8.0.0",
51+
"@angular/core": ">=8.0.0",
52+
"@uirouter/core": "^6.0.1",
53+
"@uirouter/rx": "^0.6.0"
5854
},
5955
"devDependencies": {
60-
"@angular/animations": "^6.1.2",
61-
"@angular/common": "^5.0.0",
62-
"@angular/compiler": "^5.0.0",
63-
"@angular/compiler-cli": "^5.0.0",
64-
"@angular/core": "^5.0.0",
65-
"@angular/platform-browser": "^5.0.0",
66-
"@angular/platform-browser-dynamic": "^5.0.0",
67-
"@angular/platform-server": "^5.0.0",
68-
"@angular/router": "^5.0.0",
56+
"@angular/animations": "^8.2.5",
57+
"@angular/common": "^8.2.5",
58+
"@angular/compiler": "^8.2.5",
59+
"@angular/compiler-cli": "^8.2.5",
60+
"@angular/core": "^8.2.5",
61+
"@angular/platform-browser": "^8.2.5",
62+
"@angular/platform-browser-dynamic": "^8.2.5",
63+
"@angular/platform-server": "^8.2.5",
64+
"@angular/router": "^8.2.5",
6965
"@types/jasmine": "3.4.0",
7066
"@types/jquery": "^3.3.29",
67+
"@uirouter/core": "^6.0.1",
7168
"@uirouter/publish-scripts": "^2.3.37",
69+
"@uirouter/rx": "^0.6.0",
7270
"husky": "^3.0.0",
7371
"jasmine-core": "^3.3.0",
7472
"karma": "^4.1.0",
@@ -78,22 +76,23 @@
7876
"karma-sourcemap-loader": "^0.3.7",
7977
"karma-super-dots-reporter": "^0.2.0",
8078
"karma-webpack": "^3.0.5",
79+
"ng-packagr": "^5.3.0",
8180
"prettier": "^1.18.2",
8281
"pretty-quick": "^1.11.1",
8382
"rollup": "^1.15.5",
8483
"rollup-plugin-commonjs": "^10.0.0",
8584
"rollup-plugin-node-resolve": "^5.0.2",
8685
"rollup-plugin-sourcemaps": "^0.4.2",
8786
"rollup-plugin-uglify": "^6.0.0",
88-
"rxjs": "^6.3.2",
87+
"rxjs": "^6.5.3",
8988
"rxjs-compat": "^6.3.2",
9089
"ts-loader": "^3.5.0",
9190
"tslib": "^1.9.3",
9291
"tslint": "^5.11.0",
93-
"typescript": "^3.2.4",
92+
"typescript": "~3.5.3",
9493
"webpack": "^3.11.0",
9594
"webpack-dev-server": "^3.1.4",
96-
"zone.js": "^0.10.2"
95+
"zone.js": "~0.9.1"
9796
},
9897
"husky": {
9998
"hooks": {

src/directives/uiView.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ const ng2ComponentInputs = (factory: ComponentFactory<any>): InputMapping[] => {
122122
export class UIView implements OnInit, OnDestroy {
123123
static PARENT_INJECT = 'UIView.PARENT_INJECT';
124124

125-
@ViewChild('componentTarget', { read: ViewContainerRef })
125+
@ViewChild('componentTarget', { read: ViewContainerRef, static: true })
126126
_componentTarget: ViewContainerRef;
127127
@Input('name') name: string;
128128

src/uiRouterNgModule.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,9 @@ import { UIView } from './directives/uiView';
2323
import { UrlRuleHandlerFn, TargetState, TargetStateDef, UIRouter, TransitionService } from '@uirouter/core';
2424
import { _UIROUTER_INSTANCE_PROVIDERS, _UIROUTER_SERVICE_PROVIDERS } from './providers';
2525

26-
import { ROUTES } from '@angular/router';
2726
/** @hidden */ export const UIROUTER_ROOT_MODULE = new InjectionToken('UIRouter Root Module');
2827
/** @hidden */ export const UIROUTER_MODULE_TOKEN = new InjectionToken('UIRouter Module');
2928
/** @hidden */ export const UIROUTER_STATES = new InjectionToken('UIRouter States');
30-
// /** @hidden */ export const ROUTES = UIROUTER_STATES;
3129

3230
// Delay angular bootstrap until first transition is successful, for SSR.
3331
// See https://github.com/ui-router/angular/pull/127
@@ -50,7 +48,6 @@ export function makeRootProviders(module: RootModule): Provider[] {
5048
return [
5149
{ provide: UIROUTER_ROOT_MODULE, useValue: module, multi: true },
5250
{ provide: UIROUTER_MODULE_TOKEN, useValue: module, multi: true },
53-
{ provide: ROUTES, useValue: module.states || [], multi: true },
5451
{ provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: module.states || [], multi: true },
5552
{
5653
provide: APP_INITIALIZER,
@@ -64,7 +61,6 @@ export function makeRootProviders(module: RootModule): Provider[] {
6461
export function makeChildProviders(module: StatesModule): Provider[] {
6562
return [
6663
{ provide: UIROUTER_MODULE_TOKEN, useValue: module, multi: true },
67-
{ provide: ROUTES, useValue: module.states || [], multi: true },
6864
{ provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: module.states || [], multi: true },
6965
];
7066
}

test-angular-versions/v6/.editorconfig

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

test-angular-versions/v6/.gitignore

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

test-angular-versions/v6/README.md

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

test-angular-versions/v6/angular.json

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

0 commit comments

Comments
 (0)