Skip to content

Commit 96b1871

Browse files
bajtosraymondfeng
authored andcommitted
feat: enable declarationMap, use .d.ts files in monorepo too
Configure TSC to emit declaration maps, providing information needed by IDEs like VSCode to jump from usage of a symbol to its definition in the original source code. Simplify layout of all packages, remove top-level `index.ts` and `index.d.ts` files in favor of a package.json entry "types": "dist/index.d.ts" Simplify layout of module packages (excluding example applications) and remove the top-level `index.js` file in favor of a package.json entry "main": "dist/index.js" Update developer documentation and project templates accordingly. Benefits of these changes: - It's a preparation step for TypeScript Project References - Build is consuming less CPU cycles now. User time used to be 5m21 before, it's 1m48s now. Real time went down from 0m49s to 0m37s. - Simpler project setup in our packages, we no longer need to maintain dummy index files at the top level. Drawbacks: - Refactor-rename does not work across packagas. I believe this is a limitation of TypeScript, hopefully it will be eventually fixed. - Navigation across packages may not work until the monorepo is built.
1 parent 202b2c7 commit 96b1871

Some content is hidden

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

100 files changed

+75
-473
lines changed

benchmark/index.ts

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

benchmark/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"benchmark"
1010
],
1111
"main": "index.js",
12+
"types:": "dist/index.d.ts",
1213
"engines": {
1314
"node": ">=8.9"
1415
},

docs/site/DEVELOPING.md

Lines changed: 0 additions & 5 deletions

docs/site/VSCODE.md

Lines changed: 17 additions & 3 deletions

examples/express-composition/index.d.ts

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

examples/express-composition/index.ts

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

examples/express-composition/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"express"
1111
],
1212
"main": "index.js",
13+
"types": "dist/index.d.ts",
1314
"engines": {
1415
"node": ">=8.9"
1516
},

examples/hello-world/index.d.ts

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

examples/hello-world/index.ts

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

examples/hello-world/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "1.1.20",
44
"description": "A simple hello-world Application using LoopBack 4",
55
"main": "index.js",
6+
"types": "dist/index.d.ts",
67
"engines": {
78
"node": ">=8.9"
89
},

examples/log-extension/index.d.ts

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

examples/log-extension/index.js

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

examples/log-extension/index.ts

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

examples/log-extension/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
"name": "@loopback/example-log-extension",
33
"version": "1.1.20",
44
"description": "An example extension project for LoopBack 4",
5-
"main": "index.js",
5+
"main": "dist/index.js",
6+
"types": "dist/index.d.ts",
67
"engines": {
78
"node": ">=8.9"
89
},

examples/rpc-server/index.d.ts

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

examples/rpc-server/index.ts

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

examples/rpc-server/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
"engines": {
1010
"node": ">=8.9"
1111
},
12+
"main": "index.js",
13+
"types": "dist/index.d.ts",
1214
"scripts": {
1315
"build:apidocs": "lb-apidocs",
1416
"build": "lb-tsc es2017 --outDir dist",

examples/soap-calculator/index.d.ts

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

examples/soap-calculator/index.ts

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

examples/soap-calculator/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"soap"
1111
],
1212
"main": "index.js",
13+
"types": "dist/index.d.ts",
1314
"engines": {
1415
"node": ">=8"
1516
},

examples/todo-list/index.d.ts

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

examples/todo-list/index.ts

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

examples/todo-list/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "1.6.3",
44
"description": "Continuation of the todo example using relations in LoopBack 4.",
55
"main": "index.js",
6+
"types": "dist/index.d.ts",
67
"engines": {
78
"node": ">=8.9"
89
},

examples/todo/index.d.ts

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

examples/todo/index.ts

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

examples/todo/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "1.5.15",
44
"description": "Tutorial example on how to build an application with LoopBack 4.",
55
"main": "index.js",
6+
"types": "dist/index.d.ts",
67
"engines": {
78
"node": ">=8.9"
89
},

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"loglevel": "silent",
2424
"stream": true,
2525
"concurrency": 8,
26-
"sort": false
26+
"sort": true
2727
},
2828
"clean": {
2929
"loglevel": "silent",

packages/authentication/index.d.ts

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

packages/authentication/index.js

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

packages/authentication/index.ts

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

packages/authentication/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
"engines": {
66
"node": ">=8.9"
77
},
8+
"main": "dist/index.js",
9+
"types": "dist/index.d.ts",
810
"scripts": {
911
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
1012
"build:apidocs": "lb-apidocs",
@@ -45,8 +47,6 @@
4547
],
4648
"files": [
4749
"README.md",
48-
"index.js",
49-
"index.d.ts",
5050
"dist",
5151
"src",
5252
"!*/__tests__"

packages/boot/index.d.ts

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

packages/boot/index.js

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

packages/boot/index.ts

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

packages/boot/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
"engines": {
66
"node": ">=8.9"
77
},
8+
"main": "dist/index.js",
9+
"types": "dist/index.d.ts",
810
"publishConfig": {
911
"access": "public"
1012
},
@@ -42,8 +44,6 @@
4244
},
4345
"files": [
4446
"README.md",
45-
"index.js",
46-
"index.d.ts",
4747
"dist",
4848
"src",
4949
"!*/__tests__"

packages/build/config/tsconfig.common.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"moduleResolution": "node",
1616
"target": "es2017",
1717
"sourceMap": true,
18-
"declaration": true
18+
"declaration": true,
19+
"declarationMap": true
1920
}
2021
}

packages/cli/generators/extension/templates/index.d.ts.ejs

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/cli/generators/extension/templates/index.js.ejs

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/cli/generators/project/templates/index.ts.ejs

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/cli/generators/project/templates/package.json.ejs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@
66
"loopback-<%= project.projectType -%>",
77
"loopback"
88
],
9+
<% if (project.projectType === 'application') { -%>
910
"main": "index.js",
11+
<% } else { -%>
12+
"main": "dist/index.js",
13+
<% } -%>
14+
"types": "dist/index.d.ts",
1015
"engines": {
1116
"node": ">=8.9"
1217
},

packages/cli/generators/project/templates/package.plain.json.ejs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@
66
"loopback-<%= project.projectType -%>",
77
"loopback"
88
],
9+
<% if (project.projectType === 'application') { -%>
910
"main": "index.js",
11+
<% } else { -%>
12+
"main": "dist/index.js",
13+
<% } -%>
14+
"types": "dist/index.d.ts",
1015
"engines": {
1116
"node": ">=8.9"
1217
},

packages/cli/generators/project/templates/tsconfig.json.ejs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
"moduleResolution": "node",
2323
"target": "es2017",
2424
"sourceMap": true,
25-
"declaration": true
25+
"declaration": true,
26+
"declarationMap": true
2627
},
2728
"include": ["src"],
2829
"exclude": [

packages/cli/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"engines": {
88
"node": ">=8.9"
99
},
10+
"main": "index.js",
1011
"files": [
1112
"bin",
1213
"lib",

packages/cli/test/integration/lib/project-generator.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,6 @@ module.exports = function(projGenerator, props, projectType) {
343343
['.eslintrc.js', "extends: '@loopback/eslint-config'"],
344344
['tsconfig.json', '"compilerOptions"'],
345345
['tsconfig.json', '"resolveJsonModule": true'],
346-
['index.js', "require('./dist')"],
347346
]);
348347
});
349348
});

packages/context/index.d.ts

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

packages/context/index.js

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

0 commit comments

Comments
 (0)