Skip to content

Commit dd21555

Browse files
Mike Niklesmikenikles
Mike Nikles
authored andcommitted
chore(eslint): configure ESLint
1 parent a7a56f9 commit dd21555

File tree

12 files changed

+500
-114
lines changed

12 files changed

+500
-114
lines changed

.eslintrc.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
module.exports = {
2+
env: {
3+
node: true,
4+
},
5+
extends: [
6+
"eslint:recommended",
7+
"plugin:@typescript-eslint/recommended",
8+
"prettier",
9+
],
10+
parser: "@typescript-eslint/parser",
11+
plugins: ["@typescript-eslint"],
12+
root: true,
13+
rules: {
14+
"@typescript-eslint/ban-ts-comment": [
15+
"error",
16+
{
17+
"ts-ignore": "allow-with-description",
18+
},
19+
],
20+
},
21+
};

.gitpod.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
---
12
# Learn more about this file at https://www.gitpod.io/docs/references/gitpod-yml
23
image:
34
file: .gitpod/Dockerfile
@@ -37,7 +38,7 @@ tasks:
3738
cd webstone
3839
gp await-port 3000
3940
pnpm test:e2e
40-
41+
4142
ports:
4243
- port: 3000
4344
visibility: public
@@ -49,4 +50,5 @@ ports:
4950
vscode:
5051
extensions:
5152
- svelte.svelte-vscode
52-
- yzhang.markdown-all-in-one
53+
- yzhang.markdown-all-in-one
54+
- dbaeumer.vscode-eslint

package.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,28 @@
77
"@changesets/cli": "^2.14.1",
88
"@types/fs-extra": "^9.0.13",
99
"@types/sinon": "^10.0.4",
10+
"@typescript-eslint/eslint-plugin": "^5.3.0",
11+
"@typescript-eslint/parser": "^5.3.0",
1012
"c8": "^7.10.0",
1113
"commitizen": "^4.2.3",
1214
"cypress": "^8.6.0",
1315
"cz-conventional-changelog": "^3.3.0",
16+
"eslint": "^8.1.0",
17+
"eslint-config-prettier": "^8.3.0",
1418
"husky": "^6.0.0",
1519
"lint-staged": "^10.5.4",
1620
"prettier": "^2.2.1",
1721
"sinon": "^11.1.2",
1822
"tsm": "^2.1.2",
23+
"typescript": "^3.6.3",
1924
"uvu": "^0.5.2"
2025
},
2126
"scripts": {
2227
"build": "pnpm --recursive --parallel build",
2328
"changeset": "changeset && pnpm install",
2429
"clean": "rm -fr ./node_modules && pnpm --recursive --parallel clean",
2530
"dev": "pnpm --recursive --parallel dev",
31+
"lint": "eslint . --fix --ignore-path .gitignore --max-warnings 0",
2632
"preinstall": "npx only-allow pnpm",
2733
"prepare": "husky install",
2834
"release": "changeset publish",
@@ -48,7 +54,7 @@
4854
}
4955
},
5056
"lint-staged": {
51-
"*.{js,ts}": "pnpm test --filter \"...[origin/main]\"",
57+
"*.{js,ts}": ["pnpm lint", "pnpm test --filter \"...[origin/main]\""],
5258
"*.{css,js,md,ts}": "prettier --write"
5359
}
5460
}

packages/cli/package.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
"dev": "pnpm clean && pnpm copy-templates && pnpm dev:watch-src & pnpm dev:watch-templates",
1616
"dev:watch-src": "tsc -w",
1717
"dev:watch-templates": "npm-watch copy-templates",
18-
"lint": "tslint -p .",
1918
"prepublishOnly": "pnpm build",
2019
"test": "pnpm test:unit",
2120
"test:unit": "c8 --all --include=src --reporter=html pnpm test:unit:only",
@@ -37,9 +36,6 @@
3736
"@types/node": "^12.7.11",
3837
"npm-watch": "^0.11.0",
3938
"ts-node": "^8.4.1",
40-
"tslint": "^5.12.0",
41-
"tslint-config-prettier": "^1.17.0",
42-
"tslint-config-standard": "^8.0.1",
4339
"typescript": "^3.6.3"
4440
}
4541
}

