@powerhousedao/builder-tools 4.1.0-dev.109 → 4.1.0-dev.110
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.
- package/dist/connect-utils/vite-config.d.ts.map +1 -1
- package/dist/connect-utils/vite-config.js +6 -1
- package/dist/connect-utils/vite-config.js.map +1 -1
- package/dist/connect-utils/vite-plugins/ph-external-packages.d.ts.map +1 -1
- package/dist/connect-utils/vite-plugins/ph-external-packages.js +39 -12
- package/dist/connect-utils/vite-plugins/ph-external-packages.js.map +1 -1
- package/dist/document-model-editor/components/code-editors/constants.d.ts +3 -0
- package/dist/document-model-editor/components/code-editors/constants.d.ts.map +1 -0
- package/dist/document-model-editor/components/code-editors/constants.js +38 -0
- package/dist/document-model-editor/components/code-editors/constants.js.map +1 -0
- package/dist/document-model-editor/components/code-editors/factories.d.ts +4 -0
- package/dist/document-model-editor/components/code-editors/factories.d.ts.map +1 -0
- package/dist/document-model-editor/components/code-editors/factories.js +47 -0
- package/dist/document-model-editor/components/code-editors/factories.js.map +1 -0
- package/dist/document-model-editor/components/code-editors/graphql-editor.d.ts +2 -2
- package/dist/document-model-editor/components/code-editors/graphql-editor.d.ts.map +1 -1
- package/dist/document-model-editor/components/code-editors/graphql-editor.js +6 -2
- package/dist/document-model-editor/components/code-editors/graphql-editor.js.map +1 -1
- package/dist/document-model-editor/components/code-editors/hooks.d.ts +23 -0
- package/dist/document-model-editor/components/code-editors/hooks.d.ts.map +1 -0
- package/dist/document-model-editor/components/code-editors/hooks.js +59 -0
- package/dist/document-model-editor/components/code-editors/hooks.js.map +1 -0
- package/dist/document-model-editor/components/code-editors/json-editor.d.ts +2 -2
- package/dist/document-model-editor/components/code-editors/json-editor.d.ts.map +1 -1
- package/dist/document-model-editor/components/code-editors/json-editor.js +7 -4
- package/dist/document-model-editor/components/code-editors/json-editor.js.map +1 -1
- package/dist/document-model-editor/components/code-editors/linting.d.ts +6 -0
- package/dist/document-model-editor/components/code-editors/linting.d.ts.map +1 -0
- package/dist/document-model-editor/components/code-editors/linting.js +59 -0
- package/dist/document-model-editor/components/code-editors/linting.js.map +1 -0
- package/dist/document-model-editor/components/divider.js +1 -1
- package/dist/document-model-editor/components/divider.js.map +1 -1
- package/dist/document-model-editor/components/model-metadata-form.d.ts +1 -1
- package/dist/document-model-editor/components/model-metadata-form.d.ts.map +1 -1
- package/dist/document-model-editor/components/model-metadata-form.js +1 -1
- package/dist/document-model-editor/components/model-metadata-form.js.map +1 -1
- package/dist/document-model-editor/components/modules.d.ts +1 -1
- package/dist/document-model-editor/components/modules.d.ts.map +1 -1
- package/dist/document-model-editor/components/modules.js +1 -1
- package/dist/document-model-editor/components/modules.js.map +1 -1
- package/dist/document-model-editor/components/operation.d.ts.map +1 -1
- package/dist/document-model-editor/components/operation.js +2 -2
- package/dist/document-model-editor/components/operation.js.map +1 -1
- package/dist/document-model-editor/components/state-schemas.d.ts +1 -1
- package/dist/document-model-editor/components/state-schemas.d.ts.map +1 -1
- package/dist/document-model-editor/components/state-schemas.js +5 -5
- package/dist/document-model-editor/components/state-schemas.js.map +1 -1
- package/dist/document-model-editor/editor.js +4 -4
- package/dist/document-model-editor/editor.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -5
- package/dist/document-model-editor/components/code-editors/utils.d.ts +0 -33
- package/dist/document-model-editor/components/code-editors/utils.d.ts.map +0 -1
- package/dist/document-model-editor/components/code-editors/utils.js +0 -193
- package/dist/document-model-editor/components/code-editors/utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-config.d.ts","sourceRoot":"","sources":["../../connect-utils/vite-config.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,MAAM,CAAC;AAcd,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEtB,CAAC;AAiDX,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"vite-config.d.ts","sourceRoot":"","sources":["../../connect-utils/vite-config.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,MAAM,CAAC;AAcd,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEtB,CAAC;AAiDX,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,cAmKhE"}
|
|
@@ -234,7 +234,12 @@ export function getConnectBaseViteConfig(options) {
|
|
|
234
234
|
sourcemap: false,
|
|
235
235
|
},
|
|
236
236
|
server: {
|
|
237
|
-
watch: env.PH_DISABLE_LOCAL_PACKAGE
|
|
237
|
+
watch: env.PH_DISABLE_LOCAL_PACKAGE
|
|
238
|
+
? null
|
|
239
|
+
: {
|
|
240
|
+
ignored: ["**/.ph/**", "**/backup-documents/**"],
|
|
241
|
+
awaitWriteFinish: { stabilityThreshold: 2000, pollInterval: 100 },
|
|
242
|
+
},
|
|
238
243
|
fs: {
|
|
239
244
|
strict: false,
|
|
240
245
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../../connect-utils/vite-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,YAAY,EACZ,OAAO,GAIR,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,GAEd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE;QACJ;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,OAAO,EAAE,SAAS;aACnB;SACF;QACD;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACL,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,SAAS;aACnB;SACF;QACD;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,gDAAgD;aAC1D;SACF;QACD;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EACL,2MAA2M;aAC9M;SACF;QACD;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,OAAO,EACL,sFAAsF;aACzF;SACF;QACD;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,qBAAqB;aAC/B;SACF;QACD;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,OAAO,EACL,sFAAsF;aACzF;SACF;QACD;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,SAAS;aACnB;SACF;QACD;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EACL,2MAA2M;aAC9M;SACF;KACF;CACO,CAAC;AAEX,SAAS,gBAAgB,CAAC,OAAwB;IAChD,MAAM,UAAU,GAAwB,EAAE,CAAC;IAE3C,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACnC,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;QACrD,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,OAAO,GAGR;IACC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9C,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAChE,OAAO;QACT,CAAC;QACD,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC9B,IAAI,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB;IAC5B,MAAM,kBAAkB,GAAG,yBAAyB,EAAE,CAAC;IACvD,OAAO,kBAAkB,IAAI,SAAS,IAAI,kBAAkB;QAC1D,CAAC,CAAE,kBAAkB,CAAC,OAAkB;QACxC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAwB;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAE7C,0BAA0B;IAC1B,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,0FAA0F;IAC1F,MAAM,GAAG,GAAG,cAAc,CAAC;QACzB,UAAU,EAAE,OAAO,CAAC,GAAG;QACvB,UAAU;QACV,OAAO;KACR,CAAC,CAAC;IAEH,4EAA4E;IAC5E,IAAI,GAAG,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,cAAc,GAAG,qBAAqB,EAAE,CAAC;QAC/C,IAAI,cAAc,EAAE,CAAC;YACnB,GAAG,CAAC,kBAAkB,GAAG,cAAc,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,aAAa,CAAC,GAAG,CAAC,CAAC;IAEnB,yBAAyB;IACzB,MAAM,YAAY,GAChB,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAExE,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC;IAErE,kCAAkC;IAClC,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE/C,2BAA2B;IAC3B,MAAM,gBAAgB,GACpB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3B,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAC1C,IAAI,EAAE,CAAC;IAEV,wFAAwF;IACxF,MAAM,WAAW,GAAG;QAClB,GAAG,IAAI,GAAG,CACR,CAAC,GAAG,aAAa,EAAE,GAAG,gBAAgB,CAAC;aACpC,GAAG,CAAC,uBAAuB,CAAC;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAC3B;KACF,CAAC;IAEF,qFAAqF;IACrF,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;QAC7D,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE5E,MAAM,SAAS,GAAG,GAAG,CAAC,oBAAoB,CAAC;IAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,yBAAyB,IAAI,GAAG,CAAC,kBAAkB,CAAC;IACxE,MAAM,sBAAsB,GAAG,SAAS,IAAI,GAAG,IAAI,OAAO,CAAC;IAE3D,MAAM,OAAO,GAAmB;QAC9B,aAAa,CAAC;YACZ,OAAO,EAAE,CAAC,QAAQ,CAAC;YACnB,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAI;aACd;SACF,CAAC;QACF,QAAQ,EAAE;QACV,IAAI,EAAE;QACN,KAAK,EAAE;QACP,wBAAwB,CAAC,UAAU,CAAC;QACpC,gBAAgB,CAAC;YACf,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,GAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC1C,GAAG,IAAI;wBACP,QAAQ,EAAE,MAAM;qBACjB,CAAC,CAAyB;iBAC5B;aACF;SACF,CAAC;KACM,CAAC;IAEX,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CACV,gBAAgB,CAAC;YACf,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO,IAAI,SAAS;gBAC1B,MAAM,EAAE,KAAK,EAAE,mHAAmH;aACnI;YACD,SAAS;YACT,GAAG;YACH,OAAO;YACP,uBAAuB,EAAE;gBACvB,sBAAsB,EAAE,IAAI;aAC7B;YACD,wBAAwB,EAAE;gBACxB,OAAO,EAAE,IAAI;aACd;SACF,CAAiB,CACnB,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC;IAEpE,iDAAiD;IACjD,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,OAAO,IAAI,GAAG,CAAC,oBAAoB,KAAK,OAAO,CAAC;IAC5E,MAAM,YAAY,GAAG,OAAO;QAC1B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,UAAU,CAAC;YACT,OAAO,EAAE;gBACP,QAAQ,EAAE;oBACR,8EAA8E,EAAE,6CAA6C;iBAC9H;gBACD,MAAM,EAAE,CAAC,6BAA6B,CAAC;aACxC;SACF,CAAC,CAAC;IAEP,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,QAAQ;QACd,YAAY;QACZ,SAAS,EAAE,CAAC,aAAa,CAAC;QAC1B,MAAM,EAAE,KAAK;QACb,YAAY,EAAE;YACZ,OAAO,EAAE,CAAC,sBAAsB,CAAC;SAClC;QACD,OAAO;QACP,OAAO,EAAE;YACP,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,CAAC;SACpD;QACD,KAAK,EAAE;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;SACjB;QACD,MAAM,EAAE;YACN,KAAK,EAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../../connect-utils/vite-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ph-external-packages.d.ts","sourceRoot":"","sources":["../../../connect-utils/vite-plugins/ph-external-packages.ts"],"names":[],"mappings":"AA8BA,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"ph-external-packages.d.ts","sourceRoot":"","sources":["../../../connect-utils/vite-plugins/ph-external-packages.ts"],"names":[],"mappings":"AA8BA,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,8BAsK5D"}
|
|
@@ -24,6 +24,7 @@ function makeImportScriptFromPackages(packages) {
|
|
|
24
24
|
}
|
|
25
25
|
export function phExternalPackagesPlugin(phPackages) {
|
|
26
26
|
const virtualModuleId = "virtual:ph:external-packages";
|
|
27
|
+
const resolvedVirtualModuleId = "\0" + virtualModuleId;
|
|
27
28
|
const localPackageModules = new Map();
|
|
28
29
|
/**
|
|
29
30
|
* Checks if a module should be skipped based on the following conditions:
|
|
@@ -36,7 +37,8 @@ export function phExternalPackagesPlugin(phPackages) {
|
|
|
36
37
|
return (!module.file ||
|
|
37
38
|
module.file.includes("node_modules") ||
|
|
38
39
|
allModules.has(module.file) ||
|
|
39
|
-
(!module.file.startsWith(rootPath) &&
|
|
40
|
+
(!module.file.startsWith(rootPath) &&
|
|
41
|
+
module.file !== resolvedVirtualModuleId));
|
|
40
42
|
}
|
|
41
43
|
/**
|
|
42
44
|
* Recursively builds a set of imported modules for a given module.
|
|
@@ -45,7 +47,7 @@ export function phExternalPackagesPlugin(phPackages) {
|
|
|
45
47
|
* @param allModules The set of imported modules.
|
|
46
48
|
*/
|
|
47
49
|
function buildImportedModulesSet(currentModule, rootPath, allModules) {
|
|
48
|
-
const isVirtualModule = currentModule.file ===
|
|
50
|
+
const isVirtualModule = currentModule.file === resolvedVirtualModuleId;
|
|
49
51
|
const skipModule = shouldSkipModule(currentModule, rootPath, allModules);
|
|
50
52
|
if (skipModule) {
|
|
51
53
|
return;
|
|
@@ -53,6 +55,10 @@ export function phExternalPackagesPlugin(phPackages) {
|
|
|
53
55
|
if (!isVirtualModule) {
|
|
54
56
|
allModules.add(currentModule.file);
|
|
55
57
|
}
|
|
58
|
+
if (currentModule.file?.endsWith(".css") ||
|
|
59
|
+
currentModule.file?.endsWith(".html")) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
56
62
|
for (const importer of currentModule.importedModules) {
|
|
57
63
|
if (!shouldSkipModule(importer, rootPath, allModules)) {
|
|
58
64
|
buildImportedModulesSet(importer, rootPath, allModules);
|
|
@@ -65,15 +71,15 @@ export function phExternalPackagesPlugin(phPackages) {
|
|
|
65
71
|
enforce: "pre",
|
|
66
72
|
resolveId(id) {
|
|
67
73
|
if (id === virtualModuleId) {
|
|
68
|
-
return
|
|
74
|
+
return resolvedVirtualModuleId;
|
|
69
75
|
}
|
|
70
76
|
},
|
|
71
77
|
load(id) {
|
|
72
|
-
if (id ===
|
|
78
|
+
if (id === resolvedVirtualModuleId) {
|
|
73
79
|
return makeImportScriptFromPackages(phPackages);
|
|
74
80
|
}
|
|
75
81
|
},
|
|
76
|
-
handleHotUpdate({ file, server, modules }) {
|
|
82
|
+
handleHotUpdate({ file, server, modules, timestamp }) {
|
|
77
83
|
// Check if the changed file is part of any local package
|
|
78
84
|
const localPackage = phPackages.find((pkg) => {
|
|
79
85
|
if (pkg.startsWith("/") || pkg.startsWith(".")) {
|
|
@@ -88,7 +94,7 @@ export function phExternalPackagesPlugin(phPackages) {
|
|
|
88
94
|
// iterate through all local package imports to build set of imported modules, if not already built
|
|
89
95
|
const packageModules = localPackageModules.get(localPackage);
|
|
90
96
|
const importedModules = localPackageModules.get(localPackage) || new Set();
|
|
91
|
-
const virtualModule = server.moduleGraph.getModuleById(
|
|
97
|
+
const virtualModule = server.moduleGraph.getModuleById(resolvedVirtualModuleId);
|
|
92
98
|
if (virtualModule &&
|
|
93
99
|
!packageModules &&
|
|
94
100
|
virtualModule.importedModules.size > 0 // wait for virtual module to be built
|
|
@@ -103,15 +109,36 @@ export function phExternalPackagesPlugin(phPackages) {
|
|
|
103
109
|
!shouldSkipModule(module, localPackage, importedModules) &&
|
|
104
110
|
module.importers
|
|
105
111
|
.values()
|
|
106
|
-
.some((m) => m.file &&
|
|
112
|
+
.some((m) => m.file &&
|
|
113
|
+
!m.file.endsWith(".css") &&
|
|
114
|
+
importedModules.has(m.file))) {
|
|
107
115
|
buildImportedModulesSet(module, localPackage, importedModules);
|
|
108
116
|
}
|
|
109
117
|
}
|
|
110
|
-
|
|
111
|
-
const modulesToRefresh =
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
118
|
+
let refreshVirtualModule = false;
|
|
119
|
+
const modulesToRefresh = [];
|
|
120
|
+
for (const module of modules) {
|
|
121
|
+
if (!(module.id &&
|
|
122
|
+
module.id !== resolvedVirtualModuleId &&
|
|
123
|
+
module.file &&
|
|
124
|
+
importedModules.has(module.file))) {
|
|
125
|
+
// returns only modules that are actually imported by Connect
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
// lets react modules be handled by react-refresh
|
|
129
|
+
if (module.file.endsWith(".tsx") || module.file.endsWith(".jsx")) {
|
|
130
|
+
modulesToRefresh.push(module);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
// invalidates non-react modules to trigger HMR
|
|
134
|
+
server.moduleGraph.invalidateModule(module, new Set(), timestamp, true);
|
|
135
|
+
}
|
|
136
|
+
refreshVirtualModule = true;
|
|
137
|
+
}
|
|
138
|
+
// if a module was invalidated then triggers HMR on the external packages module
|
|
139
|
+
if (refreshVirtualModule && virtualModule) {
|
|
140
|
+
modulesToRefresh.push(virtualModule);
|
|
141
|
+
}
|
|
115
142
|
return modulesToRefresh;
|
|
116
143
|
},
|
|
117
144
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ph-external-packages.js","sourceRoot":"","sources":["../../../connect-utils/vite-plugins/ph-external-packages.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,SAAS,4BAA4B,CAAC,QAAkB;IACtD,OAAO;;;QAGD,QAAQ;SACP,GAAG,CACF,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACb;yCAC6B,GAAG;0BAClB,GAAG;;2BAEF,KAAK;;;;mDAImB,GAAG;QAC9C,CACC;SACA,IAAI,CAAC,IAAI,CAAC;;;GAGhB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAoB;IAC3D,MAAM,eAAe,GAAG,8BAA8B,CAAC;IAEvD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkC,CAAC;IAEtE;;;;;;OAMG;IACH,SAAS,gBAAgB,CACvB,MAAkB,EAClB,QAAgB,EAChB,UAAuB;QAEvB,OAAO,CACL,CAAC,MAAM,CAAC,IAAI;YACZ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;YACpC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"ph-external-packages.js","sourceRoot":"","sources":["../../../connect-utils/vite-plugins/ph-external-packages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/constants.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,UAAU,yCAStB,CAAC;AAEF,eAAO,MAAM,oBAAoB,yCAmBhC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { autocompletion, closeBrackets, closeBracketsKeymap, completionKeymap, } from "@codemirror/autocomplete";
|
|
2
|
+
import { defaultKeymap, history, historyKeymap, indentWithTab, } from "@codemirror/commands";
|
|
3
|
+
import { bracketMatching, defaultHighlightStyle, foldGutter, foldKeymap, indentOnInput, syntaxHighlighting, } from "@codemirror/language";
|
|
4
|
+
import { lintKeymap } from "@codemirror/lint";
|
|
5
|
+
import { highlightSelectionMatches, searchKeymap } from "@codemirror/search";
|
|
6
|
+
import { EditorState } from "@codemirror/state";
|
|
7
|
+
import { crosshairCursor, drawSelection, dropCursor, EditorView, highlightActiveLine, highlightActiveLineGutter, highlightSpecialChars, lineNumbers, rectangularSelection, } from "@codemirror/view";
|
|
8
|
+
export const baseKeymap = [
|
|
9
|
+
...closeBracketsKeymap,
|
|
10
|
+
...defaultKeymap,
|
|
11
|
+
...searchKeymap,
|
|
12
|
+
...historyKeymap,
|
|
13
|
+
...foldKeymap,
|
|
14
|
+
...completionKeymap,
|
|
15
|
+
...lintKeymap,
|
|
16
|
+
indentWithTab,
|
|
17
|
+
];
|
|
18
|
+
export const baseEditorExtensions = [
|
|
19
|
+
lineNumbers(),
|
|
20
|
+
highlightActiveLineGutter(),
|
|
21
|
+
highlightSpecialChars(),
|
|
22
|
+
history(),
|
|
23
|
+
foldGutter(),
|
|
24
|
+
drawSelection(),
|
|
25
|
+
dropCursor(),
|
|
26
|
+
EditorState.allowMultipleSelections.of(true),
|
|
27
|
+
indentOnInput(),
|
|
28
|
+
syntaxHighlighting(defaultHighlightStyle, { fallback: true }),
|
|
29
|
+
bracketMatching(),
|
|
30
|
+
closeBrackets(),
|
|
31
|
+
autocompletion(),
|
|
32
|
+
rectangularSelection(),
|
|
33
|
+
crosshairCursor(),
|
|
34
|
+
highlightActiveLine(),
|
|
35
|
+
highlightSelectionMatches(),
|
|
36
|
+
EditorView.lineWrapping,
|
|
37
|
+
];
|
|
38
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,aAAa,EACb,OAAO,EACP,aAAa,EACb,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,aAAa,EACb,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,eAAe,EACf,aAAa,EACb,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,WAAW,EACX,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,mBAAmB;IACtB,GAAG,aAAa;IAChB,GAAG,YAAY;IACf,GAAG,aAAa;IAChB,GAAG,UAAU;IACb,GAAG,gBAAgB;IACnB,GAAG,UAAU;IACb,aAAa;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,WAAW,EAAE;IACb,yBAAyB,EAAE;IAC3B,qBAAqB,EAAE;IACvB,OAAO,EAAE;IACT,UAAU,EAAE;IACZ,aAAa,EAAE;IACf,UAAU,EAAE;IACZ,WAAW,CAAC,uBAAuB,CAAC,EAAE,CAAC,IAAI,CAAC;IAC5C,aAAa,EAAE;IACf,kBAAkB,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7D,eAAe,EAAE;IACjB,aAAa,EAAE;IACf,cAAc,EAAE;IAChB,oBAAoB,EAAE;IACtB,eAAe,EAAE;IACjB,mBAAmB,EAAE;IACrB,yBAAyB,EAAE;IAC3B,UAAU,CAAC,YAAY;CACxB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function makeUpdateHandler(readonly: boolean | undefined, timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>, updateDocumentInModel?: (newDoc: string) => void): import("@codemirror/state").Extension;
|
|
2
|
+
export declare function makeFocusHandler(readonly: boolean | undefined, timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>, updateDocumentInModel?: (newDoc: string) => void): import("@codemirror/state").Extension;
|
|
3
|
+
export declare function makePasteHandler(readonly: boolean | undefined, timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>, updateDocumentInModel?: (newDoc: string) => void): import("@codemirror/state").Extension;
|
|
4
|
+
//# sourceMappingURL=factories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/factories.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,EACzD,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,yCAoBjD;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,EACzD,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,yCAWjD;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,EACzD,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,yCAcjD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { forceLinting } from "@codemirror/lint";
|
|
2
|
+
import { Transaction } from "@codemirror/state";
|
|
3
|
+
import { EditorView } from "@codemirror/view";
|
|
4
|
+
import { updateTimeout } from "../../constants/documents.js";
|
|
5
|
+
export function makeUpdateHandler(readonly, timeoutRef, updateDocumentInModel) {
|
|
6
|
+
return EditorView.updateListener.of((update) => {
|
|
7
|
+
if (!!readonly || !update.docChanged)
|
|
8
|
+
return;
|
|
9
|
+
if (update.transactions.some((tr) => tr.annotation(Transaction.userEvent) === "external"))
|
|
10
|
+
return;
|
|
11
|
+
const newDoc = update.state.doc.toString();
|
|
12
|
+
if (timeoutRef.current) {
|
|
13
|
+
clearTimeout(timeoutRef.current);
|
|
14
|
+
}
|
|
15
|
+
timeoutRef.current = setTimeout(() => {
|
|
16
|
+
updateDocumentInModel?.(newDoc);
|
|
17
|
+
}, updateTimeout);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
export function makeFocusHandler(readonly, timeoutRef, updateDocumentInModel) {
|
|
21
|
+
return EditorView.focusChangeEffect.of((state, focusing) => {
|
|
22
|
+
if (!!readonly || focusing)
|
|
23
|
+
return null;
|
|
24
|
+
if (timeoutRef.current) {
|
|
25
|
+
clearTimeout(timeoutRef.current);
|
|
26
|
+
}
|
|
27
|
+
const newDoc = state.doc.toString();
|
|
28
|
+
updateDocumentInModel?.(newDoc);
|
|
29
|
+
return null;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export function makePasteHandler(readonly, timeoutRef, updateDocumentInModel) {
|
|
33
|
+
return EditorView.domEventHandlers({
|
|
34
|
+
paste: (event, view) => {
|
|
35
|
+
if (readonly)
|
|
36
|
+
return false;
|
|
37
|
+
const newDoc = view.state.doc.toString();
|
|
38
|
+
if (timeoutRef.current) {
|
|
39
|
+
clearTimeout(timeoutRef.current);
|
|
40
|
+
}
|
|
41
|
+
updateDocumentInModel?.(newDoc);
|
|
42
|
+
forceLinting(view);
|
|
43
|
+
return false;
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=factories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factories.js","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,MAAM,UAAU,iBAAiB,CAC/B,QAA6B,EAC7B,UAAyD,EACzD,qBAAgD;IAEhD,OAAO,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAkB,EAAE,EAAE;QACzD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO;QAC7C,IACE,MAAM,CAAC,YAAY,CAAC,IAAI,CACtB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,UAAU,CAC5D;YAED,OAAO;QAET,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAE3C,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,EAAE,aAAa,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAA6B,EAC7B,UAAyD,EACzD,qBAAgD;IAEhD,OAAO,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACzD,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAA6B,EAC7B,UAAyD,EACzD,qBAAgD;IAEhD,OAAO,UAAU,CAAC,gBAAgB,CAAC;QACjC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,IAAI,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YACD,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -5,6 +5,6 @@ type Props = {
|
|
|
5
5
|
updateDocumentInModel?: (newDoc: string) => void;
|
|
6
6
|
customLinter?: (doc: string) => Diagnostic[];
|
|
7
7
|
};
|
|
8
|
-
|
|
9
|
-
export
|
|
8
|
+
declare const GraphqlEditor: import("react").NamedExoticComponent<Props>;
|
|
9
|
+
export default GraphqlEditor;
|
|
10
10
|
//# sourceMappingURL=graphql-editor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-editor.d.ts","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/graphql-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"graphql-editor.d.ts","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/graphql-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAuBnD,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,aAAa,6CAoFjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -7,8 +7,11 @@ import { buildSchema } from "graphql";
|
|
|
7
7
|
import { memo, useEffect, useRef } from "react";
|
|
8
8
|
import { ayuLight } from "thememirror";
|
|
9
9
|
import { useSchemaContext } from "../../context/schema-context.js";
|
|
10
|
-
import { baseEditorExtensions, baseKeymap
|
|
11
|
-
|
|
10
|
+
import { baseEditorExtensions, baseKeymap } from "./constants.js";
|
|
11
|
+
import { makeFocusHandler, makePasteHandler, makeUpdateHandler, } from "./factories.js";
|
|
12
|
+
import { useDocumentSync, useEditorCleanup, useEditorRefs, useHandlerReconfiguration, } from "./hooks.js";
|
|
13
|
+
import { makeLinter } from "./linting.js";
|
|
14
|
+
const GraphqlEditor = memo(function GraphqlEditor(props) {
|
|
12
15
|
const { doc, readonly = false, updateDocumentInModel, customLinter } = props;
|
|
13
16
|
const { editorRef, viewRef, updateListenerCompartment, focusHandlerCompartment, pasteHandlerCompartment, timeoutRef, } = useEditorRefs();
|
|
14
17
|
// GraphQL-specific refs
|
|
@@ -66,4 +69,5 @@ export const GraphqlEditor = memo(function GraphqlEditor(props) {
|
|
|
66
69
|
useDocumentSync(viewRef.current, doc);
|
|
67
70
|
return _jsx("div", { ref: editorRef });
|
|
68
71
|
});
|
|
72
|
+
export default GraphqlEditor;
|
|
69
73
|
//# sourceMappingURL=graphql-editor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-editor.js","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/graphql-editor.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"graphql-editor.js","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/graphql-editor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Compartment } from "@codemirror/state";
|
|
2
|
+
import type { EditorView } from "@codemirror/view";
|
|
3
|
+
export type EditorConfig = {
|
|
4
|
+
doc: string;
|
|
5
|
+
readonly?: boolean;
|
|
6
|
+
updateDocumentInModel?: (newDoc: string) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare function useEditorRefs(): {
|
|
9
|
+
editorRef: import("react").RefObject<HTMLDivElement | null>;
|
|
10
|
+
viewRef: import("react").RefObject<EditorView | null>;
|
|
11
|
+
updateListenerCompartment: import("react").RefObject<Compartment>;
|
|
12
|
+
focusHandlerCompartment: import("react").RefObject<Compartment>;
|
|
13
|
+
pasteHandlerCompartment: import("react").RefObject<Compartment>;
|
|
14
|
+
timeoutRef: import("react").RefObject<NodeJS.Timeout | null>;
|
|
15
|
+
};
|
|
16
|
+
export declare function useEditorCleanup(viewRef: React.MutableRefObject<EditorView | null>): void;
|
|
17
|
+
export declare function useHandlerReconfiguration(view: EditorView | null, readonly: boolean | undefined, timeoutRef: React.MutableRefObject<NodeJS.Timeout | null>, updateDocumentInModel: ((newDoc: string) => void) | undefined, compartments: {
|
|
18
|
+
updateListener: Compartment;
|
|
19
|
+
focusHandler: Compartment;
|
|
20
|
+
pasteHandler: Compartment;
|
|
21
|
+
}): void;
|
|
22
|
+
export declare function useDocumentSync(view: EditorView | null, doc: string): void;
|
|
23
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAe,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQnD,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,wBAAgB,aAAa;;;;;;;EAgB5B;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,QAUnD;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,UAAU,GAAG,IAAI,EACvB,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,EACzD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,EAC7D,YAAY,EAAE;IACZ,cAAc,EAAE,WAAW,CAAC;IAC5B,YAAY,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,WAAW,CAAC;CAC3B,QAmBF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,QAYnE"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { forceLinting } from "@codemirror/lint";
|
|
2
|
+
import { Compartment, Transaction } from "@codemirror/state";
|
|
3
|
+
import { useEffect, useRef } from "react";
|
|
4
|
+
import { makeFocusHandler, makePasteHandler, makeUpdateHandler, } from "./factories.js";
|
|
5
|
+
export function useEditorRefs() {
|
|
6
|
+
const editorRef = useRef(null);
|
|
7
|
+
const viewRef = useRef(null);
|
|
8
|
+
const updateListenerCompartment = useRef(new Compartment());
|
|
9
|
+
const focusHandlerCompartment = useRef(new Compartment());
|
|
10
|
+
const pasteHandlerCompartment = useRef(new Compartment());
|
|
11
|
+
const timeoutRef = useRef(null);
|
|
12
|
+
return {
|
|
13
|
+
editorRef,
|
|
14
|
+
viewRef,
|
|
15
|
+
updateListenerCompartment,
|
|
16
|
+
focusHandlerCompartment,
|
|
17
|
+
pasteHandlerCompartment,
|
|
18
|
+
timeoutRef,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function useEditorCleanup(viewRef) {
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
return () => {
|
|
24
|
+
if (viewRef.current) {
|
|
25
|
+
viewRef.current.destroy();
|
|
26
|
+
viewRef.current = null;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}, []);
|
|
30
|
+
}
|
|
31
|
+
export function useHandlerReconfiguration(view, readonly, timeoutRef, updateDocumentInModel, compartments) {
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (!view)
|
|
34
|
+
return;
|
|
35
|
+
view.dispatch({
|
|
36
|
+
effects: [
|
|
37
|
+
compartments.updateListener.reconfigure(makeUpdateHandler(readonly, timeoutRef, updateDocumentInModel)),
|
|
38
|
+
compartments.focusHandler.reconfigure(makeFocusHandler(readonly, timeoutRef, updateDocumentInModel)),
|
|
39
|
+
compartments.pasteHandler.reconfigure(makePasteHandler(readonly, timeoutRef, updateDocumentInModel)),
|
|
40
|
+
],
|
|
41
|
+
});
|
|
42
|
+
forceLinting(view);
|
|
43
|
+
}, [readonly, updateDocumentInModel]);
|
|
44
|
+
}
|
|
45
|
+
export function useDocumentSync(view, doc) {
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (!view)
|
|
48
|
+
return;
|
|
49
|
+
const currentDoc = view.state.doc.toString();
|
|
50
|
+
if (currentDoc !== doc) {
|
|
51
|
+
view.dispatch({
|
|
52
|
+
changes: { from: 0, to: currentDoc.length, insert: doc },
|
|
53
|
+
annotations: [Transaction.userEvent.of("external")],
|
|
54
|
+
});
|
|
55
|
+
forceLinting(view);
|
|
56
|
+
}
|
|
57
|
+
}, [doc]);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAQxB,MAAM,UAAU,aAAa;IAC3B,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAChD,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;IAC5D,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;IAC1D,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAEvD,OAAO;QACL,SAAS;QACT,OAAO;QACP,yBAAyB;QACzB,uBAAuB;QACvB,uBAAuB;QACvB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAkD;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC1B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAAuB,EACvB,QAA6B,EAC7B,UAAyD,EACzD,qBAA6D,EAC7D,YAIC;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,QAAQ,CAAC;YACZ,OAAO,EAAE;gBACP,YAAY,CAAC,cAAc,CAAC,WAAW,CACrC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAC/D;gBACD,YAAY,CAAC,YAAY,CAAC,WAAW,CACnC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAC9D;gBACD,YAAY,CAAC,YAAY,CAAC,WAAW,CACnC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAC9D;aACF;SACF,CAAC,CAAC;QACH,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAuB,EAAE,GAAW;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7C,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC;gBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;gBACxD,WAAW,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;aACpD,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACZ,CAAC"}
|
|
@@ -3,6 +3,6 @@ type Props = {
|
|
|
3
3
|
readonly?: boolean;
|
|
4
4
|
updateDocumentInModel?: (newDoc: string) => void;
|
|
5
5
|
};
|
|
6
|
-
|
|
7
|
-
export
|
|
6
|
+
declare const JSONEditor: import("react").NamedExoticComponent<Props>;
|
|
7
|
+
export default JSONEditor;
|
|
8
8
|
//# sourceMappingURL=json-editor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-editor.d.ts","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/json-editor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json-editor.d.ts","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/json-editor.tsx"],"names":[],"mappings":"AAmBA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,QAAA,MAAM,UAAU,6CA0Dd,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { json, jsonLanguage, jsonParseLinter } from "@codemirror/lang-json";
|
|
3
|
+
import { forceLinting, linter } from "@codemirror/lint";
|
|
3
4
|
import { EditorState } from "@codemirror/state";
|
|
4
5
|
import { EditorView, keymap } from "@codemirror/view";
|
|
5
6
|
import { memo, useEffect } from "react";
|
|
6
7
|
import { ayuLight } from "thememirror";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
8
|
+
import { baseEditorExtensions, baseKeymap } from "./constants.js";
|
|
9
|
+
import { makeFocusHandler, makePasteHandler, makeUpdateHandler, } from "./factories.js";
|
|
10
|
+
import { useDocumentSync, useEditorCleanup, useEditorRefs, useHandlerReconfiguration, } from "./hooks.js";
|
|
11
|
+
const JSONEditor = memo(function JSONEditor(props) {
|
|
10
12
|
const { doc, readonly = false, updateDocumentInModel } = props;
|
|
11
13
|
const { editorRef, viewRef, updateListenerCompartment, focusHandlerCompartment, pasteHandlerCompartment, timeoutRef, } = useEditorRefs();
|
|
12
14
|
useEffect(() => {
|
|
@@ -41,4 +43,5 @@ export const JSONEditor = memo(function JSONEditor(props) {
|
|
|
41
43
|
useDocumentSync(viewRef.current, doc);
|
|
42
44
|
return _jsx("div", { ref: editorRef });
|
|
43
45
|
});
|
|
46
|
+
export default JSONEditor;
|
|
44
47
|
//# sourceMappingURL=json-editor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-editor.js","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/json-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"json-editor.js","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/json-editor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AASpB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,UAAU,CAAC,KAAY;IACtD,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,KAAK,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,EACJ,SAAS,EACT,OAAO,EACP,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,UAAU,GACX,GAAG,aAAa,EAAE,CAAC;IAEpB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC;gBAC/B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;oBACxB,GAAG;oBACH,UAAU,EAAE;wBACV,GAAG,oBAAoB;wBACvB,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;wBACrB,QAAQ;wBACR,YAAY;wBACZ,IAAI,EAAE;wBACN,MAAM,CAAC,eAAe,EAAE,CAAC;wBACzB,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAClC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAC/D;wBACD,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAChC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAC9D;wBACD,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAChC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAC9D;wBACD,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC;qBAClC;iBACF,CAAC;gBACF,MAAM,EAAE,SAAS,CAAC,OAAQ;aAC3B,CAAC,CAAC;YACH,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE1B,yBAAyB,CACvB,OAAO,CAAC,OAAO,EACf,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB;QACE,cAAc,EAAE,yBAAyB,CAAC,OAAO;QACjD,YAAY,EAAE,uBAAuB,CAAC,OAAO;QAC7C,YAAY,EAAE,uBAAuB,CAAC,OAAO;KAC9C,CACF,CAAC;IAEF,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAEtC,OAAO,cAAK,GAAG,EAAE,SAAS,GAAI,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Diagnostic } from "@codemirror/lint";
|
|
2
|
+
import type { GraphQLSchema } from "graphql";
|
|
3
|
+
import { GraphQLError } from "graphql";
|
|
4
|
+
export declare function convertGraphQLErrorToDiagnostic(error: GraphQLError): Diagnostic;
|
|
5
|
+
export declare function makeLinter(schema: GraphQLSchema, customLinter?: (doc: string) => Diagnostic[]): import("@codemirror/state").Extension;
|
|
6
|
+
//# sourceMappingURL=linting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linting.d.ts","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/linting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAgB,MAAM,SAAS,CAAC;AAOrD,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,YAAY,GAClB,UAAU,CAOZ;AASD,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EACrB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,EAAE,yCAmD7C"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { linter } from "@codemirror/lint";
|
|
2
|
+
import { filterSchema } from "@graphql-tools/utils";
|
|
3
|
+
import { GraphQLError, locatedError } from "graphql";
|
|
4
|
+
import { validateSDL } from "graphql/validation/validate.js";
|
|
5
|
+
import { safeParseSdl } from "../../context/schema-context.js";
|
|
6
|
+
/* Converts a GraphQLError to a Diagnostic
|
|
7
|
+
GraphQLError uses a zero-indexed line and column, but the editor uses a one-indexed line and column
|
|
8
|
+
*/
|
|
9
|
+
export function convertGraphQLErrorToDiagnostic(error) {
|
|
10
|
+
return {
|
|
11
|
+
from: error.locations?.[0] ? (error.positions?.[0] ?? 0) : 0,
|
|
12
|
+
to: error.locations?.[0] ? (error.positions?.[0] ?? 0) + 1 : 1,
|
|
13
|
+
severity: "error",
|
|
14
|
+
message: error.message,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/* Creates a linter that checks the document for errors
|
|
18
|
+
This works in combination with the built-in linting provided by the graphql extension
|
|
19
|
+
We need to recreate this linter when the schema changes or if a custom linter is provided
|
|
20
|
+
It first checks the document for linting errors
|
|
21
|
+
Then it checks if the document is a valid document string
|
|
22
|
+
Then it checks if the document is valid against the schema
|
|
23
|
+
*/
|
|
24
|
+
export function makeLinter(schema, customLinter) {
|
|
25
|
+
return linter((view) => {
|
|
26
|
+
const doc = view.state.doc.toString();
|
|
27
|
+
let diagnostics = [];
|
|
28
|
+
if (customLinter) {
|
|
29
|
+
diagnostics = diagnostics.concat(customLinter(doc));
|
|
30
|
+
}
|
|
31
|
+
const newDocNode = safeParseSdl(doc);
|
|
32
|
+
if (newDocNode) {
|
|
33
|
+
try {
|
|
34
|
+
const currentTypeNames = new Set(newDocNode.definitions
|
|
35
|
+
.filter((def) => "name" in def && def.name)
|
|
36
|
+
.map((def) => def.name.value));
|
|
37
|
+
// we need to filter out the existing types in the document from the schema to prevent duplicate type errors in the validation
|
|
38
|
+
const filteredSchema = filterSchema({
|
|
39
|
+
schema,
|
|
40
|
+
typeFilter: (typeName) => !currentTypeNames.has(typeName),
|
|
41
|
+
});
|
|
42
|
+
const errors = validateSDL(newDocNode, filteredSchema)
|
|
43
|
+
.map((error) => locatedError(error, newDocNode))
|
|
44
|
+
.filter((error, index, self) => index ===
|
|
45
|
+
self.findIndex((e) => e.message === error.message &&
|
|
46
|
+
e.locations?.[0]?.line === error.locations?.[0]?.line &&
|
|
47
|
+
e.locations?.[0]?.column === error.locations?.[0]?.column));
|
|
48
|
+
diagnostics = diagnostics.concat(errors.map(convertGraphQLErrorToDiagnostic));
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
if (error instanceof GraphQLError) {
|
|
52
|
+
diagnostics.push(convertGraphQLErrorToDiagnostic(error));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return diagnostics;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=linting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linting.js","sourceRoot":"","sources":["../../../../document-model-editor/components/code-editors/linting.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divider.js","sourceRoot":"","sources":["../../../document-model-editor/components/divider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"divider.js","sourceRoot":"","sources":["../../../document-model-editor/components/divider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,8BAA8B,CAAC;AAOlD,MAAM,UAAU,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAS;IACtE,SAAS,OAAO;QACd,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACjC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,SAAS;QAChB,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACnC,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC;IAChC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,GAAI,CACzE,CAAC;AACJ,CAAC"}
|