Skip to content

Commit 71bfaa0

Browse files
chore(typescript): Upgrade project to typescript 2.0
Closes #3007
1 parent a201906 commit 71bfaa0

32 files changed

+97
-6525
lines changed

package.json

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "ui-router",
33
"description": "State-based routing for Javascript",
4-
"version": "1.0.0-beta.2",
4+
"version": "1.0.0-beta.3",
55
"scripts": {
66
"test": "npm run test:integrate",
77
"watch": "node_modules/watch/cli.js 'npm run test' src test",
@@ -61,13 +61,17 @@
6161
"@angular/core": "^2.0.0",
6262
"@angular/platform-browser": "^2.0.0",
6363
"@angular/platform-browser-dynamic": "^2.0.0",
64+
"@types/angular": "^1.5.14",
65+
"@types/angular-animate": "^1.5.5",
66+
"@types/angular-mocks": "^1.5.5",
67+
"@types/jasmine": "^2.2.34",
68+
"@types/jquery": "^1.10.31",
69+
"awesome-typescript-loader": "^2.2.4",
6470
"babel-core": "^5.8.14",
6571
"clone": "^1.0.2",
6672
"conventional-changelog": "^1.1.0",
6773
"conventional-changelog-cli": "^1.1.1",
68-
"es6-module-loader": "^0.17.3",
69-
"es6-promise": "^3.0.2",
70-
"es6-shim": "^0.35.0",
74+
"core-js": "^2.4.1",
7175
"glob": "^7.0.5",
7276
"jasmine-core": "^2.4.1",
7377
"karma": "^1.2.0",
@@ -80,16 +84,14 @@
8084
"lodash": "^4.5.1",
8185
"parallelshell": "^2.0.0",
8286
"phantomjs-polyfill": "0.0.1",
83-
"reflect-metadata": "=0.1.2",
8487
"remap-istanbul": "^0.6.3",
8588
"rxjs": "5.0.0-beta.12",
8689
"shelljs": "^0.7.0",
8790
"systemjs": "^0.18.4",
88-
"ts-loader": "^0.8.1",
8991
"tslint": "=2.5.0",
9092
"typedoc": "^0.4.4",
9193
"typedoc-plugin-external-module-name": "^1.0.2",
92-
"typescript": "~1.8.0",
94+
"typescript": "~2.0.2",
9395
"watch": "^0.18.0",
9496
"webpack": "1.x",
9597
"webpack-dev-server": "1.x",

packages/core/tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
22
"compilerOptions": { "rootDir": ".", "outDir": ".." },
3-
"files": [ "core.ts", "../typings/es6-shim/es6-shim.d.ts" ]
3+
"files": [ "core.ts" ],
4+
"types": [ "core-js" ]
45
}

packages/core/webpack.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ module.exports = {
3838

3939
module: {
4040
loaders: [
41-
{ test: /\.ts$/, loader: "ts-loader" }
41+
{ test: /\.ts$/, loader: "awesome-typescript-loader" }
4242
]
4343
},
4444

packages/ng1-bower/tsconfig.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
"compilerOptions": { "rootDir": ".", "outDir": "../commonjs" },
33
"files": [
44
"ng1.ts",
5-
"ng1/legacy/stateEvents.ts",
6-
"../typings/es6-shim/es6-shim.d.ts" ,
7-
"../typings/angularjs/angular.d.ts"
5+
"ng1/legacy/stateEvents.ts"
86
]
97
}

packages/ng1-bower/webpack.config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ module.exports = {
3131
extensions: ['', '.js', '.ts']
3232
},
3333