packages/cli/src/commands/deploy/web.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ const command: GluegunCommand = {
2828
} else {
2929
const installedAdapter = web.configure.deployment.getInstalledAdapter();
3030
print.highlight(
31-
`Your web service is ready to be deployed. Please follow the instructions at https://github.com/WebstoneHQ/webstone/tree/main/docs/deployment#${installedAdapter!.identifier.substring(
31+
`Your web service is ready to be deployed. Please follow the instructions at https://github.com/WebstoneHQ/webstone/tree/main/docs/deployment#${installedAdapter.identifier.substring(
3232
"adapter-".length
33-
)} to deploy to ${installedAdapter!.name}`
33+
)} to deploy to ${installedAdapter.name}`
3434
);
3535
}
3636
},

packages/cli/src/extensions/web/types.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export interface WebToolbox {
55
configure: {
66
deployment: {
77
availableAdapters: Adapter[];
8-
getInstalledAdapter: () => Adapter | undefined;
8+
getInstalledAdapter: () => Adapter;
99
installAdapter: (adapter: Adapter) => Promise<void>;
1010
isAnyAdapterInstalled: () => boolean;
1111
removeAdapter: (adapter: Adapter) => Promise<void>;

packages/cli/src/toolbox/web/configure/deployment/get-installed-adapter.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { filesystem } from "gluegun";
22
import { availableAdapters } from "./adapters";
3+
import { Adapter } from "./types";
34

45
export default () => {
56
const webPackageJson = filesystem.read("./services/web/package.json", "json");
@@ -14,5 +15,5 @@ export default () => {
1415

1516
return availableAdapters.find(
1617
(adapter) => adapter.npmPackage === installedAdapterNpmPackage
17-
);
18+
) as Adapter;
1819
};

packages/create-webstone-app/scripts/esbuild.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* eslint @typescript-eslint/no-var-requires: "off" */
2+
13
const config = {
24
shared: {
35
banner: {

packages/create-webstone-app/src/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
// FIXME: Does anyone know how to properly type the `pipe` function?
2+
/* eslint @typescript-eslint/no-explicit-any: "off" */
3+
14
import {
25
createAppDir,
36
copyTemplate,

packages/create-webstone-app/tests/helpers/create-app-dir.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ test("app dir does not exist", async () => {
6363
assert.equal(fakeFsMkdirSync.firstCall.lastArg, { recursive: true });
6464
});
6565

66-
test("app dir exists and is empty", async (context) => {
66+
test("app dir exists and is empty", async () => {
6767
const fakeFsExistsSync = sinon.fake.returns(true);
6868
sinon.replace(fs, "existsSync", fakeFsExistsSync);
6969

@@ -80,7 +80,7 @@ test("app dir exists and is empty", async (context) => {
8080
assert.equal(fakeFsMkdirSync.firstCall.lastArg, { recursive: true });
8181
});
8282

83-
test("app dir exists and is not empty, overwrite it", async (context) => {
83+
test("app dir exists and is not empty, overwrite it", async () => {
8484
const fakeFsExistsSync = sinon.fake.returns(true);
8585
sinon.replace(fs, "existsSync", fakeFsExistsSync);
8686

@@ -107,7 +107,7 @@ test("app dir exists and is not empty, overwrite it", async (context) => {
107107
assert.equal(fakeFsMkdirSync.firstCall.lastArg, { recursive: true });
108108
});
109109

110-
test("app dir exists and is not empty, do not overwrite it", async (context) => {
110+
test("app dir exists and is not empty, do not overwrite it", async () => {
111111
const fakeFsExistsSync = sinon.fake.returns(true);
112112
sinon.replace(fs, "existsSync", fakeFsExistsSync);
113113

0 commit comments

Comments
 (0)