@@ -156,6 +156,78 @@ const DEV_PATTERNS = [
156156 'x-pack/plugins/*/server/scripts/**/*' ,
157157] ;
158158
159+ /** Restricted imports with suggested alternatives */
160+ const RESTRICTED_IMPORTS = [
161+ {
162+ name : 'lodash' ,
163+ importNames : [ 'set' , 'setWith' ] ,
164+ message : 'Please use @elastic/safer-lodash-set instead' ,
165+ } ,
166+ {
167+ name : 'lodash.set' ,
168+ message : 'Please use @elastic/safer-lodash-set instead' ,
169+ } ,
170+ {
171+ name : 'lodash.setwith' ,
172+ message : 'Please use @elastic/safer-lodash-set instead' ,
173+ } ,
174+ {
175+ name : 'lodash/set' ,
176+ message : 'Please use @elastic/safer-lodash-set instead' ,
177+ } ,
178+ {
179+ name : 'lodash/setWith' ,
180+ message : 'Please use @elastic/safer-lodash-set instead' ,
181+ } ,
182+ {
183+ name : 'lodash/fp' ,
184+ importNames : [ 'set' , 'setWith' , 'assoc' , 'assocPath' ] ,
185+ message : 'Please use @elastic/safer-lodash-set instead' ,
186+ } ,
187+ {
188+ name : 'lodash/fp/set' ,
189+ message : 'Please use @elastic/safer-lodash-set instead' ,
190+ } ,
191+ {
192+ name : 'lodash/fp/setWith' ,
193+ message : 'Please use @elastic/safer-lodash-set instead' ,
194+ } ,
195+ {
196+ name : 'lodash/fp/assoc' ,
197+ message : 'Please use @elastic/safer-lodash-set instead' ,
198+ } ,
199+ {
200+ name : 'lodash/fp/assocPath' ,
201+ message : 'Please use @elastic/safer-lodash-set instead' ,
202+ } ,
203+ {
204+ name : 'lodash' ,
205+ importNames : [ 'template' ] ,
206+ message : 'lodash.template is unsafe, and not compatible with our content security policy.' ,
207+ } ,
208+ {
209+ name : 'lodash.template' ,
210+ message : 'lodash.template is unsafe, and not compatible with our content security policy.' ,
211+ } ,
212+ {
213+ name : 'lodash/template' ,
214+ message : 'lodash.template is unsafe, and not compatible with our content security policy.' ,
215+ } ,
216+ {
217+ name : 'lodash/fp' ,
218+ importNames : [ 'template' ] ,
219+ message : 'lodash.template is unsafe, and not compatible with our content security policy.' ,
220+ } ,
221+ {
222+ name : 'lodash/fp/template' ,
223+ message : 'lodash.template is unsafe, and not compatible with our content security policy.' ,
224+ } ,
225+ {
226+ name : 'react-use' ,
227+ message : 'Please use react-use/lib/{method} instead.' ,
228+ } ,
229+ ] ;
230+
159231module . exports = {
160232 root : true ,
161233
@@ -671,81 +743,7 @@ module.exports = {
671743 'no-restricted-imports' : [
672744 2 ,
673745 {
674- paths : [
675- {
676- name : 'lodash' ,
677- importNames : [ 'set' , 'setWith' ] ,
678- message : 'Please use @elastic/safer-lodash-set instead' ,
679- } ,
680- {
681- name : 'lodash.set' ,
682- message : 'Please use @elastic/safer-lodash-set instead' ,
683- } ,
684- {
685- name : 'lodash.setwith' ,
686- message : 'Please use @elastic/safer-lodash-set instead' ,
687- } ,
688- {
689- name : 'lodash/set' ,
690- message : 'Please use @elastic/safer-lodash-set instead' ,
691- } ,
692- {
693- name : 'lodash/setWith' ,
694- message : 'Please use @elastic/safer-lodash-set instead' ,
695- } ,
696- {
697- name : 'lodash/fp' ,
698- importNames : [ 'set' , 'setWith' , 'assoc' , 'assocPath' ] ,
699- message : 'Please use @elastic/safer-lodash-set instead' ,
700- } ,
701- {
702- name : 'lodash/fp/set' ,
703- message : 'Please use @elastic/safer-lodash-set instead' ,
704- } ,
705- {
706- name : 'lodash/fp/setWith' ,
707- message : 'Please use @elastic/safer-lodash-set instead' ,
708- } ,
709- {
710- name : 'lodash/fp/assoc' ,
711- message : 'Please use @elastic/safer-lodash-set instead' ,
712- } ,
713- {
714- name : 'lodash/fp/assocPath' ,
715- message : 'Please use @elastic/safer-lodash-set instead' ,
716- } ,
717- {
718- name : 'lodash' ,
719- importNames : [ 'template' ] ,
720- message :
721- 'lodash.template is unsafe, and not compatible with our content security policy.' ,
722- } ,
723- {
724- name : 'lodash.template' ,
725- message :
726- 'lodash.template is unsafe, and not compatible with our content security policy.' ,
727- } ,
728- {
729- name : 'lodash/template' ,
730- message :
731- 'lodash.template is unsafe, and not compatible with our content security policy.' ,
732- } ,
733- {
734- name : 'lodash/fp' ,
735- importNames : [ 'template' ] ,
736- message :
737- 'lodash.template is unsafe, and not compatible with our content security policy.' ,
738- } ,
739- {
740- name : 'lodash/fp/template' ,
741- message :
742- 'lodash.template is unsafe, and not compatible with our content security policy.' ,
743- } ,
744- {
745- name : 'react-use' ,
746- message : 'Please use react-use/lib/{method} instead.' ,
747- } ,
748- ] ,
746+ paths : RESTRICTED_IMPORTS ,
749747 } ,
750748 ] ,
751749 'no-restricted-modules' : [
@@ -838,6 +836,23 @@ module.exports = {
838836 ] ,
839837 } ,
840838 } ,
839+ {
840+ files : [ '**/common/**/*.{js,mjs,ts,tsx}' , '**/public/**/*.{js,mjs,ts,tsx}' ] ,
841+ rules : {
842+ 'no-restricted-imports' : [
843+ 2 ,
844+ {
845+ paths : [
846+ ...RESTRICTED_IMPORTS ,
847+ {
848+ name : 'semver' ,
849+ message : 'Please use "semver/*/{function}" instead' ,
850+ } ,
851+ ] ,
852+ } ,
853+ ] ,
854+ } ,
855+ } ,
841856
842857 /**
843858 * APM and Observability overrides
@@ -1585,8 +1600,8 @@ module.exports = {
15851600 plugins : [ 'react' , '@typescript-eslint' ] ,
15861601 files : [ 'x-pack/plugins/osquery/**/*.{js,mjs,ts,tsx}' ] ,
15871602 rules : {
1588- // 'arrow-body-style': ['error', 'as-needed'],
1589- // 'prefer-arrow-callback': 'error',
1603+ 'arrow-body-style' : [ 'error' , 'as-needed' ] ,
1604+ 'prefer-arrow-callback' : 'error' ,
15901605 'no-unused-vars' : 'off' ,
15911606 'react/prop-types' : 'off' ,
15921607 '@typescript-eslint/explicit-module-boundary-types' : 'off' ,
0 commit comments