34+
externals: [ 'angular' ],
35+
3436
plugins: [
3537
new webpack.optimize.UglifyJsPlugin({
3638
include: /\.min\.js$/, minimize: true
@@ -40,7 +42,7 @@ module.exports = {
4042

4143
module: {
4244
loaders: [
43-
{ test: /\.ts$/, loader: "ts-loader" }
45+
{ test: /\.ts$/, loader: "awesome-typescript-loader" }
4446
]
4547
},
4648

packages/ng1/tsconfig.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
"compilerOptions": { "rootDir": ".", "outDir": "../commonjs" },
33
"files": [
44
"ng1.ts",
5-
"ng1/legacy/stateEvents.ts",
6-
"../typings/es6-shim/es6-shim.d.ts" ,
7-
"../typings/angularjs/angular.d.ts"
5+
"ng1/legacy/stateEvents.ts"
86
]
97
}

packages/ng1/webpack.config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ module.exports = {
3131
extensions: ['', '.js', '.ts']
3232
},
3333

34+
externals: [ 'angular' ],
35+
3436
plugins: [
3537
new webpack.optimize.UglifyJsPlugin({
3638
include: /\.min\.js$/, minimize: true
@@ -40,7 +42,7 @@ module.exports = {
4042

4143
module: {
4244
loaders: [
43-
{ test: /\.ts$/, loader: "ts-loader" }
45+
{ test: /\.ts$/, loader: "awesome-typescript-loader" }
4446
]
4547
},
4648

packages/ng2/tsconfig.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
"declaration": true,
1111
"sourceMap": true
1212
},
13-
"files": [
14-
"ng2.ts", "../typings/es6-shim/es6-shim.d.ts"
15-
]
13+
"files": [ "ng2.ts" ],
14+
"types": [ "core-js" ]
1615
}

packages/ng2/webpack.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ module.exports = {
3838

3939
module: {
4040
loaders: [
41-
{ test: /\.ts$/, loader: "ts-loader" }
41+
{ test: /\.ts$/, loader: "awesome-typescript-loader" }
4242
]
4343
},
4444

scripts/package.js

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,21 @@ function prepPackage(pkgName) {
2020
if (!pkgName) usage();
2121

2222
let paths = {};
23+
let files = { bin: {} };
24+
2325
paths.script = __filename;
2426
paths.scriptdir = __dirname;
25-
paths.basedir = path.resolve(paths.scriptdir, '..');
26-
paths.pkgsrc = path.resolve(paths.basedir, 'packages', pkgName);
27-
paths.build = path.resolve(paths.basedir, `build_packages/${pkgName}`);
28-
29-
let files = {};
30-
files.sources = path.resolve(paths.pkgsrc, "sources.json");
31-
files.pkgfile = path.resolve(paths.pkgsrc, "package.json");
32-
files.bowerfile = path.resolve(paths.pkgsrc, "bower.json");
33-
files.tsconfig = path.resolve(paths.pkgsrc, "tsconfig.json");
34-
files.webpack = path.resolve(paths.pkgsrc, "webpack.config.js");
27+
paths.basedir = path.resolve(paths.scriptdir, '..');
28+
paths.pkgsrc = path.resolve(paths.basedir, 'packages', pkgName);
29+
paths.build = path.resolve(paths.basedir, `build_packages/${pkgName}`);
30+
31+
files.sources = path.resolve(paths.pkgsrc, "sources.json");
32+
files.pkgfile = path.resolve(paths.pkgsrc, "package.json");
33+
files.bowerfile = path.resolve(paths.pkgsrc, "bower.json");
34+
files.tsconfig = path.resolve(paths.pkgsrc, "tsconfig.json");
35+
files.webpack = path.resolve(paths.pkgsrc, "webpack.config.js");
36+
files.bin.webpack = path.resolve(paths.basedir, "node_modules/webpack/bin/webpack.js");
37+
files.bin.tsc = path.resolve(paths.basedir, "node_modules/typescript/bin/tsc");
3538

3639
// Check for some paths and files required to build a package
3740
assertDir(paths.pkgsrc);
@@ -107,22 +110,22 @@ function prepPackage(pkgName) {
107110

108111
// Merge the root tsconfig.json with the tsconfig property of package.config.js
109112
// Write the merged tsconfig.json to the copied source files dir
110-
let baseTsConfigJson = require('../tsconfig.json');
111-
delete baseTsConfigJson.files;
112-
let tsconfigJson = _.merge({}, baseTsConfigJson, JSON.parse(fs.readFileSync(files.tsconfig)));
113-
fs.writeFileSync(path.resolve(paths.srcCopy, 'tsconfig.json'), asJson(tsconfigJson));
113+
let tsconfig = Object.assign({}, require('../tsconfig.json'));
114+
let overrides = JSON.parse(fs.readFileSync(files.tsconfig));
115+
['compilerOptions'].forEach(key => {
116+
Object.assign(tsconfig[key], overrides[key]);
117+
delete overrides[key]
118+
});
119+
Object.assign(tsconfig, overrides);
114120

115-
echo('--> Linking node_modules and typings...');
116-
// In case the source needs typings and node_modules to compile, symlink them
117-
ln('-sf', `${paths.basedir}/typings`, `${paths.build}/typings`);
118-
ln('-sf', `${paths.basedir}/node_modules`, `${paths.srcCopy}/node_modules`);
121+
fs.writeFileSync(path.resolve(paths.srcCopy, 'tsconfig.json'), asJson(tsconfig));
119122

120123
echo('--> Building webpack bundles...');
121124
cd(paths.srcCopy);
122-
exec(`node ./node_modules/webpack/bin/webpack.js`);
125+
exec(`node ${files.bin.webpack}`);
123126

124127
echo('--> Building commonjs and typings using tsc...');
125-
exec(`node ./node_modules/typescript/bin/tsc`);
128+
exec(`node ${files.bin.tsc}`);
126129

127130
echo('<-- done!');
128131
}

0 commit comments

Comments
 (0)