Skip to content

Commit 746edde

Browse files
authored
@W-17374681 include new ssr rules in ssr config (#140)
* fix: included new ssr rules in ssr config * minor change
1 parent df87119 commit 746edde

File tree

4 files changed

+56
-16
lines changed

4 files changed

+56
-16
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"semver": "^7.6.2"
2727
},
2828
"devDependencies": {
29-
"@lwc/eslint-plugin-lwc": "^1.8.1",
29+
"@lwc/eslint-plugin-lwc": "^1.9.0",
3030
"@salesforce/eslint-plugin-lightning": "^1.0.0",
3131
"eslint": "^8.57.0",
3232
"eslint-plugin-import": "^2.29.1",

ssr.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,12 @@ module.exports = {
1212
'@lwc/eslint-plugin-lwc', // https://github.com/salesforce/eslint-plugin-lwc
1313
],
1414
rules: {
15-
'@lwc/lwc/no-unsupported-ssr-properties': 'error',
16-
'@lwc/lwc/no-restricted-browser-globals-during-ssr': 'error',
15+
'@lwc/lwc/ssr/no-unsupported-properties': 'error',
16+
'@lwc/lwc/ssr/no-restricted-browser-globals': 'error',
17+
'@lwc/lwc/ssr/no-form-factor': 'error',
18+
'@lwc/lwc/ssr/no-host-mutation-in-connected-callback': 'error',
19+
'@lwc/lwc/ssr/no-node-env': 'error',
20+
'@lwc/lwc/ssr/no-unsupported-node-api': 'error',
21+
'@lwc/lwc/ssr/no-static-imports-of-user-specific-scoped-modules': 'error',
1722
},
1823
};

test/ssr.js

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,36 @@ describe('ssr configs', () => {
3030

3131
const results = await cli.lintText(`
3232
import { LightningElement } from 'lwc';
33-
33+
import fs from 'node:fs';
34+
import { formFactor } from '@salesforce/client/formFactor';
35+
import userId from '@salesforce/user/Id';
3436
export default class Foo extends LightningElement {
3537
connectedCallback() {
36-
document.write("Hello world")
37-
this.dispatchEvent("Hello world")
38+
document.write("Hello world");
39+
this.dispatchEvent("Hello world");
40+
console.log(formFactor);
41+
this.setAttribute('class', \`my-child-\${this.fromOutside}\`);
42+
if (process.env.NODE_ENV === 'development') {
43+
console.log('test');
44+
}
45+
fs.writeFileSync('file.txt', 'data');
46+
console.log(userId);
3847
}
3948
}
4049
`);
4150

4251
const { messages } = results[0];
43-
assert.equal(messages.length, 2);
44-
assert.equal(messages[0].ruleId, '@lwc/lwc/no-restricted-browser-globals-during-ssr');
45-
assert.equal(messages[1].ruleId, '@lwc/lwc/no-unsupported-ssr-properties');
52+
assert.equal(messages.length, 7);
53+
assert.equal(messages[0].ruleId, '@lwc/lwc/ssr/no-form-factor');
54+
assert.equal(
55+
messages[1].ruleId,
56+
'@lwc/lwc/ssr/no-static-imports-of-user-specific-scoped-modules',
57+
);
58+
assert.equal(messages[2].ruleId, '@lwc/lwc/ssr/no-restricted-browser-globals');
59+
assert.equal(messages[3].ruleId, '@lwc/lwc/ssr/no-unsupported-properties');
60+
assert.equal(messages[4].ruleId, '@lwc/lwc/ssr/no-host-mutation-in-connected-callback');
61+
assert.equal(messages[5].ruleId, '@lwc/lwc/ssr/no-node-env');
62+
assert.equal(messages[6].ruleId, '@lwc/lwc/ssr/no-unsupported-node-api');
4663
});
4764
});
4865

@@ -65,18 +82,36 @@ describe('typescript ssr configs', () => {
6582

6683
const results = await cli.lintText(`
6784
import { LightningElement } from 'lwc';
85+
import fs from 'node:fs';
86+
import { formFactor } from '@salesforce/client/formFactor';
87+
import userId from '@salesforce/user/Id';
6888
6989
export default class Foo extends LightningElement {
7090
connectedCallback(): void {
7191
document.write("Hello world")
7292
this.dispatchEvent("Hello world")
93+
console.log(formFactor);
94+
this.setAttribute('class', \`my-child-\${this.fromOutside}\`);
95+
if (process.env.NODE_ENV === 'development') {
96+
console.log('test');
97+
}
98+
fs.writeFileSync('file.txt', 'data');
99+
console.log(userId);
73100
}
74101
}
75102
`);
76103

77104
const { messages } = results[0];
78-
assert.equal(messages.length, 2);
79-
assert.equal(messages[0].ruleId, '@lwc/lwc/no-restricted-browser-globals-during-ssr');
80-
assert.equal(messages[1].ruleId, '@lwc/lwc/no-unsupported-ssr-properties');
105+
assert.equal(messages.length, 7);
106+
assert.equal(messages[0].ruleId, '@lwc/lwc/ssr/no-form-factor');
107+
assert.equal(
108+
messages[1].ruleId,
109+
'@lwc/lwc/ssr/no-static-imports-of-user-specific-scoped-modules',
110+
);
111+
assert.equal(messages[2].ruleId, '@lwc/lwc/ssr/no-restricted-browser-globals');
112+
assert.equal(messages[3].ruleId, '@lwc/lwc/ssr/no-unsupported-properties');
113+
assert.equal(messages[4].ruleId, '@lwc/lwc/ssr/no-host-mutation-in-connected-callback');
114+
assert.equal(messages[5].ruleId, '@lwc/lwc/ssr/no-node-env');
115+
assert.equal(messages[6].ruleId, '@lwc/lwc/ssr/no-unsupported-node-api');
81116
});
82117
});

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -285,10 +285,10 @@
285285
"@jridgewell/resolve-uri" "^3.1.0"
286286
"@jridgewell/sourcemap-codec" "^1.4.14"
287287

288-
"@lwc/eslint-plugin-lwc@^1.8.1":
289-
version "1.8.1"
290-
resolved "https://registry.yarnpkg.com/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-1.8.1.tgz#aa93a7115ae913fb8a4c1ca0667f10043dba06dc"
291-
integrity sha512-xtBvjT2Cxp20Vj/o+b7YeIJkAFXlZow90DoJGjqEyRxPb6pmWSZ3FzcrffSUOacETJey01UiA29rquRftJiH8A==
288+
"@lwc/eslint-plugin-lwc@^1.9.0":
289+
version "1.9.0"
290+
resolved "https://registry.yarnpkg.com/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-1.9.0.tgz#09ddc05e05c0d827cb40c27021c9c3868e519e33"
291+
integrity sha512-z2wEUvLanstSl9o7VT/HAI7uFWHkTApz8N1ZpRQtyh8Hg6UbBZKLrg+vMxDED1vZVLu256i2KgYUWysVQyO4tg==
292292
dependencies:
293293
globals "^13.24.0"
294294
minimatch "^9.0.4"

0 commit comments

Comments
 (0)