Skip to content

Commit 00555ca

Browse files
authored
Merge pull request #3540 from clairep94/pr05/migrate_client_utils_instance
pr05 Typescript #2: automatically resolve imports of ts files & migrate instance of client/utils file
2 parents a41c1b7 + 5b1fd1e commit 00555ca

File tree

6 files changed

+47
-7
lines changed

6 files changed

+47
-7
lines changed

.eslintrc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@
1616
"import/no-unresolved": 0,
1717
"import/no-named-as-default": 0,
1818
"import/no-named-as-default-member": 0,
19+
"import/extensions": [ // override airbnb setting to allow imports of js, jsx, ts, and tsx files to auto-resolve instead of error
20+
"error",
21+
"ignorePackages",
22+
{
23+
"js": "never",
24+
"jsx": "never",
25+
"ts": "never",
26+
"tsx": "never"
27+
}
28+
],
1929
"comma-dangle": 0, // not sure why airbnb turned this on. gross!
2030
"indent": 0,
2131
"no-console": 0,
@@ -72,6 +82,11 @@
7282
],
7383
"settings": {
7484
"import/parser": "@babel/eslint-parser",
85+
"import/resolver": {
86+
"node": {
87+
"extensions": [".js", ".jsx", ".ts", ".tsx"]
88+
}
89+
},
7590
"import/resolve": {
7691
"moduleDirectory": ["node_modules"]
7792
}

client/utils/generateRandomName.js renamed to client/utils/generateRandomName.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import friendlyWords from 'friendly-words';
22

3-
export function generateProjectName() {
3+
/**
4+
* Generates a random friendly project name composed of an adjective and an object.
5+
* @example
6+
* generateProjectName(); // "brave mountain"
7+
*/
8+
export function generateProjectName(): string {
49
const adj =
510
friendlyWords.predicates[
611
Math.floor(Math.random() * friendlyWords.predicates.length)
@@ -12,7 +17,12 @@ export function generateProjectName() {
1217
return `${adj} ${obj}`;
1318
}
1419

15-
export function generateCollectionName() {
20+
/**
21+
* Generates a random friendly collection name using an adjective.
22+
* @example
23+
* generateCollectionName(); // "My clever collection"
24+
*/
25+
export function generateCollectionName(): string {
1626
const adj =
1727
friendlyWords.predicates[
1828
Math.floor(Math.random() * friendlyWords.predicates.length)

client/utils/isSecurePage.js

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

package-lock.json

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,16 @@
4949
"<rootDir>/server/jest.setup.js"
5050
],
5151
"testMatch": [
52-
"<rootDir>/server/**/*.test.(js|jsx)"
52+
"<rootDir>/server/**/*.test.(js|jsx|ts|tsx)"
5353
]
5454
},
5555
{
5656
"displayName": "client",
5757
"testEnvironment": "jsdom",
58+
"transform": {
59+
"^.+\\.[jt]sx?$": "babel-jest"
60+
},
61+
"moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json", "node"],
5862
"setupFilesAfterEnv": [
5963
"<rootDir>/client/jest.setup.js"
6064
],
@@ -63,7 +67,7 @@
6367
"\\.(css|less|scss)$": "<rootDir>/client/__mocks__/styleMock.js"
6468
},
6569
"testMatch": [
66-
"<rootDir>/client/**/*.test.(js|jsx)"
70+
"<rootDir>/client/**/*.test.(js|jsx|ts|tsx)"
6771
]
6872
}
6973
]
@@ -114,6 +118,7 @@
114118
"@svgr/webpack": "^6.2.1",
115119
"@testing-library/jest-dom": "^5.15.0",
116120
"@testing-library/react": "^12.1.2",
121+
"@types/friendly-words": "^1.2.2",
117122
"@types/jest": "^29.5.14",
118123
"@types/node": "^16.18.126",
119124
"@types/react": "^16.14.0",

0 commit comments

Comments
 (0)