diff --git a/packages/mindplot/src/components/export/SVGExporter.ts b/packages/mindplot/src/components/export/SVGExporter.ts index 5d55ad30..d5f38758 100644 --- a/packages/mindplot/src/components/export/SVGExporter.ts +++ b/packages/mindplot/src/components/export/SVGExporter.ts @@ -15,23 +15,31 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import SizeType from '../SizeType'; import Exporter from './Exporter'; class SVGExporter extends Exporter { private svgElement: Element; - private prolog = '\n'; + private static prolog = '\n'; - constructor(svgElement: Element) { + private static regexpTranslate = /translate\((-?[0-9]+.[0-9]+),(-?[0-9]+.[0-9]+)\)/; + + private static padding = 100; + + private adjustToFit: boolean; + + constructor(svgElement: Element, adjustToFit = true) { super('svg', 'image/svg+xml'); this.svgElement = svgElement; + this.adjustToFit = adjustToFit; } export(): Promise { // Replace all images for in-line images ... let svgTxt: string = new XMLSerializer() .serializeToString(this.svgElement); - svgTxt = this.prolog + svgTxt; + svgTxt = SVGExporter.prolog + svgTxt; // Are namespace declared ?. Otherwise, force the declaration ... if (svgTxt.indexOf('xmlns:xlink=') === -1) { @@ -39,15 +47,68 @@ class SVGExporter extends Exporter { } // Add white background. This is mainly for PNG export ... - const svgDoc = SVGExporter.parseXMLString(svgTxt, 'application/xml'); + let svgDoc = SVGExporter.parseXMLString(svgTxt, 'application/xml'); const svgElement = svgDoc.getElementsByTagName('svg')[0]; svgElement.setAttribute('style', 'background-color:white'); + svgElement.setAttribute('focusable', 'false'); + + // Does need to be adjust ?. + if (this.adjustToFit) { + svgDoc = this.normalizeToFit(svgDoc); + } const result = new XMLSerializer() .serializeToString(svgDoc); + return Promise.resolve(result); } + private normalizeToFit(document: Document): Document { + // Collect all group elements ... + const rectElems = Array.from(document.querySelectorAll('g>rect')); + + const translates: SizeType[] = rectElems + .map((rect: Element) => { + const g = rect.parentElement; + const transformStr = g.getAttribute('transform'); + + // Looking to parse translate(220.00000,279.00000) scale(1.00000,1.00000) + const match = transformStr.match(SVGExporter.regexpTranslate); + let result: SizeType = { width: 0, height: 0 }; + if (match !== null) { + result = { width: Number.parseFloat(match[1]), height: Number.parseFloat(match[2]) }; + + // Add rect size ... + if (result.width > 0) { + const rectWidth = Number.parseFloat(rect.getAttribute('width')); + result.width += rectWidth; + } + + if (result.height > 0) { + const rectHeight = Number.parseFloat(rect.getAttribute('height')); + result.height += rectHeight; + } + } + return result; + }); + + // Find max and mins ... + const widths = translates.map((t) => t.width).sort((a, b) => a - b); + const heights = translates.map((t) => t.height).sort((a, b) => a - b); + + const svgElem = document.firstChild as Element; + const minX = widths[0] - SVGExporter.padding; + const minY = heights[0] - SVGExporter.padding; + + const maxX = widths[widths.length - 1] + SVGExporter.padding; + const maxY = heights[heights.length - 1] + SVGExporter.padding; + + svgElem.setAttribute('viewBox', `${minX} ${minY} ${maxX + Math.abs(minX)} ${maxY + Math.abs(minY)}`); + svgElem.setAttribute('preserveAspectRatio', 'xMidYMid'); + + return document; + } + private static parseXMLString = (xmlStr: string, mimeType: DOMParserSupportedType) => { const parser = new DOMParser(); const xmlDoc = parser.parseFromString(xmlStr, mimeType); @@ -56,7 +117,7 @@ class SVGExporter extends Exporter { if (xmlDoc.getElementsByTagName('parsererror').length > 0) { const xmmStr = new XMLSerializer().serializeToString(xmlDoc); console.log(xmmStr); - throw new Error(`Unexpected error parsing: ${xmlStr}. Error: ${xmmStr}`); + throw new Error(`Unexpected error parsing: ${xmlStr}.Error: ${xmmStr}`); } return xmlDoc; diff --git a/packages/mindplot/src/components/model/NodeModel.ts b/packages/mindplot/src/components/model/NodeModel.ts index 4ba946d7..cabd914a 100644 --- a/packages/mindplot/src/components/model/NodeModel.ts +++ b/packages/mindplot/src/components/model/NodeModel.ts @@ -70,11 +70,6 @@ class NodeModel extends INodeModel { return this._features; } - /** - * @param feature - * @throws will throw an error if feature is null or undefined - * @throws will throw an error if the feature could not be removed - */ removeFeature(feature: FeatureModel): void { $assert(feature, 'feature can not be null'); const size = this._features.length; @@ -127,9 +122,6 @@ class NodeModel extends INodeModel { return this._properties[key]; } - /** - * @return {mindplot.model.NodeModel} an identical clone of the NodeModel - */ clone(): NodeModel { const result = new NodeModel(this.getType(), this._mindmap); result._children = this._children.map((node) => { @@ -143,10 +135,6 @@ class NodeModel extends INodeModel { return result; } - /** - * Similar to clone, assign new id to the elements ... - * @return {mindplot.model.NodeModel} - */ deepCopy(): NodeModel { const result = new NodeModel(this.getType(), this._mindmap); result._children = this._children.map((node) => { @@ -163,20 +151,12 @@ class NodeModel extends INodeModel { return result; } - /** - * @param {mindplot.model.NodeModel} child - * @throws will throw an error if child is null, undefined or not a NodeModel object - */ append(child: NodeModel): void { $assert(child && child.isNodeModel(), 'Only NodeModel can be appended to Mindmap object'); this._children.push(child); child._parent = this; } - /** - * @param {mindplot.model.NodeModel} child - * @throws will throw an error if child is null, undefined or not a NodeModel object - */ removeChild(child: NodeModel): void { $assert(child && child.isNodeModel(), 'Only NodeModel can be appended to Mindmap object.'); this._children = this._children.filter((c) => c !== child); diff --git a/packages/mindplot/test/unit/export/SVGExporterTestSuite.test.ts b/packages/mindplot/test/unit/export/SVGExporterTestSuite.test.ts index e22a8470..dbff07d0 100644 --- a/packages/mindplot/test/unit/export/SVGExporterTestSuite.test.ts +++ b/packages/mindplot/test/unit/export/SVGExporterTestSuite.test.ts @@ -1,8 +1,6 @@ import path from 'path'; import fs from 'fs'; import { expect, test } from '@jest/globals'; // Workaround for cypress conflict -import Mindmap from '../../../src/components/model/Mindmap'; -import XMLSerializerFactory from '../../../src/components/persistence/XMLSerializerFactory'; import SVGExporter from '../../../src/components/export/SVGExporter'; import { parseXMLFile, setupBlob, exporterAssert } from './Helper'; @@ -12,14 +10,6 @@ describe('SVG export test execution', () => { test.each(fs.readdirSync(path.resolve(__dirname, './input/')) .filter((f) => f.endsWith('.wxml')) .map((filename: string) => filename.split('.')[0]))('Exporting %p suite', async (testName: string) => { - // Load mindmap DOM ... - const mindmapPath = path.resolve(__dirname, `./input/${testName}.wxml`); - const mapDocument = parseXMLFile(mindmapPath, 'text/xml'); - - // Convert to mindmap ... - const serializer = XMLSerializerFactory.createInstanceFromDocument(mapDocument); - const mindmap: Mindmap = serializer.loadFromDom(mapDocument, testName); - // Load SVG ... const svgPath = path.resolve(__dirname, `./input/${testName}.svg`); expect(fs.existsSync(svgPath)).toEqual(true); diff --git a/packages/mindplot/test/unit/export/expected/bug2.svg b/packages/mindplot/test/unit/export/expected/bug2.svg index 734c61be..122cc29f 100644 --- a/packages/mindplot/test/unit/export/expected/bug2.svg +++ b/packages/mindplot/test/unit/export/expected/bug2.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/mindplot/test/unit/export/expected/bug2.wxml b/packages/mindplot/test/unit/export/expected/bug2.wxml index f62f2f1e..cd834c95 100644 --- a/packages/mindplot/test/unit/export/expected/bug2.wxml +++ b/packages/mindplot/test/unit/export/expected/bug2.wxml @@ -1,6 +1,6 @@ -Todos los contenidos de los talleres están relacionados con el currículo de la enseñanza básica. +<map name="bug2" version="tango"><topic central="true" text="SaberMás" id="1"><topic position="271,-39" order="0" text="Utilización de medios de expresión artística, digitales y analógicos" id="5"/><topic position="-181,-17" order="1" text="Precio también limitado: 100-120?" id="9"/><topic position="132,165" order="2" text="Talleres temáticos" id="2"><topic position="242,57" order="0" text="Naturaleza" id="13"><topic position="362,57" order="0" text="Animales, Plantas, Piedras" id="17"/></topic><topic position="245,84" order="1" text="Arqueología" id="21"/><topic position="236,138" order="2" text="Energía" id="18"/><topic position="244,192" order="3" text="Astronomía" id="16"/><topic position="245,219" order="4" text="Arquitectura" id="20"/><topic position="234,246" order="5" text="Cocina" id="11"/><topic position="234,273" order="6" text="Poesía" id="24"/><topic position="256,111" order="7" text="Culturas Antiguas" id="25"><topic position="378,111" order="0" text="Egipto, Grecia, China..." id="26"/></topic><topic position="248,165" order="8" text="Paleontología" id="38"/></topic><topic position="-168,-49" order="3" text="Duración limitada: 5-6 semanas" id="6"/><topic position="-181,16" order="4" text="Niños y niñas que quieren saber más" id="7"/><topic position="-184,-81" order="5" text="Alternativa a otras actividades de ocio" id="8"/><topic position="255,-6" order="6" text="Uso de la tecnología durante todo el proceso de aprendizaje" id="23"/><topic position="336,-137" order="7" text="Estructura PBL: aprendemos cuando buscamos respuestas a nuestras propias preguntas " id="3"/><topic position="238,-105" order="8" text="Trabajo basado en la experimentación y en la investigación" id="4"/><topic position="-201,48" order="9" text="De 8 a 12 años, sin separación por edades" id="10"/><topic position="-146,81" order="10" text="Máximo 10/1 por taller" id="19"/><topic position="211,-72" order="11" text="Actividades centradas en el contexto cercano" id="37"/><topic position="303,27" order="12" text="Flexibilidad en el uso de las lenguas de trabajo (inglés, castellano, esukara?)" id="22"/><topic position="206,-220" order="13" text="Complementamos el trabajo de la escuela" shape="rounded rectagle" id="27"><note><![CDATA[Todos los contenidos de los talleres están relacionados con el currículo de la enseñanza básica. A diferencia de la práctica tradicional, pretendemos ahondar en el conocimiento partiendo de lo que realmente interesa al niño o niña, ayudándole a que encuentre respuesta a las preguntas que él o ella se plantea. Por ese motivo, SaberMás proyecta estar al lado de los niños que necesitan una motivación extra para entender la escuela y fluir en ella, - y también al lado de aquellos a quienes la curiosidad y las ganas de saber les lleva más allá. \ No newline at end of file + y también al lado de aquellos a quienes la curiosidad y las ganas de saber les lleva más allá.]]> \ No newline at end of file diff --git a/packages/mindplot/test/unit/export/expected/bug3.svg b/packages/mindplot/test/unit/export/expected/bug3.svg index da316b24..69ada57f 100644 --- a/packages/mindplot/test/unit/export/expected/bug3.svg +++ b/packages/mindplot/test/unit/export/expected/bug3.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/mindplot/test/unit/export/expected/cdata-support.svg b/packages/mindplot/test/unit/export/expected/cdata-support.svg index fc72e521..bc9d6920 100644 --- a/packages/mindplot/test/unit/export/expected/cdata-support.svg +++ b/packages/mindplot/test/unit/export/expected/cdata-support.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/mindplot/test/unit/export/expected/complex.svg b/packages/mindplot/test/unit/export/expected/complex.svg index 3466503b..622325e3 100644 --- a/packages/mindplot/test/unit/export/expected/complex.svg +++ b/packages/mindplot/test/unit/export/expected/complex.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/mindplot/test/unit/export/expected/complex.wxml b/packages/mindplot/test/unit/export/expected/complex.wxml index 91268870..5f78e133 100644 --- a/packages/mindplot/test/unit/export/expected/complex.wxml +++ b/packages/mindplot/test/unit/export/expected/complex.wxml @@ -1,5 +1,5 @@ -HR Vision: Freeform Solutions is successful at its mission, sustainable as an organization AND is a great place to work. -HR Mission: To provide a positive HR service experience for applicants and employees, and collaborate with departments to recruit, develop, support, and retain diverse and talented employees who are the key to Freeform’s reputation and success.Strategy #2: Support the talent development of our employees through professional development and learning and through improved performance management.Each employee will have a personal Professional Development Plan. Each department of Freeform will identify areas that need development to meet overall FS goals. Eg. Project Manager may identify needed improvement in a development tool. Or... Bus. Dev. may identify a new need in NFP that FS could fill within mandate, if training were provided. Professional Dev. priority will be given to proposals for development with clear ROIs.Learning and innovation are an essential part of providing the best solutions to NFPs. Cost effective internal learning and time to explore innovation will be encouraged, provided they conform with organization goal and clear ROI is demonstrated.(So that... our employees have improved skills and knowledge, So that... they are highly competent and can work well in agile teams and feel fulfilled and self actualized... So that we can so the best work possible, for the least cost, in the shortest time for other NFPs, So that... NFPs can help those who need it.)Strategy #4: Foster a diverse, inclusive community with a positive work environment.Conduct regular organizational feedback assessments and collaborate to improve the work climateEducate employees on the prevention of harassment and discrimination and productive ways to resolve conflictInsure we promote our commitment to diversity and non-discrimination through our actions and in our outreach and employee recruitment efforts(So that... we can reflect the diverse populations we serve AND ensure everyone feels safe, respected and included, So that... we better serve our diverse client organizations AND we are a great place to work )Recruit and retain top talent commensurate with identified organizational capacity requirements (So that... we find and keep good people, So that... they are highly competent and can work well in agile teams... So that we can so the best work possible, for the least cost, in the shortest time for other NFPs, So that... NFPs can help those who need it.)1. Identify and use proactive and effective recruitment strategies, Recently, I saw a few job posts sent through different community +<map name="complex" version="tango"><topic central="true" text="PPM Plan" id="1" bgColor="#32e36a"><topic position="241,250" order="0" text="Business Development " id="4" fontStyle=";;;bold;;"/><topic position="226,-100" order="2" text="Backlog Management" shape="line" id="18" fontStyle=";;;bold;;"><link url="https://docs.google.com/a/freeform.ca/drawings/d/1mrtkVAN3_XefJJCgfxw4Va6xk9TVDBKXDt_uzyIF4Us/edit" urlType="url"/></topic><topic position="-193,50" order="1" text="Freeform IT" id="10" fontStyle=";;;bold;;"/><topic position="-271,-50" order="3" text="Client Project Management" id="204" fontStyle=";;;bold;;"/><topic position="-183,-150" order="5" text="Governance &amp; Executive" id="206" fontStyle=";;;bold;;"/><topic position="124,-200" order="4" text="Finance" id="5" fontStyle=";;;bold;;"/><topic position="176,-150" order="6" text="Administration" id="3" fontStyle=";;;bold;;"/><topic position="222,100" order="8" text="Human Resources" id="154" fontStyle=";;;bold;;"><note><![CDATA[HR Vision: Freeform Solutions is successful at its mission, sustainable as an organization AND is a great place to work. +HR Mission: To provide a positive HR service experience for applicants and employees, and collaborate with departments to recruit, develop, support, and retain diverse and talented employees who are the key to Freeform’s reputation and success.Strategy #2: Support the talent development of our employees through professional development and learning and through improved performance management.Each employee will have a personal Professional Development Plan. Each department of Freeform will identify areas that need development to meet overall FS goals. Eg. Project Manager may identify needed improvement in a development tool. Or... Bus. Dev. may identify a new need in NFP that FS could fill within mandate, if training were provided. Professional Dev. priority will be given to proposals for development with clear ROIs.Learning and innovation are an essential part of providing the best solutions to NFPs. Cost effective internal learning and time to explore innovation will be encouraged, provided they conform with organization goal and clear ROI is demonstrated.(So that... our employees have improved skills and knowledge, So that... they are highly competent and can work well in agile teams and feel fulfilled and self actualized... So that we can so the best work possible, for the least cost, in the shortest time for other NFPs, So that... NFPs can help those who need it.)Strategy #4: Foster a diverse, inclusive community with a positive work environment.Conduct regular organizational feedback assessments and collaborate to improve the work climateEducate employees on the prevention of harassment and discrimination and productive ways to resolve conflictInsure we promote our commitment to diversity and non-discrimination through our actions and in our outreach and employee recruitment efforts(So that... we can reflect the diverse populations we serve AND ensure everyone feels safe, respected and included, So that... we better serve our diverse client organizations AND we are a great place to work )Recruit and retain top talent commensurate with identified organizational capacity requirements (So that... we find and keep good people, So that... they are highly competent and can work well in agile teams... So that we can so the best work possible, for the least cost, in the shortest time for other NFPs, So that... NFPs can help those who need it.)1. Identify and use proactive and effective recruitment strategies, Recently, I saw a few job posts sent through different community groups and they seem to be taking our idea of screening candidates to a next level. Not only they ask candidates to provide resume and cover letter + some project related information but also request diff --git a/packages/mindplot/test/unit/export/expected/emptyNodes.svg b/packages/mindplot/test/unit/export/expected/emptyNodes.svg index c8c2be0a..d5d4e261 100644 --- a/packages/mindplot/test/unit/export/expected/emptyNodes.svg +++ b/packages/mindplot/test/unit/export/expected/emptyNodes.svg @@ -1,4 +1,4 @@ -<svg xmlns:xlink="http://www.w3.org/1999/xlink" focusable="true" preserveAspectRatio="none" width="1440" height="900" viewBox="-277.95 -272.425 1224.00000 765.00000" style="background-color:white"> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" focusable="false" preserveAspectRatio="xMidYMid" width="1440" height="900" viewBox="-100 -1117 1112 2240" style="background-color:white"> <path style="fill:none " stroke-width="1px" stroke="#495879" stroke-opacity="1" fill="#495879" fill-opacity="1" visibility="visible" d="M463.00,660.00 C472.77,660 482.53,1017.00 492.30,1017.00"/> <path style="fill:none " stroke-width="1px" stroke="#495879" stroke-opacity="1" fill="#495879" fill-opacity="1" visibility="visible" d="M463.00,660.00 C472.93,660 482.87,1007.00 492.80,1007.00"/> <path style="fill:none " stroke-width="1px" stroke="#495879" stroke-opacity="1" fill="#495879" fill-opacity="1" visibility="visible" d="M463.00,660.00 C472.93,660 482.87,975.00 492.80,975.00"/> diff --git a/packages/mindplot/test/unit/export/expected/emptyNodes.wxml b/packages/mindplot/test/unit/export/expected/emptyNodes.wxml index f912b839..49c174ea 100644 --- a/packages/mindplot/test/unit/export/expected/emptyNodes.wxml +++ b/packages/mindplot/test/unit/export/expected/emptyNodes.wxml @@ -1 +1 @@ -<map name="emptyNodes" version="tango"><topic central="true" text="" shape="rounded rectagle" id="0" fontStyle="Arial;16;#0000cc;bold;;" bgColor="#ffcc33" brColor="#808080"><note><![CDATA[ \ No newline at end of file + \ No newline at end of file diff --git a/packages/mindplot/test/unit/export/expected/enc.svg b/packages/mindplot/test/unit/export/expected/enc.svg index 79a5a022..f30d59a1 100644 --- a/packages/mindplot/test/unit/export/expected/enc.svg +++ b/packages/mindplot/test/unit/export/expected/enc.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/mindplot/test/unit/export/expected/enc.wxml b/packages/mindplot/test/unit/export/expected/enc.wxml index aa94041f..f3125a36 100644 --- a/packages/mindplot/test/unit/export/expected/enc.wxml +++ b/packages/mindplot/test/unit/export/expected/enc.wxml @@ -1,4 +1,4 @@ -Therecent growth of large functional trait data +<map name="enc" version="tango"><topic central="true" text="Artigos GF comentários interessantes" id="1"><topic position="-466,16" order="0" text="Baraloto et al. 2010. Functional trait variation and sampling strategies in species-rich plant communities" shape="rectagle" id="5" bgColor="#cccccc" brColor="#cccccc"><topic position="-1042,-163" order="0" id="6"><text><![CDATA[Therecent growth of large functional trait data bases has been fuelled by standardized protocols forthe measurement of individual functional traits and intensive efforts to compile trait data(Cornelissen etal. 2003; Chave etal. 2009). Nonetheless, there remains no consensusfor @@ -28,18 +28,18 @@ failed to accurately estimate the variance of trait values. This indicates that in situations where accurate estimation of plotlevel variance is desired, complete censuses are essential.Isso significa que estudos de característica de história de vida compensam? Ver nos m&m.We suggest that, in these studies, the investment in complete sampling may be worthwhile -for at least some traits.Falar que isso corrobora nossa sugestão de utilizar poucas medidas, mas que elas sejam confiáveis.Here, we develop a new approach that links functional attributes +for at least some traits.Falar que isso corrobora nossa sugestão de utilizar poucas medidas, mas que elas sejam confiáveis.Here, we develop a new approach that links functional attributes of tree species with studies of forest recovery and regional land-use transitions (Chazdon et al. 2007). Grouping species according to their functional attributes or demographic rates provides insight into both applied and theoretical questions, such as selecting species for reforestation programs, assessing ecosystem services, and understanding community assembly processes in tropical forests -(Diaz et al. 2007, Kraft et al. 2008).Since we have data on leaf +(Diaz et al. 2007, Kraft et al. 2008).Since we have data on leaf and wood functional traits for only a subset of the species in our study sites, we based our functional type classification on information for a large number of tree species obtained through vegetation -monitoring studies.Our approach avoided preconceived notions of successional +monitoring studies.Our approach avoided preconceived notions of successional behavior or shade tolerance of tree species by developing an objective and independent classification of functional types based on vegetation monitoring data from permanent sample plots in mature and @@ -109,4 +109,4 @@ ZHANG, Z. D., R. G. ZANG, AND Y. D. QI. 2008. Spatiotemporal patterns and dynamics of species richness and abundance of woody plant functional groups in a tropical forest landscape of Hainan Island, South China. J. Integr. Plant Biol. 50: 547–558. - \ No newline at end of file +]]> \ No newline at end of file diff --git a/packages/mindplot/test/unit/export/expected/i18n.svg b/packages/mindplot/test/unit/export/expected/i18n.svg index bcc8cfe3..8a67939b 100644 --- a/packages/mindplot/test/unit/export/expected/i18n.svg +++ b/packages/mindplot/test/unit/export/expected/i18n.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/mindplot/test/unit/export/expected/i18n.wxml b/packages/mindplot/test/unit/export/expected/i18n.wxml index ba46f4c7..2d070367 100644 --- a/packages/mindplot/test/unit/export/expected/i18n.wxml +++ b/packages/mindplot/test/unit/export/expected/i18n.wxml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/mindplot/test/unit/export/expected/i18n2.svg b/packages/mindplot/test/unit/export/expected/i18n2.svg index f9303473..c9edd6b0 100644 --- a/packages/mindplot/test/unit/export/expected/i18n2.svg +++ b/packages/mindplot/test/unit/export/expected/i18n2.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/mindplot/test/unit/export/expected/i18n2.wxml b/packages/mindplot/test/unit/export/expected/i18n2.wxml index 29489ecd..88926136 100644 --- a/packages/mindplot/test/unit/export/expected/i18n2.wxml +++ b/packages/mindplot/test/unit/export/expected/i18n2.wxml @@ -1,2 +1,2 @@ -This is a not in languange أَبْجَدِيَّة عَرَبِLong text node: +<map name="i18n2" version="tango"><topic central="true" text="أَبْجَدِيَّة عَرَبِيَّة" shape="rounded rectagle" id="0"><topic position="200,0" order="0" text="أَبْجَدِيَّة عَرَبِ" shape="line" id="1"><note><![CDATA[This is a not in languange أَبْجَدِيَّة عَرَبِLong text node: أَبْجَدِيَّة عَرَب \ No newline at end of file diff --git a/packages/mindplot/test/unit/export/expected/issue.svg b/packages/mindplot/test/unit/export/expected/issue.svg index 56bd6a21..962c0a8b 100644 --- a/packages/mindplot/test/unit/export/expected/issue.svg +++ b/packages/mindplot/test/unit/export/expected/issue.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/mindplot/test/unit/export/expected/issue.wxml b/packages/mindplot/test/unit/export/expected/issue.wxml index 60133dc8..01f0ef64 100644 --- a/packages/mindplot/test/unit/export/expected/issue.wxml +++ b/packages/mindplot/test/unit/export/expected/issue.wxml @@ -8,7 +8,7 @@ BD, Disco duro, Memoria flash.]]>Software de Sistema:Permite el entendimiento entre el usuario y la maquina.Software de Aplicación: Permite hacer hojas de calculo navegar en internet, base de datos, etc.Software de Desarrollo -PDA +PDA Memoria RAM Unidades ópticas Tarjeta Madre diff --git a/packages/mindplot/test/unit/export/expected/npe.svg b/packages/mindplot/test/unit/export/expected/npe.svg index 0b188db8..e6aaa9a1 100644 --- a/packages/mindplot/test/unit/export/expected/npe.svg +++ b/packages/mindplot/test/unit/export/expected/npe.svg @@ -1,4 +1,4 @@ -<svg xmlns:xlink="http://www.w3.org/1999/xlink" focusable="true" preserveAspectRatio="none" width="1440" height="900" viewBox="-264.99255421004466 -310.83776307154034 1554.89349 971.80843" style="background-color:white"> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" focusable="false" preserveAspectRatio="xMidYMid" width="1440" height="900" viewBox="-623 -402 1387.5 747" style="background-color:white"> <path style="fill:none " stroke-width="2px" stroke="#3f96ff" stroke-opacity="1" visibility="hidden"/> <path stroke-width="2px" stroke="#9b74e6" stroke-opacity="1" visibility="visible" d="M326,104 L320.00018895554825,103.95238245202816 M326,104 L326.0476175479718,98.00018895554825"/> <path style="fill:none " stroke-width="2px" stroke="#3f96ff" stroke-opacity="1" visibility="hidden"/> diff --git a/packages/mindplot/test/unit/export/expected/process.svg b/packages/mindplot/test/unit/export/expected/process.svg index 1f425e7d..eca717ed 100644 --- a/packages/mindplot/test/unit/export/expected/process.svg +++ b/packages/mindplot/test/unit/export/expected/process.svg @@ -1,4 +1,4 @@ -<svg xmlns:xlink="http://www.w3.org/1999/xlink" focusable="true" preserveAspectRatio="none" width="1440" height="900" viewBox="-100.29999999999998 -120.275 1224.00000 765.00000" style="background-color:white"> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" focusable="false" preserveAspectRatio="xMidYMid" width="1440" height="900" viewBox="-898.5 -565 1828.5 1136" style="background-color:white"> <path style="fill:none " stroke-width="2px" stroke="#3f96ff" stroke-opacity="1" visibility="hidden"/> <path stroke-width="2px" stroke="#9b74e6" stroke-opacity="1" visibility="visible" d="M-296,-173 L-292.3650603359595,-168.2264045375854 M-296,-173 L-300.7735954624146,-169.36506033595953"/> <path style="fill:none " stroke-width="2px" stroke="#3f96ff" stroke-opacity="1" visibility="hidden"/> diff --git a/packages/mindplot/test/unit/export/expected/process.wxml b/packages/mindplot/test/unit/export/expected/process.wxml index 12af363d..e211f624 100644 --- a/packages/mindplot/test/unit/export/expected/process.wxml +++ b/packages/mindplot/test/unit/export/expected/process.wxml @@ -1 +1 @@ -<map name="process" version="tango"><topic central="true" text="California" shape="rounded rectagle" id="0"><topic position="-200,-200" order="7" text="Northern California" shape="line" id="1"><topic position="-290,-275" order="0" text="Oakland/Berkeley" shape="line" id="2"/><topic position="-290,-250" order="1" text="San Mateo" shape="line" id="3"/><topic position="-290,-225" order="2" text="Other North" shape="line" id="4"/><topic position="-290,-200" order="3" text="San Francisco" shape="line" id="5"/><topic position="-290,-175" order="4" text="Santa Clara" shape="line" id="6"/><topic position="-290,-150" order="5" text="Marin/Napa/Solano" shape="line" id="7"/></topic><topic position="-200,-100" order="3" text="Hawaii" shape="line" id="8"/><topic position="-200,0" order="0" text="Southern California" shape="line" id="9"><topic position="-290,-50" order="0" text="Los Angeles" shape="line" id="10"/><topic position="-290,-25" order="1" text="Anaheim/Santa Ana" shape="line" id="11"/><topic position="-290,0" order="2" text="Ventura" shape="line" id="12"/><topic position="-290,25" order="3" text="Other South" shape="line" id="13"/></topic><topic position="-200,100" order="4" text="Policy Bodies" shape="line" id="14"><topic position="-290,25" order="0" text="Advocacy" shape="line" id="15"><topic position="-380,0" order="0" text="AAO" shape="line" id="16"/><topic position="-380,25" order="1" text="ASCRS" shape="line" id="17"/><topic position="-380,50" order="2" text="EBAA" shape="line" id="18"/></topic><topic position="-290,50" order="1" text="Military" shape="line" id="19"/><topic position="-290,75" order="2" text="United Network for Organ Sharing" shape="line" id="20"/><topic position="-290,100" order="3" text="Kaiser Hospital System" shape="line" id="21"/><topic position="-290,125" order="4" text="University of California System" shape="line" id="22"/><topic position="-290,150" order="5" text="CMS" shape="line" id="23"><topic position="-380,125" order="0" text="Medicare Part A" shape="line" id="24"/><topic position="-380,150" order="1" text="Medicare Part B" shape="line" id="25"/></topic></topic><topic position="200,-100" order="3" text="Corneal Tissue OPS" shape="line" id="26"><topic position="290,-200" order="0" text="Transplant Bank International" shape="line" id="27"><topic position="380,-250" order="0" text="Orange County Eye and Transplant Bank" shape="line" id="28"/><topic position="380,-225" order="1" text="Northern California Transplant Bank" shape="rounded rectagle" id="29" bgColor="#00ffd5"><topic position="470,-225" order="0" text="In 2010, 2,500 referrals forwarded to OneLegacy" shape="line" id="30"/></topic><topic position="380,-200" order="2" text="Doheny Eye and Tissue Transplant Bank" shape="rounded rectagle" id="31" bgColor="#00ffd5"><link url="http://www.dohenyeyebank.org/" urlType="url"/></topic></topic><topic position="290,-175" order="1" text="OneLegacy" shape="rounded rectagle" id="32" bgColor="#00ffd5"><topic position="380,-200" order="0" text="In 2010, 11,828 referrals" shape="line" id="33"/></topic><topic position="290,-150" order="2" text="San Diego Eye Bank" shape="rounded rectagle" id="34" bgColor="#00ffd5"><topic position="380,-150" order="0" text="In 2010, 2,555 referrals" shape="line" id="35"/></topic><topic position="290,-125" order="3" text="California Transplant Donor Network" shape="line" id="36"/><topic position="290,-100" order="4" text="California Transplant Services" shape="line" id="37"><topic position="380,-100" order="0" text="In 2010, 0 referrals" shape="line" id="38"/></topic><topic position="290,-75" order="5" text="Lifesharing" shape="line" id="39"/><topic position="290,-50" order="6" text="DCI Donor Services" shape="line" id="40"><topic position="380,-50" order="0" text="Sierra Eye and Tissue Donor Services" shape="rounded rectagle" id="41" bgColor="#00ffd5"><topic position="470,-75" order="0" text="In 2010, 2.023 referrals" shape="line" id="42"/></topic></topic><topic position="290,-25" order="7" text="SightLife" shape="rounded rectagle" id="43" bgColor="#00ffd5"/></topic><topic position="-200,200" order="8" text="Tools" shape="line" id="44"><topic position="-290,175" order="0" text="Darthmouth Atlas of Health" shape="line" id="45"/><topic position="-290,200" order="1" text="HealthLandscape" shape="line" id="46"/></topic><topic position="200,0" order="0" text="QE Medicare" shape="line" id="47"/><topic position="200,100" order="4" text="CMS Data" shape="line" id="48"/><topic position="200,200" order="8" text="Ambulatory Payment Classification" shape="line" id="49"><topic position="290,150" order="0" text="CPT's which don't allow V2785" shape="line" id="50"><topic position="380,125" order="0" text="Ocular Reconstruction Transplant" shape="line" id="51"><topic position="470,100" order="0" text="65780 (amniotic membrane tranplant" shape="line" id="52"/><topic position="470,125" order="1" text="65781 (limbal stem cell allograft)" shape="line" id="53"/><topic position="470,150" order="2" text="65782 (limbal conjunctiva autograft)" shape="line" id="54"/></topic><topic position="380,150" order="1" text="Endothelial keratoplasty" shape="line" id="55"><topic position="470,150" order="0" text="65756" shape="line" id="56"/></topic><topic position="380,175" order="2" text="Epikeratoplasty" shape="line" id="57"><topic position="470,175" order="0" text="65767" shape="line" id="58"/></topic></topic><topic position="290,175" order="1" text="Anterior lamellar keratoplasty" shape="line" id="59"><topic position="380,175" order="0" text="65710" shape="line" id="60"/></topic><topic position="290,200" order="2" text="Processing, preserving, and transporting corneal tissue" shape="line" id="61"><topic position="380,175" order="0" text="V2785" shape="line" id="62"/><topic position="380,200" order="1" text="Laser incision in recepient" shape="line" id="63"><topic position="470,200" order="0" text="0290T" shape="line" id="64"/></topic></topic><topic position="290,225" order="3" text="Laser incision in donor" shape="line" id="65"><topic position="380,225" order="0" text="0289T" shape="line" id="66"/></topic><topic position="290,250" order="4" text="Penetrating keratoplasty" shape="line" id="67"><topic position="380,225" order="0" text="65730 (in other)" shape="line" id="68"/><topic position="380,250" order="1" text="65755 (in pseudoaphakia)" shape="line" id="69"/><topic position="380,275" order="2" text="65750 (in aphakia)" shape="line" id="70"/></topic></topic></topic><relationship srcTopicId="27" destTopicId="32" lineType="3" endArrow="false" startArrow="true"/><relationship srcTopicId="27" destTopicId="36" lineType="3" endArrow="false" startArrow="true"/></map> \ No newline at end of file +<map name="process" version="tango"><topic central="true" text="California" shape="rounded rectagle" id="0"><topic position="-200,-200" order="0" text="Northern California" shape="line" id="1"><topic position="-290,-275" order="0" text="Oakland/Berkeley" shape="line" id="2"/><topic position="-290,-250" order="1" text="San Mateo" shape="line" id="3"/><topic position="-290,-225" order="2" text="Other North" shape="line" id="4"/><topic position="-290,-200" order="3" text="San Francisco" shape="line" id="5"/><topic position="-290,-175" order="4" text="Santa Clara" shape="line" id="6"/><topic position="-290,-150" order="5" text="Marin/Napa/Solano" shape="line" id="7"/></topic><topic position="-200,-100" order="1" text="Hawaii" shape="line" id="8"/><topic position="-200,0" order="2" text="Southern California" shape="line" id="9"><topic position="-290,-50" order="0" text="Los Angeles" shape="line" id="10"/><topic position="-290,-25" order="1" text="Anaheim/Santa Ana" shape="line" id="11"/><topic position="-290,0" order="2" text="Ventura" shape="line" id="12"/><topic position="-290,25" order="3" text="Other South" shape="line" id="13"/></topic><topic position="-200,100" order="3" text="Policy Bodies" shape="line" id="14"><topic position="-290,25" order="0" text="Advocacy" shape="line" id="15"><topic position="-380,0" order="0" text="AAO" shape="line" id="16"/><topic position="-380,25" order="1" text="ASCRS" shape="line" id="17"/><topic position="-380,50" order="2" text="EBAA" shape="line" id="18"/></topic><topic position="-290,50" order="1" text="Military" shape="line" id="19"/><topic position="-290,75" order="2" text="United Network for Organ Sharing" shape="line" id="20"/><topic position="-290,100" order="3" text="Kaiser Hospital System" shape="line" id="21"/><topic position="-290,125" order="4" text="University of California System" shape="line" id="22"/><topic position="-290,150" order="5" text="CMS" shape="line" id="23"><topic position="-380,125" order="0" text="Medicare Part A" shape="line" id="24"/><topic position="-380,150" order="1" text="Medicare Part B" shape="line" id="25"/></topic></topic><topic position="200,-100" order="4" text="Corneal Tissue OPS" shape="line" id="26"><topic position="290,-200" order="0" text="Transplant Bank International" shape="line" id="27"><topic position="380,-250" order="0" text="Orange County Eye and Transplant Bank" shape="line" id="28"/><topic position="380,-225" order="1" text="Northern California Transplant Bank" shape="rounded rectagle" id="29" bgColor="#00ffd5"><topic position="470,-225" order="0" text="In 2010, 2,500 referrals forwarded to OneLegacy" shape="line" id="30"/></topic><topic position="380,-200" order="2" text="Doheny Eye and Tissue Transplant Bank" shape="rounded rectagle" id="31" bgColor="#00ffd5"><link url="http://www.dohenyeyebank.org/" urlType="url"/></topic></topic><topic position="290,-175" order="1" text="OneLegacy" shape="rounded rectagle" id="32" bgColor="#00ffd5"><topic position="380,-200" order="0" text="In 2010, 11,828 referrals" shape="line" id="33"/></topic><topic position="290,-150" order="2" text="San Diego Eye Bank" shape="rounded rectagle" id="34" bgColor="#00ffd5"><topic position="380,-150" order="0" text="In 2010, 2,555 referrals" shape="line" id="35"/></topic><topic position="290,-125" order="3" text="California Transplant Donor Network" shape="line" id="36"/><topic position="290,-100" order="4" text="California Transplant Services" shape="line" id="37"><topic position="380,-100" order="0" text="In 2010, 0 referrals" shape="line" id="38"/></topic><topic position="290,-75" order="5" text="Lifesharing" shape="line" id="39"/><topic position="290,-50" order="6" text="DCI Donor Services" shape="line" id="40"><topic position="380,-50" order="0" text="Sierra Eye and Tissue Donor Services" shape="rounded rectagle" id="41" bgColor="#00ffd5"><topic position="470,-75" order="0" text="In 2010, 2.023 referrals" shape="line" id="42"/></topic></topic><topic position="290,-25" order="7" text="SightLife" shape="rounded rectagle" id="43" bgColor="#00ffd5"/></topic><topic position="-200,200" order="5" text="Tools" shape="line" id="44"><topic position="-290,175" order="0" text="Darthmouth Atlas of Health" shape="line" id="45"/><topic position="-290,200" order="1" text="HealthLandscape" shape="line" id="46"/></topic><topic position="200,0" order="6" text="QE Medicare" shape="line" id="47"/><topic position="200,100" order="7" text="CMS Data" shape="line" id="48"/><topic position="200,200" order="8" text="Ambulatory Payment Classification" shape="line" id="49"><topic position="290,150" order="0" text="CPT's which don't allow V2785" shape="line" id="50"><topic position="380,125" order="0" text="Ocular Reconstruction Transplant" shape="line" id="51"><topic position="470,100" order="0" text="65780 (amniotic membrane tranplant" shape="line" id="52"/><topic position="470,125" order="1" text="65781 (limbal stem cell allograft)" shape="line" id="53"/><topic position="470,150" order="2" text="65782 (limbal conjunctiva autograft)" shape="line" id="54"/></topic><topic position="380,150" order="1" text="Endothelial keratoplasty" shape="line" id="55"><topic position="470,150" order="0" text="65756" shape="line" id="56"/></topic><topic position="380,175" order="2" text="Epikeratoplasty" shape="line" id="57"><topic position="470,175" order="0" text="65767" shape="line" id="58"/></topic></topic><topic position="290,175" order="1" text="Anterior lamellar keratoplasty" shape="line" id="59"><topic position="380,175" order="0" text="65710" shape="line" id="60"/></topic><topic position="290,200" order="2" text="Processing, preserving, and transporting corneal tissue" shape="line" id="61"><topic position="380,175" order="0" text="V2785" shape="line" id="62"/><topic position="380,200" order="1" text="Laser incision in recepient" shape="line" id="63"><topic position="470,200" order="0" text="0290T" shape="line" id="64"/></topic></topic><topic position="290,225" order="3" text="Laser incision in donor" shape="line" id="65"><topic position="380,225" order="0" text="0289T" shape="line" id="66"/></topic><topic position="290,250" order="4" text="Penetrating keratoplasty" shape="line" id="67"><topic position="380,225" order="0" text="65730 (in other)" shape="line" id="68"/><topic position="380,250" order="1" text="65755 (in pseudoaphakia)" shape="line" id="69"/><topic position="380,275" order="2" text="65750 (in aphakia)" shape="line" id="70"/></topic></topic></topic><relationship srcTopicId="27" destTopicId="32" lineType="3" endArrow="false" startArrow="true"/><relationship srcTopicId="27" destTopicId="36" lineType="3" endArrow="false" startArrow="true"/></map> \ No newline at end of file diff --git a/packages/mindplot/test/unit/export/expected/welcome.svg b/packages/mindplot/test/unit/export/expected/welcome.svg index 7022e251..5d2f8327 100644 --- a/packages/mindplot/test/unit/export/expected/welcome.svg +++ b/packages/mindplot/test/unit/export/expected/welcome.svg @@ -1,4 +1,4 @@ -<svg xmlns:xlink="http://www.w3.org/1999/xlink" focusable="true" preserveAspectRatio="none" width="1440" height="900" viewBox="-277.95 -272.425 1224.00000 765.00000" style="background-color:white"> +<svg xmlns:xlink="http://www.w3.org/1999/xlink" focusable="false" preserveAspectRatio="xMidYMid" width="1440" height="900" viewBox="-529 -289 1024 585" style="background-color:white"> <path style="fill:none " stroke-width="2px" stroke="#3f96ff" stroke-opacity="1" visibility="hidden"/> <path stroke-width="2px" stroke="#9b74e6" stroke-opacity="1" visibility="visible" d="M210.85714285714286,-166.5 L204.94844150423523,-165.45728799654572 M210.85714285714286,-166.5 L209.81443085368858,-172.40870135290763"/> <path style="fill:none " stroke-width="1px" stroke="#495879" stroke-opacity="1" fill="#495879" fill-opacity="1" visibility="visible" d="M-254.00,161.00 C-263.77,161 -273.53,190.00 -283.30,190.00"/> diff --git a/packages/mindplot/test/unit/export/expected/welcome.wxml b/packages/mindplot/test/unit/export/expected/welcome.wxml index 7808c874..bc5b8724 100644 --- a/packages/mindplot/test/unit/export/expected/welcome.wxml +++ b/packages/mindplot/test/unit/export/expected/welcome.wxml @@ -1,3 +1,3 @@ <map name="welcome" version="tango"><topic central="true" text="Welcome To WiseMapping" id="1" fontStyle=";;#ffffff;;;"><icon id="sign_info"/><topic position="199,-112" order="0" id="30"><text><![CDATA[5 min tutorial video ? Follow the link !Press "enter" to add a -Sibling \ No newline at end of file +Sibling]]> \ No newline at end of file diff --git a/packages/webapp/package.json b/packages/webapp/package.json index 311e24a7..5e7a9f0f 100644 --- a/packages/webapp/package.json +++ b/packages/webapp/package.json @@ -1,6 +1,6 @@ { "name": "@wisemapping/webapp", - "version": "5.0.3", + "version": "5.0.4", "main": "app.jsx", "scripts": { "start": "webpack serve --config webpack.dev.js ", diff --git a/yarn.lock b/yarn.lock index 60ca492b..d4c8eea0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1089,6 +1089,43 @@ dependencies: "@date-io/core" "^2.13.1" +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cypress/request@^2.88.10", "@cypress/request@^2.88.6": + version "2.88.10" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.10.tgz#b66d76b07f860d3a4b8d7a0604d020c662752cce" + integrity sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + http-signature "~1.3.6" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^8.3.2" + +"@cypress/xvfb@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" + integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== + dependencies: + debug "^3.1.0" + lodash.once "^4.1.1" + "@discoveryjs/json-ext@^0.5.0": version "0.5.6" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" @@ -5278,6 +5315,13 @@ cookie@0.4.1: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== +copy-anything@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.3.tgz#842407ba02466b0df844819bbe3baebbe5d45d87" + integrity sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ== + dependencies: + is-what "^3.12.0" + copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" @@ -6201,7 +6245,7 @@ err-code@^1.0.0: resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= -errno@^0.1.3: +errno@^0.1.1, errno@^0.1.3: version "0.1.8" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== @@ -6564,7 +6608,7 @@ eslint@^7.14.0: ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.0.1" + debug "^4.3.2" doctrine "^3.0.0" enquirer "^2.3.5" escape-string-regexp "^4.0.0" @@ -6583,7 +6627,7 @@ eslint@^7.14.0: import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" @@ -6591,9 +6635,9 @@ eslint@^7.14.0: natural-compare "^1.4.0" optionator "^0.9.1" progress "^2.0.0" - regexpp "^3.1.0" + regexpp "^3.2.0" semver "^7.2.1" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" strip-json-comments "^3.1.0" table "^6.0.9" text-table "^0.2.0" @@ -6794,6 +6838,49 @@ execa@^0.7.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execa@4.1.0, execa@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@5.1.1, execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -7987,6 +8074,15 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-proxy-middleware@0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" @@ -8089,7 +8185,7 @@ hyphenate-style-name@^1.0.3: resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== -iconv-lite@0.4.24, iconv-lite@^0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -8615,6 +8711,18 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" +is-npm@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" + integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -10246,7 +10354,7 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, dependencies: mime-db "1.51.0" -mime@1.6.0: +mime@1.6.0, mime@^1.4.1: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== @@ -10539,6 +10647,15 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +needle@^2.5.2: + version "2.9.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684" + integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ== + dependencies: + debug "^3.2.6" + iconv-lite "^0.4.4" + sax "^1.2.4" + negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" @@ -11256,6 +11373,11 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + parse-path@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.3.tgz#82d81ec3e071dcc4ab49aa9f2c9c0b8966bb22bf" @@ -11803,6 +11925,13 @@ qs@^6.9.4: dependencies: side-channel "^1.0.4" +qs@^6.9.4: + version "6.10.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.2.tgz#c1431bea37fc5b24c5bdbafa20f16bdf2a4b9ffe" + integrity sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw== + dependencies: + side-channel "^1.0.4" + qs@~6.5.2: version "6.5.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" @@ -11818,6 +11947,16 @@ query-string@^6.13.8: split-on-first "^1.0.0" strict-uri-encode "^2.0.0" +query-string@^6.13.8: + version "6.14.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" + integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== + dependencies: + decode-uri-component "^0.2.0" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"