Просмотр исходного кода

Merge pull request #7537 from weseek/fix/drawio-render-uncompressed-data

fix(drawio): Rendering uncompressed data
Yuki Takei 3 лет назад
Родитель
Сommit
a073d4aa10
3 измененных файлов с 6 добавлено и 14 удалено
  1. 1 2
      packages/remark-drawio/package.json
  2. 4 4
      packages/remark-drawio/src/utils/embed.ts
  3. 1 8
      yarn.lock

+ 1 - 2
packages/remark-drawio/package.json

@@ -24,8 +24,7 @@
     "test": ""
   },
   "dependencies": {
-    "pako": "^2.1.0",
-    "xmldoc": "^1.2.0"
+    "pako": "^2.1.0"
   },
   "devDependencies": {
     "eslint-plugin-regex": "^1.8.0",

+ 4 - 4
packages/remark-drawio/src/utils/embed.ts

@@ -1,9 +1,9 @@
 // transplanted from https://github.com/jgraph/drawio-tools/blob/d46977060ffad70cae5a9059a2cbfcd8bcf420de/tools/convert.html
 import pako from 'pako';
-import xmldoc from 'xmldoc';
 
+const unconpressedDataRegexp = new RegExp('<mxGraphModel');
 const validateUncompressedData = (input: string): boolean => {
-  return new RegExp('/<mxGraphModel/').test(input);
+  return unconpressedDataRegexp.test(input);
 };
 
 const validateCompressedData = (input: string): boolean => {
@@ -60,14 +60,14 @@ export const generateMxgraphData = (code: string): string => {
   // Evaluate the code is whether uncompressed data that are generated by v21.1.0 or above
   // see: https://github.com/jgraph/drawio/issues/3106#issuecomment-1479352026
   const isUncompressedData = validateUncompressedData(trimedCode);
-  if (isUncompressedData) {
+  if (!isUncompressedData) {
     validateCompressedData(trimedCode);
   }
 
   const xml = `
     <mxfile version="6.8.9" editor="www.draw.io" type="atlas">
       <mxAtlasLibraries/>
-      <diagram>${isUncompressedData ? xmldoc.XmlDocument(trimedCode) : trimedCode}</diagram>
+      <diagram>${trimedCode}</diagram>
     </mxfile>
   `;
 

+ 1 - 8
yarn.lock

@@ -19168,7 +19168,7 @@ sax@1.2.1:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
 
-sax@>=0.6.0, sax@^1.2.4:
+sax@>=0.6.0:
   version "1.2.4"
   resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
   integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
@@ -22703,13 +22703,6 @@ xmlbuilder@~9.0.1:
   resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
   integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
 
-xmldoc@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-1.2.0.tgz#7554371bfd8c138287cff01841ae4566d26e5541"
-  integrity sha512-2eN8QhjBsMW2uVj7JHLHkMytpvGHLHxKXBy4J3fAT/HujsEtM6yU84iGjpESYGHg6XwK0Vu4l+KgqQ2dv2cCqg==
-  dependencies:
-    sax "^1.2.4"
-
 xmldom-sre@0.1.31:
   version "0.1.31"
   resolved "https://registry.yarnpkg.com/xmldom-sre/-/xmldom-sre-0.1.31.tgz#10860d5bab2c603144597d04bf2c4980e98067f4"