Skip to content

Commit

Permalink
Merge 851ccac into 3c37286
Browse files Browse the repository at this point in the history
  • Loading branch information
bajtos committed Dec 14, 2018
2 parents 3c37286 + 851ccac commit 027b59c
Show file tree
Hide file tree
Showing 52 changed files with 212 additions and 75 deletions.
1 change: 1 addition & 0 deletions examples/hello-world/package.json
Expand Up @@ -42,6 +42,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/node": "^10.11.2"
},
"keywords": [
Expand Down
2 changes: 1 addition & 1 deletion examples/hello-world/tslint.build.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.build.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.build.json"]
}
2 changes: 1 addition & 1 deletion examples/hello-world/tslint.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.common.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.common.json"]
}
1 change: 1 addition & 0 deletions examples/log-extension/package.json
Expand Up @@ -43,6 +43,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/debug": "0.0.30",
"@types/node": "^10.11.2"
},
Expand Down
2 changes: 1 addition & 1 deletion examples/log-extension/tslint.build.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.build.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.build.json"]
}
2 changes: 1 addition & 1 deletion examples/log-extension/tslint.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.common.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.common.json"]
}
1 change: 1 addition & 0 deletions examples/rpc-server/package.json
Expand Up @@ -46,6 +46,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/express": "^4.11.1",
"@types/node": "^10.11.2",
"@types/p-event": "^1.3.0"
Expand Down
2 changes: 1 addition & 1 deletion examples/rpc-server/tslint.build.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.build.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.build.json"]
}
2 changes: 1 addition & 1 deletion examples/rpc-server/tslint.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.common.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.common.json"]
}
1 change: 1 addition & 0 deletions examples/soap-calculator/package.json
Expand Up @@ -53,6 +53,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/mocha": "^5.0.0",
"@types/node": "^10.11.2",
"mocha": "^5.1.1",
Expand Down
2 changes: 1 addition & 1 deletion examples/soap-calculator/tslint.build.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.build.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.build.json"]
}
2 changes: 1 addition & 1 deletion examples/soap-calculator/tslint.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.common.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.common.json"]
}
1 change: 1 addition & 0 deletions examples/todo-list/package.json
Expand Up @@ -50,6 +50,7 @@
"@loopback/build": "^1.0.2",
"@loopback/http-caching-proxy": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/lodash": "^4.14.109",
"@types/node": "^10.11.2",
"lodash": "^4.17.10"
Expand Down
2 changes: 1 addition & 1 deletion examples/todo-list/tslint.build.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.build.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.build.json"]
}
2 changes: 1 addition & 1 deletion examples/todo-list/tslint.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.common.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.common.json"]
}
1 change: 1 addition & 0 deletions examples/todo/package.json
Expand Up @@ -50,6 +50,7 @@
"@loopback/build": "^1.0.2",
"@loopback/http-caching-proxy": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/lodash": "^4.14.109",
"@types/node": "^10.11.2",
"lodash": "^4.17.10"
Expand Down
2 changes: 1 addition & 1 deletion examples/todo/tslint.build.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.build.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.build.json"]
}
2 changes: 1 addition & 1 deletion examples/todo/tslint.json
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.common.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.common.json"]
}
1 change: 1 addition & 0 deletions packages/authentication/package.json
Expand Up @@ -32,6 +32,7 @@
"@loopback/build": "^1.0.2",
"@loopback/openapi-spec-builder": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/node": "^10.11.2",
"@types/passport": "^0.4.4",
"@types/passport-http": "^0.3.6",
Expand Down
1 change: 1 addition & 0 deletions packages/boot/package.json
Expand Up @@ -37,6 +37,7 @@
"@loopback/openapi-v3": "^1.1.4",
"@loopback/rest": "^1.5.0",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/node": "^10.11.2"
},
"files": [
Expand Down
29 changes: 15 additions & 14 deletions packages/build/README.md
Expand Up @@ -105,32 +105,33 @@ Now you run the scripts, such as:
`lb-tslint` also depends on `tsconfig.build.json` or `tsconfig.json` to
reference the project.

**NOTE:** Our recommended configuration of tslint rules is maintained inside
the package `@loopback/tslint-config`. We strongly recommend users to create
their own tslint configuration files inheriting from `@loopback/tslint-config`
instead of relying on the defaults provided by `@loopback/build`.

To customize the configuration:

- Create `tslint.build.json` in your project's root directory, for example:

```json
{
"$schema": "http://json.schemastore.org/tslint",
"extends": [
"./node_modules/@loopback/build/config/tslint.common.json"
],
"extends": ["@loopback/eslint-config/tslint.build.json"],
// This configuration files enabled rules which require type checking
// and therefore cannot be run by Visual Studio Code TSLint extension
// See https://github.com/Microsoft/vscode-tslint/issues/70
"rules": {
// These rules find errors related to TypeScript features.
```
// These rules catch common errors in JS programming or otherwise
// confusing constructs that are prone to producing bugs.

```json
// These rules catch common errors in JS programming or otherwise
// confusing constructs that are prone to producing bugs.

"await-promise": true,
"no-floating-promises": true,
"no-void-expression": [true, "ignore-arrow-function-shorthand"]
}
}
```
"await-promise": true,
"no-floating-promises": true,
"no-void-expression": [true, "ignore-arrow-function-shorthand"]
}
}
```

- Set options explicitly for the script

Expand Down
21 changes: 2 additions & 19 deletions packages/build/config/tslint.build.json
@@ -1,23 +1,6 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": [
"./tslint.common.json"
],
// This configuration files enabled rules which require type checking
// and therefore cannot be run by Visual Studio Code TSLint extension
// See https://github.com/Microsoft/vscode-tslint/issues/70
"rules": {
// These rules find errors related to TypeScript features.

// These rules catch common errors in JS programming or otherwise
// confusing constructs that are prone to producing bugs.

// User-land promises like Bluebird implement "PromiseLike" (not "Promise")
// interface only. The string "PromiseLike" bellow is needed to
// tell tslint that it's ok to `await` such promises.
"await-promise": [true, "PromiseLike", "RequestPromise"],
"no-floating-promises": [true, "PromiseLike", "RequestPromise"],
"no-unused-variable": true,
"no-void-expression": [true, "ignore-arrow-function-shorthand"]
}
"@loopback/tslint-config/tslint.build.json"
]
}
28 changes: 4 additions & 24 deletions packages/build/config/tslint.common.json
@@ -1,26 +1,6 @@
{
// See https://palantir.github.io/tslint/rules/
"rules": {
// These rules find errors related to TypeScript features.
"adjacent-overload-signatures": true,
"prefer-for-of": true,
"unified-signatures": true,
"no-any": true,

// These rules catch common errors in JS programming or otherwise
// confusing constructs that are prone to producing bugs.

"label-position": true,
"no-arg": true,
"no-construct": true,
"no-duplicate-variable": true,

"no-invalid-this": true,
"no-misused-new": true,
"no-shadowed-variable": true,
"no-string-throw": true,
"no-unused-expression": true,
"no-var-keyword": true,
"triple-equals": [true, "allow-null-check", "allow-undefined-check"]
}
"$schema": "http://json.schemastore.org/tslint",
"extends": [
"@loopback/tslint-config/tslint.common.json"
]
}
4 changes: 4 additions & 0 deletions packages/build/package.json
Expand Up @@ -13,6 +13,7 @@
"copyright.owner": "IBM Corp.",
"license": "MIT",
"dependencies": {
"@loopback/tslint-config": "^1.0.0-1",
"@types/mocha": "^5.0.0",
"@types/node": "^10.11.2",
"cross-spawn": "^6.0.5",
Expand Down Expand Up @@ -41,5 +42,8 @@
"scripts": {
"test": "npm run mocha",
"mocha": "node bin/run-mocha --timeout 30000 \"test/integration/*.js\""
},
"devDependencies": {
"@loopback/tslint-config": "^1.0.0-1"
}
}
1 change: 1 addition & 0 deletions packages/cli/generators/project/templates/package.json.ejs
Expand Up @@ -92,6 +92,7 @@
"devDependencies": {
"@loopback/build": "<%= project.dependencies['@loopback/build'] -%>",
"@loopback/testlab": "<%= project.dependencies['@loopback/testlab'] -%>",
"@loopback/tslint-config": "<%= project.dependencies['@loopback/tslint-config'] -%>",
"@types/node": "<%= project.dependencies['@types/node'] -%>"
}
}
@@ -1,4 +1,4 @@
{
"$schema": "http://json.schemastore.org/tslint",
"extends": ["./node_modules/@loopback/build/config/tslint.build.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.build.json"]
}
2 changes: 1 addition & 1 deletion packages/cli/generators/project/templates/tslint.json.ejs
@@ -1,7 +1,7 @@
{
"$schema": "http://json.schemastore.org/tslint",
<% if (project.loopbackBuild) { -%>
"extends": ["./node_modules/@loopback/build/config/tslint.common.json"]
"extends": ["./node_modules/@loopback/tslint-config/tslint.common.json"]
<% } else { -%>
// See https://palantir.github.io/tslint/rules/
"rules": {
Expand Down
4 changes: 3 additions & 1 deletion packages/cli/package.json
Expand Up @@ -26,6 +26,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/ejs": "^2.6.0",
"@types/node": "^10.11.2",
"glob": "^7.1.2",
Expand Down Expand Up @@ -112,7 +113,8 @@
"@loopback/http-server": "^1.1.1",
"@loopback/example-todo-list": "^1.3.0",
"@loopback/dist-util": "^0.4.0",
"@loopback/rest-explorer": "^1.1.3"
"@loopback/rest-explorer": "^1.1.3",
"@loopback/tslint-config": "^1.0.0-1"
}
},
"copyright.owner": "IBM Corp.",
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/test/integration/lib/project-generator.js
Expand Up @@ -249,7 +249,7 @@ module.exports = function(projGenerator, props, projectType) {
assert.jsonFileContent('package.json', props);
assert.fileContent([
['package.json', '@loopback/build'],
['tslint.json', '@loopback/build'],
['tslint.json', '@loopback/tslint-config'],
['tsconfig.json', '@loopback/build'],
]);
assert.noFileContent([
Expand Down
1 change: 1 addition & 0 deletions packages/context/package.json
Expand Up @@ -26,6 +26,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/bluebird": "^3.5.20",
"@types/debug": "^0.0.30",
"@types/node": "^10.11.2",
Expand Down
1 change: 1 addition & 0 deletions packages/core/package.json
Expand Up @@ -25,6 +25,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/node": "^10.11.2"
},
"files": [
Expand Down
1 change: 1 addition & 0 deletions packages/http-caching-proxy/package.json
Expand Up @@ -27,6 +27,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/debug": "^0.0.30",
"@types/node": "^10.11.2",
"@types/p-event": "^1.3.0",
Expand Down
1 change: 1 addition & 0 deletions packages/http-server/package.json
Expand Up @@ -23,6 +23,7 @@
"@loopback/build": "^1.0.2",
"@loopback/core": "^1.1.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/node": "^10.11.2",
"@types/p-event": "^1.3.0",
"@types/request-promise-native": "^1.0.15",
Expand Down
1 change: 1 addition & 0 deletions packages/metadata/package.json
Expand Up @@ -26,6 +26,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/debug": "^0.0.30",
"@types/lodash": "^4.14.106",
"@types/node": "^10.11.2"
Expand Down
1 change: 1 addition & 0 deletions packages/openapi-spec-builder/package.json
Expand Up @@ -26,6 +26,7 @@
},
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/node": "^10.11.2"
},
"files": [
Expand Down
1 change: 1 addition & 0 deletions packages/openapi-v3-types/package.json
Expand Up @@ -11,6 +11,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/node": "^10.11.2"
},
"scripts": {
Expand Down
1 change: 1 addition & 0 deletions packages/openapi-v3/package.json
Expand Up @@ -10,6 +10,7 @@
"@loopback/openapi-spec-builder": "^1.0.2",
"@loopback/repository": "^1.1.0",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/debug": "0.0.30",
"@types/lodash": "^4.14.106",
"@types/node": "^10.11.2"
Expand Down
1 change: 1 addition & 0 deletions packages/repository-json-schema/package.json
Expand Up @@ -32,6 +32,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/node": "^10.11.2",
"ajv": "^6.5.0"
},
Expand Down
1 change: 1 addition & 0 deletions packages/repository/package.json
Expand Up @@ -21,6 +21,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/lodash": "^4.14.108",
"@types/node": "^10.11.2"
},
Expand Down
1 change: 1 addition & 0 deletions packages/rest-explorer/package.json
Expand Up @@ -26,6 +26,7 @@
"devDependencies": {
"@loopback/build": "^1.0.2",
"@loopback/testlab": "^1.0.2",
"@loopback/tslint-config": "^1.0.0-1",
"@types/ejs": "^2.6.0",
"@types/node": "^10.1.1"
},
Expand Down

0 comments on commit 027b59c

Please sign in to comment.