Skip to content

Commit 3514e96

Browse files
author
Benjamin Pasero
committed
sandbox - add rules for new electron-sandbox layer
1 parent 3e2c52c commit 3514e96

3 files changed

Lines changed: 122 additions & 28 deletions

File tree

.eslintrc.json

Lines changed: 105 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,18 @@
6363
"browser": [
6464
"common"
6565
],
66-
"electron-main": [
66+
"electron-sandbox": [
6767
"common",
68-
"node"
68+
"browser"
6969
],
7070
"electron-browser": [
7171
"common",
7272
"browser",
73+
"node",
74+
"electron-sandbox"
75+
],
76+
"electron-main": [
77+
"common",
7378
"node"
7479
]
7580
}
@@ -104,6 +109,14 @@
104109
"**/vs/base/{common,browser}/**"
105110
]
106111
},
112+
{
113+
"target": "**/vs/base/electron-sandbox/**",
114+
"restrictions": [
115+
"vs/nls",
116+
"vs/css!./**/*",
117+
"**/vs/base/{common,browser,electron-sandbox}/**"
118+
]
119+
},
107120
{
108121
"target": "**/vs/base/node/**",
109122
"restrictions": [
@@ -149,13 +162,22 @@
149162
"*" // node modules
150163
]
151164
},
165+
{
166+
"target": "**/vs/base/parts/*/electron-sandbox/**",
167+
"restrictions": [
168+
"vs/nls",
169+
"vs/css!./**/*",
170+
"**/vs/base/{common,browser,electron-sandbox}/**",
171+
"**/vs/base/parts/*/{common,browser,electron-sandbox}/**"
172+
]
173+
},
152174
{
153175
"target": "**/vs/base/parts/*/electron-browser/**",
154176
"restrictions": [
155177
"vs/nls",
156178
"vs/css!./**/*",
157-
"**/vs/base/{common,browser,node,electron-browser}/**",
158-
"**/vs/base/parts/*/{common,browser,node,electron-browser}/**",
179+
"**/vs/base/{common,browser,node,electron-sandbox,electron-browser}/**",
180+
"**/vs/base/parts/*/{common,browser,node,electron-sandbox,electron-browser}/**",
159181
"*" // node modules
160182
]
161183
},
@@ -209,14 +231,24 @@
209231
"*" // node modules
210232
]
211233
},
234+
{
235+
"target": "**/vs/platform/*/electron-sandbox/**",
236+
"restrictions": [
237+
"vs/nls",
238+
"vs/css!./**/*",
239+
"**/vs/base/{common,browser,electron-sandbox}/**",
240+
"**/vs/base/parts/*/{common,browser,electron-sandbox}/**",
241+
"**/vs/platform/*/{common,browser,electron-sandbox}/**"
242+
]
243+
},
212244
{
213245
"target": "**/vs/platform/*/electron-browser/**",
214246
"restrictions": [
215247
"vs/nls",
216248
"vs/css!./**/*",
217-
"**/vs/base/{common,browser,node}/**",
218-
"**/vs/base/parts/*/{common,browser,node,electron-browser}/**",
219-
"**/vs/platform/*/{common,browser,node,electron-browser}/**",
249+
"**/vs/base/{common,browser,node,electron-sandbox,electron-browser}/**",
250+
"**/vs/base/parts/*/{common,browser,node,electron-sandbox,electron-browser}/**",
251+
"**/vs/platform/*/{common,browser,node,electron-sandbox,electron-browser}/**",
220252
"*" // node modules
221253
]
222254
},
@@ -420,18 +452,34 @@
420452
"**/vs/**/{common,worker}/**"
421453
]
422454
},
455+
{
456+
"target": "**/vs/workbench/electron-sandbox/**",
457+
"restrictions": [
458+
"vs/nls",
459+
"vs/css!./**/*",
460+
"**/vs/base/{common,browser,electron-sandbox}/**",
461+
"**/vs/base/parts/*/{common,browser,electron-sandbox}/**",
462+
"**/vs/platform/*/{common,browser,electron-sandbox}/**",
463+
"**/vs/editor/{common,browser,electron-sandbox}/**",
464+
"**/vs/editor/contrib/**", // editor/contrib is equivalent to /browser/ by convention
465+
"**/vs/workbench/{common,browser,electron-sandbox}/**",
466+
"**/vs/workbench/api/{common,browser,electron-sandbox}/**",
467+
"**/vs/workbench/services/*/{common,browser,electron-sandbox}/**"
468+
]
469+
},
423470
{
424471
"target": "**/vs/workbench/electron-browser/**",
425472
"restrictions": [
426473
"vs/nls",
427474
"vs/css!./**/*",
428-
"**/vs/base/{common,browser,node,electron-browser}/**",
429-
"**/vs/base/parts/*/{common,browser,node,electron-browser}/**",
430-
"**/vs/platform/*/{common,browser,node,electron-browser}/**",
431-
"**/vs/editor/{common,browser,node,electron-browser}/**",
475+
"**/vs/base/{common,browser,node,electron-sandbox,electron-browser}/**",
476+
"**/vs/base/parts/*/{common,browser,node,electron-sandbox,electron-browser}/**",
477+
"**/vs/platform/*/{common,browser,node,electron-sandbox,electron-browser}/**",
478+
"**/vs/editor/{common,browser,node,electron-sandbox,electron-browser}/**",
432479
"**/vs/editor/contrib/**", // editor/contrib is equivalent to /browser/ by convention
433-
"**/vs/workbench/{common,browser,node,electron-browser,api}/**",
434-
"**/vs/workbench/services/*/{common,browser,node,electron-browser}/**",
480+
"**/vs/workbench/{common,browser,node,electron-sandbox,electron-browser}/**",
481+
"**/vs/workbench/api/{common,browser,node,electron-sandbox,electron-browser}/**",
482+
"**/vs/workbench/services/*/{common,browser,node,electron-sandbox,electron-browser}/**",
435483
"*" // node modules
436484
]
437485
},
@@ -443,7 +491,7 @@
443491
"**/vs/base/**",
444492
"**/vs/platform/**",
445493
"**/vs/editor/**",
446-
"**/vs/workbench/{common,browser,node,electron-browser}/**",
494+
"**/vs/workbench/{common,browser,node,electron-sandbox,electron-browser}/**",
447495
"vs/workbench/contrib/files/common/editors/fileEditorInput",
448496
"**/vs/workbench/services/**",
449497
"**/vs/workbench/test/**",
@@ -507,16 +555,30 @@
507555
"*" // node modules
508556
]
509557
},
558+
{
559+
"target": "**/vs/workbench/services/**/electron-sandbox/**",
560+
"restrictions": [
561+
"vs/nls",
562+
"vs/css!./**/*",
563+
"**/vs/base/**/{common,browser,worker,electron-sandbox}/**",
564+
"**/vs/platform/**/{common,browser,electron-sandbox}/**",
565+
"**/vs/editor/**",
566+
"**/vs/workbench/{common,browser,electron-sandbox}/**",
567+
"**/vs/workbench/api/{common,browser,electron-sandbox}/**",
568+
"**/vs/workbench/services/**/{common,browser,electron-sandbox}/**"
569+
]
570+
},
510571
{
511572
"target": "**/vs/workbench/services/**/electron-browser/**",
512573
"restrictions": [
513574
"vs/nls",
514575
"vs/css!./**/*",
515-
"**/vs/base/**/{common,browser,worker,node,electron-browser}/**",
516-
"**/vs/platform/**/{common,browser,node,electron-browser}/**",
576+
"**/vs/base/**/{common,browser,worker,node,electron-sandbox,electron-browser}/**",
577+
"**/vs/platform/**/{common,browser,node,electron-sandbox,electron-browser}/**",
517578
"**/vs/editor/**",
518-
"**/vs/workbench/{common,browser,node,electron-browser,api}/**",
519-
"**/vs/workbench/services/**/{common,browser,node,electron-browser}/**",
579+
"**/vs/workbench/{common,browser,node,electron-sandbox,electron-browser}/**",
580+
"**/vs/workbench/api/{common,browser,node,electron-sandbox,electron-browser}/**",
581+
"**/vs/workbench/services/**/{common,browser,node,electron-sandbox,electron-browser}/**",
520582
"*" // node modules
521583
]
522584
},
@@ -529,7 +591,7 @@
529591
"**/vs/base/**",
530592
"**/vs/platform/**",
531593
"**/vs/editor/**",
532-
"**/vs/workbench/{common,browser,node,electron-browser}/**",
594+
"**/vs/workbench/{common,browser,node,electron-sandbox,electron-browser}/**",
533595
"**/vs/workbench/services/**",
534596
"**/vs/workbench/contrib/**",
535597
"**/vs/workbench/test/**",
@@ -623,17 +685,32 @@
623685
"*" // node modules
624686
]
625687
},
688+
{
689+
"target": "**/vs/workbench/contrib/**/electron-sandbox/**",
690+
"restrictions": [
691+
"vs/nls",
692+
"vs/css!./**/*",
693+
"**/vs/base/**/{common,browser,worker,electron-sandbox}/**",
694+
"**/vs/platform/**/{common,browser,electron-sandbox}/**",
695+
"**/vs/editor/**",
696+
"**/vs/workbench/{common,browser,electron-sandbox}/**",
697+
"**/vs/workbench/api/{common,browser,electron-sandbox}/**",
698+
"**/vs/workbench/services/**/{common,browser,electron-sandbox}/**",
699+
"**/vs/workbench/contrib/**/{common,browser,electron-sandbox}/**"
700+
]
701+
},
626702
{
627703
"target": "**/vs/workbench/contrib/**/electron-browser/**",
628704
"restrictions": [
629705
"vs/nls",
630706
"vs/css!./**/*",
631-
"**/vs/base/**/{common,browser,worker,node,electron-browser}/**",
632-
"**/vs/platform/**/{common,browser,node,electron-browser}/**",
707+
"**/vs/base/**/{common,browser,worker,node,electron-sandbox,electron-browser}/**",
708+
"**/vs/platform/**/{common,browser,node,electron-sandbox,electron-browser}/**",
633709
"**/vs/editor/**",
634-
"**/vs/workbench/{common,browser,node,electron-browser,api}/**",
635-
"**/vs/workbench/services/**/{common,browser,node,electron-browser}/**",
636-
"**/vs/workbench/contrib/**/{common,browser,node,electron-browser}/**",
710+
"**/vs/workbench/{common,browser,node,electron-sandbox,electron-browser}/**",
711+
"**/vs/workbench/api/{common,browser,node,electron-sandbox,electron-browser}/**",
712+
"**/vs/workbench/services/**/{common,browser,node,electron-sandbox,electron-browser}/**",
713+
"**/vs/workbench/contrib/**/{common,browser,node,electron-sandbox,electron-browser}/**",
637714
"*" // node modules
638715
]
639716
},
@@ -653,10 +730,10 @@
653730
"restrictions": [
654731
"vs/nls",
655732
"vs/css!./**/*",
656-
"**/vs/base/**/{common,browser,node,electron-browser}/**",
657-
"**/vs/base/parts/**/{common,browser,node,electron-browser}/**",
658-
"**/vs/platform/**/{common,browser,node,electron-browser}/**",
659-
"**/vs/code/**/{common,browser,node,electron-browser}/**",
733+
"**/vs/base/**/{common,browser,node,electron-sandbox,electron-browser}/**",
734+
"**/vs/base/parts/**/{common,browser,node,electron-sandbox,electron-browser}/**",
735+
"**/vs/platform/**/{common,browser,node,electron-sandbox,electron-browser}/**",
736+
"**/vs/code/**/{common,browser,node,electron-sandbox,electron-browser}/**",
660737
"*" // node modules
661738
]
662739
},

build/lib/layersChecker.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,14 @@ const RULES = [
130130
'lib.dom.d.ts' // no DOM
131131
]
132132
},
133+
// Electron (sandbox)
134+
{
135+
target: '**/vs/**/electron-sandbox/**',
136+
allowedTypes: CORE_TYPES,
137+
disallowedDefinitions: [
138+
'@types/node' // no node.js
139+
]
140+
},
133141
// Electron (renderer): skip
134142
{
135143
target: '**/vs/**/electron-browser/**',

build/lib/layersChecker.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,15 @@ const RULES = [
143143
]
144144
},
145145

146+
// Electron (sandbox)
147+
{
148+
target: '**/vs/**/electron-sandbox/**',
149+
allowedTypes: CORE_TYPES,
150+
disallowedDefinitions: [
151+
'@types/node' // no node.js
152+
]
153+
},
154+
146155
// Electron (renderer): skip
147156
{
148157
target: '**/vs/**/electron-browser/**',

0 commit comments

Comments
 (0)