eslint-plugin-use-agnostic 1.4.1 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,5 @@
1
+ // now obsolete
2
+
1
3
  import url from "url";
2
4
  import path from "path";
3
5
 
@@ -0,0 +1,6 @@
1
+ /** @typedef {import("../../../comments.config.mjs").ResolvedConfigData} ResolvedConfigData */
2
+
3
+ import { resolvedConfigData } from "../../../comments.config.mjs";
4
+
5
+ /** @type {ResolvedConfigData} */
6
+ export const commentVariablesData = resolvedConfigData;
@@ -18,13 +18,13 @@ export const agnostic20Comments = Object.freeze({
18
18
  "use agnostic components": agnosticComponentsComments,
19
19
  forAliasVariables: Object.freeze({
20
20
  serverNeverClient:
21
- "Server Logics should never leak to the client." /* $COMMENT#AGNOSTIC20#FORALIASVARIABLES#SERVERNEVERCLIENT */,
21
+ "$COMMENT#AGNOSTIC20#USE_SERVER_LOGICS#KINDS $COMMENT#AGNOSTIC20#FORCOMPOSEDVARIABLES#SHOULDNEVERCLIENT" /* $COMMENT#AGNOSTIC20#FORALIASVARIABLES#SERVERNEVERCLIENT */,
22
22
  clientNeverServer:
23
- "Client Logics should never leak to the server." /* $COMMENT#AGNOSTIC20#FORALIASVARIABLES#CLIENTNEVERSERVER */,
23
+ "$COMMENT#AGNOSTIC20#USE_CLIENT_LOGICS#KINDS $COMMENT#AGNOSTIC20#FORCOMPOSEDVARIABLES#SHOULDNEVERSERVER" /* $COMMENT#AGNOSTIC20#FORALIASVARIABLES#CLIENTNEVERSERVER */,
24
24
  agnosticCanServerClient:
25
- "Agnostic Logics can run safely on the server just like they can on the client." /* $COMMENT#AGNOSTIC20#FORALIASVARIABLES#AGNOSTICCANSERVERCLIENT */,
25
+ "$COMMENT#AGNOSTIC20#USE_AGNOSTIC_LOGICS#KINDS $COMMENT#AGNOSTIC20#FORCOMPOSEDVARIABLES#RUNSERVERLIKECLIENT" /* $COMMENT#AGNOSTIC20#FORALIASVARIABLES#AGNOSTICCANSERVERCLIENT */,
26
26
  agnosticCanClientServer:
27
- "Agnostic Logics can run safely on the client just like they can on the server." /* $COMMENT#AGNOSTIC20#FORALIASVARIABLES#AGNOSTICCANCLIENTSERVER */,
27
+ "$COMMENT#AGNOSTIC20#USE_AGNOSTIC_LOGICS#KINDS $COMMENT#AGNOSTIC20#FORCOMPOSEDVARIABLES#RUNCLIENTLIKESERVER" /* $COMMENT#AGNOSTIC20#FORALIASVARIABLES#AGNOSTICCANCLIENTSERVER */,
28
28
  serverFunctionsNoComponents:
29
29
  "Server Functions have no business working with React Components." /* $COMMENT#AGNOSTIC20#FORALIASVARIABLES#SERVERFUNCTIONSNOCOMPONENTS */,
30
30
  serverLogicsCantBoth:
@@ -33,6 +33,14 @@ export const agnostic20Comments = Object.freeze({
33
33
  "$COMMENT#AGNOSTIC20#USE_CLIENT_LOGICS#KINDS $COMMENT#AGNOSTIC20#FORCOMPOSEDVARIABLES#CANTSERVERCLIENT" /* $COMMENT#AGNOSTIC20#FORALIASVARIABLES#CLIENTLOGICSCANTBOTH */,
34
34
  }),
35
35
  forComposedVariables: Object.freeze({
36
+ shouldNeverClient:
37
+ "should never leak to the client." /* $COMMENT#AGNOSTIC20#FORCOMPOSEDVARIABLES#SHOULDNEVERCLIENT */,
38
+ shouldNeverServer:
39
+ "should never leak to the server." /* $COMMENT#AGNOSTIC20#FORCOMPOSEDVARIABLES#SHOULDNEVERSERVER */,
40
+ runServerLikeClient:
41
+ "can run safely on the server just like they can on the client." /* $COMMENT#AGNOSTIC20#FORCOMPOSEDVARIABLES#RUNSERVERLIKECLIENT */,
42
+ runClientLikeServer:
43
+ "can run safely on the client just like they can on the server." /* $COMMENT#AGNOSTIC20#FORCOMPOSEDVARIABLES#RUNCLIENTLIKESERVER */,
36
44
  canComposeOneAnother:
37
45
  "can compose with one another." /* $COMMENT#AGNOSTIC20#FORCOMPOSEDVARIABLES#CANCOMPOSEONEANOTHER */,
38
46
  cantTinkeredServer:
@@ -24,13 +24,13 @@ export const directive21Comments = Object.freeze({
24
24
  "use agnostic strategies": agnosticStrategiesComments,
25
25
  forAliasVariables: Object.freeze({
26
26
  serverNeverClient:
27
- "Prime Server Logics should never leak to the client." /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#SERVERNEVERCLIENT */,
27
+ "$COMMENT#DIRECTIVE21#USE_SERVER_LOGICS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#SHOULDNEVERCLIENT" /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#SERVERNEVERCLIENT */,
28
28
  clientNeverServer:
29
- "Prime Client Logics should never leak to the server." /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#CLIENTNEVERSERVER */,
29
+ "$COMMENT#DIRECTIVE21#USE_CLIENT_LOGICS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#SHOULDNEVERSERVER" /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#CLIENTNEVERSERVER */,
30
30
  agnosticCanServerClient:
31
- "Prime Agnostic Logics can run safely on the server just like they can on the client." /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#AGNOSTICCANSERVERCLIENT */,
31
+ "$COMMENT#DIRECTIVE21#USE_AGNOSTIC_LOGICS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#RUNSERVERLIKECLIENT" /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#AGNOSTICCANSERVERCLIENT */,
32
32
  agnosticCanClientServer:
33
- "Prime Agnostic Logics can run safely on the client just like they can on the server." /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#AGNOSTICCANCLIENTSERVER */,
33
+ "$COMMENT#DIRECTIVE21#USE_AGNOSTIC_LOGICS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#RUNCLIENTLIKESERVER" /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#AGNOSTICCANCLIENTSERVER */,
34
34
  serverFunctionsNoComponents:
35
35
  "(Special) Server Functions have no business working with React Components." /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#SERVERFUNCTIONSNOCOMPONENTS */,
36
36
  serverLogicsCantBoth:
@@ -40,11 +40,19 @@ export const directive21Comments = Object.freeze({
40
40
  agnosticComponentsCanAny:
41
41
  "$COMMENT#DIRECTIVE21#USE_AGNOSTIC_COMPONENTS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANANYPRIMELOGICS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#NOEXPORTCOMPONENTS" /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#AGNOSTICCOMPONENTSCANANY */,
42
42
  agnosticComponentsRenderAny:
43
- "$COMMENT#DIRECTIVE21#USE_AGNOSTIC_COMPONENTS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANCLIENTLIKESERVER" /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#AGNOSTICCOMPONENTSRENDERANY */,
43
+ "$COMMENT#DIRECTIVE21#USE_AGNOSTIC_COMPONENTS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#RENDERCLIENTLIKESERVER" /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#AGNOSTICCOMPONENTSRENDERANY */,
44
44
  serverFunctionsClient:
45
45
  "$COMMENT#DIRECTIVE21#USE_SERVER_FUNCTIONS#SPECIALS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANCLIENTCOMPONENTS" /* $COMMENT#DIRECTIVE21#FORALIASVARIABLES#SERVERFUNCTIONSCLIENT */,
46
46
  }),
47
47
  forComposedVariables: Object.freeze({
48
+ shouldNeverClient:
49
+ "AGNOSTIC20#FORCOMPOSEDVARIABLES#SHOULDNEVERCLIENT" /* $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#SHOULDNEVERCLIENT */,
50
+ shouldNeverServer:
51
+ "AGNOSTIC20#FORCOMPOSEDVARIABLES#SHOULDNEVERSERVER" /* $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#SHOULDNEVERSERVER */,
52
+ runServerLikeClient:
53
+ "AGNOSTIC20#FORCOMPOSEDVARIABLES#RUNSERVERLIKECLIENT" /* $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#RUNSERVERLIKECLIENT */,
54
+ runClientLikeServer:
55
+ "AGNOSTIC20#FORCOMPOSEDVARIABLES#RUNCLIENTLIKESERVER" /* $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#RUNCLIENTLIKESERVER */,
48
56
  canComposeOneAnother:
49
57
  "AGNOSTIC20#FORCOMPOSEDVARIABLES#CANCOMPOSEONEANOTHER" /* $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANCOMPOSEONEANOTHER */,
50
58
  cantTinkeredServer:
@@ -97,9 +105,11 @@ export const directive21Comments = Object.freeze({
97
105
  "when the root of the application is planted on the server." /* $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#WHENROOTONSERVER */,
98
106
  canClientComponents:
99
107
  "can be specifically triggered by Client Components." /* $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANCLIENTCOMPONENTS */,
100
- canServerLikeClient:
101
- "can render safely on the server just like they can on the client." /* $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANSERVERLIKECLIENT */,
102
- canClientLikeServer:
103
- "can render safely on the client just like they can on the server." /* $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANCLIENTLIKESERVER */,
108
+ // renderServerLikeClient
109
+ renderServerLikeClient:
110
+ "can render safely on the server just like they can on the client." /* $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#RENDERSERVERLIKECLIENT */,
111
+ // renderClientLikeServer
112
+ renderClientLikeServer:
113
+ "can render safely on the client just like they can on the server." /* $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#RENDERCLIENTLIKESERVER */,
104
114
  }),
105
115
  });
@@ -115,13 +115,13 @@ export const serverComponentsComments = Object.freeze({
115
115
  "use client components":
116
116
  /* valid */ "$COMMENT#DIRECTIVE21#USE_CLIENT_COMPONENTS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANBENESTEDINSIDE $COMMENT#DIRECTIVE21#USE_SERVER_COMPONENTS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#TOCREATEBOUNDARIES $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#WHENROOTONSERVER" /* $COMMENT#DIRECTIVE21#USE_SERVER_COMPONENTS#USE_CLIENT_COMPONENTS */,
117
117
  "use agnostic components":
118
- /* valid */ "$COMMENT#DIRECTIVE21#USE_AGNOSTIC_COMPONENTS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANSERVERLIKECLIENT" /* $COMMENT#DIRECTIVE21#USE_SERVER_COMPONENTS#USE_AGNOSTIC_COMPONENTS */,
118
+ /* valid */ "$COMMENT#DIRECTIVE21#USE_AGNOSTIC_COMPONENTS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#RENDERSERVERLIKECLIENT" /* $COMMENT#DIRECTIVE21#USE_SERVER_COMPONENTS#USE_AGNOSTIC_COMPONENTS */,
119
119
  "use server functions":
120
120
  /* valid */ "(Special) Server Functions can be passed to imported Client Components within Lineal Server Components Modules, even though indeed Lineal Server Components Modules and Lineal Server Components can make their own Server Functions through inline `'use server'` directives." /* $COMMENT#DIRECTIVE21#USE_SERVER_COMPONENTS#USE_SERVER_FUNCTIONS */,
121
121
  "use client contexts":
122
122
  /* valid */ "$COMMENT#DIRECTIVE21#USE_CLIENT_CONTEXTS#SPECIALS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANBENESTEDINSIDE $COMMENT#DIRECTIVE21#USE_SERVER_COMPONENTS#KINDS $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#TOWRAPTREE $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#WHENROOTONSERVER" /* $COMMENT#DIRECTIVE21#USE_SERVER_COMPONENTS#USE_CLIENT_CONTEXTS */,
123
123
  "use agnostic conditions":
124
- /* valid */ "$COMMENT#DIRECTIVE21#USE_AGNOSTIC_CONDITIONS#SPECIALSCOMMA $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#ASIFLINEALAGNOSTIC $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANSERVERLIKECLIENT" /* $COMMENT#DIRECTIVE21#USE_SERVER_COMPONENTS#USE_AGNOSTIC_CONDITIONS */,
124
+ /* valid */ "$COMMENT#DIRECTIVE21#USE_AGNOSTIC_CONDITIONS#SPECIALSCOMMA $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#ASIFLINEALAGNOSTIC $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#RENDERSERVERLIKECLIENT" /* $COMMENT#DIRECTIVE21#USE_SERVER_COMPONENTS#USE_AGNOSTIC_CONDITIONS */,
125
125
  kinds:
126
126
  "Lineal Server Components" /* $COMMENT#DIRECTIVE21#USE_SERVER_COMPONENTS#KINDS */,
127
127
  kindsComma:
@@ -156,7 +156,7 @@ export const clientComponentsComments = Object.freeze({
156
156
  "use client contexts":
157
157
  /* valid */ "(Special) Client Contexts Components can effectively become Lineal and only render their children on the client via this mechanism since, by a Client Contexts Component being the child of a Lineal Client Component, the Client Contexts Component's children become the grandchildren of an ancestor Lineal Client Component, enforcing them to render exclusively on the client." /* $COMMENT#DIRECTIVE21#USE_CLIENT_COMPONENTS#USE_CLIENT_CONTEXTS */,
158
158
  "use agnostic conditions":
159
- /* valid */ "$COMMENT#DIRECTIVE21#USE_AGNOSTIC_CONDITIONS#SPECIALSCOMMA $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#ASIFLINEALAGNOSTIC $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#CANCLIENTLIKESERVER" /* $COMMENT#DIRECTIVE21#USE_CLIENT_COMPONENTS#USE_AGNOSTIC_CONDITIONS */,
159
+ /* valid */ "$COMMENT#DIRECTIVE21#USE_AGNOSTIC_CONDITIONS#SPECIALSCOMMA $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#ASIFLINEALAGNOSTIC $COMMENT#DIRECTIVE21#FORCOMPOSEDVARIABLES#RENDERCLIENTLIKESERVER" /* $COMMENT#DIRECTIVE21#USE_CLIENT_COMPONENTS#USE_AGNOSTIC_CONDITIONS */,
160
160
  module:
161
161
  "Lineal Client Components Module" /* $COMMENT#DIRECTIVE21#USE_CLIENT_COMPONENTS#MODULE */,
162
162
  modulePeriod:
@@ -11,7 +11,8 @@ import {
11
11
 
12
12
  import { makeIntroForSpecificViolationMessage } from "../../../_commons/utilities/helpers.js";
13
13
 
14
- import { resolvedConfigData } from "../../../../jscomments/_commons/constants/bases.js";
14
+ // import { resolvedConfigData } from "../../../../jscomments/_commons/constants/bases.js";
15
+ import { commentVariablesData } from "../../../../jscomments/_commons/constants/data.js";
15
16
 
16
17
  /**
17
18
  * @typedef {import('../../../../types/agnostic20/_commons/typedefs.js').Directive} Directive
@@ -106,7 +107,7 @@ export const makeBlockedImport = (
106
107
  currentFileEffectiveDirective,
107
108
  importedFileEffectiveDirective
108
109
  )} ${
109
- resolvedConfigData[agnostic20ConfigName][currentFileEffectiveDirective][
110
+ commentVariablesData[agnostic20ConfigName][currentFileEffectiveDirective][
110
111
  importedFileEffectiveDirective
111
112
  ].value
112
113
  }`,
@@ -14,7 +14,8 @@ import {
14
14
 
15
15
  import { makeIntroForSpecificViolationMessage } from "../../../_commons/utilities/helpers.js";
16
16
 
17
- import { resolvedConfigData } from "../../../../jscomments/_commons/constants/bases.js";
17
+ // import { resolvedConfigData } from "../../../../jscomments/_commons/constants/bases.js";
18
+ import { commentVariablesData } from "../../../../jscomments/_commons/constants/data.js";
18
19
 
19
20
  /**
20
21
  * @typedef {import('../../../../types/directive21/_commons/typedefs.js').CommentedDirective} CommentedDirective
@@ -162,9 +163,9 @@ export const makeBlockedImport = (
162
163
  currentFileCommentedDirective,
163
164
  importedFileCommentedDirective
164
165
  )} ${
165
- resolvedConfigData[directive21ConfigName][currentFileCommentedDirective][
166
- importedFileCommentedDirective
167
- ].value
166
+ commentVariablesData[directive21ConfigName][
167
+ currentFileCommentedDirective
168
+ ][importedFileCommentedDirective].value
168
169
  }`,
169
170
  });
170
171
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-use-agnostic",
3
- "version": "1.4.1",
3
+ "version": "1.5.1",
4
4
  "description": "Highlights problematic server-client imports in projects made with the Fullstack React Architecture.",
5
5
  "keywords": [
6
6
  "eslint",
@@ -24,7 +24,8 @@
24
24
  "types/index.d.ts",
25
25
  "jscomments",
26
26
  "comments.config.js",
27
- "comments.config.json"
27
+ "comments.config.json",
28
+ "comments.config.mjs"
28
29
  ],
29
30
  "exports": {
30
31
  ".": {