Skip to content

Fails on CDATA #9

@oskbor

Description

@oskbor

I have a relatively complex svg (with animations) that currently breaks this otherwise awesome plugin.
This is the content of the file.

<?xml version="1.0" encoding="utf-8"?>
<svg focusable="false" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
   viewBox="0 0 234.7 235.6" enable-background="new 0 0 234.7 235.6" xml:space="preserve">
   <style>
    /* <![CDATA[ */
@-webkit-keyframes spinner-fade {0% {opacity: 1 } 80% {opacity: 0 } 100% {opacity: 0 } }
@keyframes spinner-fade {0% {opacity: 1 } 80% {opacity: 0 } 100% {opacity: 0 } }

g.spinner path {opacity: 0; -webkit-animation: spinner-fade 0.75s linear infinite; animation: spinner-fade 0.75s linear infinite;}
g.spinner path:nth-of-type(1) {-webkit-animation-delay: -0.25s; animation-delay: -0.25s; }
g.spinner path:nth-of-type(2) {-webkit-animation-delay: -0.1875s; animation-delay: -0.1875s; }
g.spinner path:nth-of-type(3) {-webkit-animation-delay: -0.125s; animation-delay: -0.125s; }
g.spinner path:nth-of-type(4) {-webkit-animation-delay: -0.0625s; animation-delay: -0.0625s; }
g.spinner path:nth-of-type(5) {-webkit-animation-delay: 0s; animation-delay: 0s; }
g.spinner path:nth-of-type(6) {-webkit-animation-delay: 0.0625s; animation-delay: 0.0625s; }
g.spinner path:nth-of-type(7) {-webkit-animation-delay: 0.125s; animation-delay: 0.125s; }
g.spinner path:nth-of-type(8) {-webkit-animation-delay: 0.1875s; animation-delay: 0.1875s; }
g.spinner path:nth-of-type(9) {-webkit-animation-delay: 0.25s; animation-delay: 0.25s; }
g.spinner path:nth-of-type(10) {-webkit-animation-delay: 0.3125s; animation-delay: 0.3125s; }
g.spinner path:nth-of-type(11) {-webkit-animation-delay: -0.375s; animation-delay: -0.375s; }
g.spinner path:nth-of-type(12) {-webkit-animation-delay: -0.3125s; animation-delay: -0.3125s; }
  /* ]]> */
   </style>
   <g class="spinner">
    <path fill="white" d="M128.3,10.7c0,0-0.3-10.7-11-10.7s-11,10.7-11,10.7l0,0v0v42.7v0l0,0c0,0,0.3,10.7,11,10.7s11-10.7,11-10.7 l0,0v0V10.7L128.3,10.7L128.3,10.7z" />
    <path fill="white" d="M140.3,56.5c0,0-5.6,9.2,3.7,14.6c9.2,5.3,14.3-3.9,14.3-3.9l0,0v0l21.4-37l0,0l0,0c0,0,5.3-9.2-3.9-14.6 s-14.5,3.9-14.6,3.9l0,0l0.2,0L140.3,56.5L140.3,56.5L140.3,56.5z" />
    <path fill="white" d="M167.4,76.3c0,0-9.2,5.1-3.9,14.3c5.3,9.2,14.6,3.7,14.6,3.7l0,0h0L215,73.1l0,0.1l0,0c0,0,9.2-5.3,3.9-14.5 s-14.6-3.9-14.6-3.9l0,0l0,0.1L167.4,76.3L167.4,76.3L167.4,76.3z" />
    <path fill="white" d="M224,128.3c0,0,10.7-0.3,10.7-11s-10.7-11-10.7-11l0,0h0h-42.7h0l0,0c0,0-10.7,0.3-10.7,11s10.7,11,10.7,11 l0,0h0H224L224,128.3L224,128.3z" />
    <path fill="white" d="M203.8,180.3c0,0,9.2,5.6,14.6-3.6c5.4-9.2-3.8-14.4-3.8-14.4l0,0h0l-36.8-21.7l0,0l0,0 c0,0-9.2-5.4-14.6,3.8c-5.4,9.2,3.8,14.6,3.8,14.6l0,0l0-0.2L203.8,180.3L203.8,180.3L203.8,180.3z" />
    <path fill="white" d="M160.3,215.5c0,0,5.4,9.3,14.7,4.1c9.3-5.2,4.3-14.5,4.3-14.5l0,0v0l-21.1-37.2l-0.1,0l0,0 c0,0-5.3-9.3-14.6-4.1c-9.3,5.2-4.1,14.5-4.1,14.5l0,0l0,0L160.3,215.5L160.3,215.5L160.3,215.5z"/>
    <path fill="white" d="M128.3,181.3c0,0-0.3-10.7-11-10.7s-11,10.7-11,10.7l0,0v0V224v0l0,0c0,0,0.3,10.7,11,10.7s11-10.7,11-10.7 l0,0v0V181.3L128.3,181.3L128.3,181.3z"/>
    <path fill="white" d="M55.3,204.5c0,0-5.6,9.2,3.7,14.6c9.2,5.3,14.3-3.9,14.3-3.9l0,0v0l21.3-37l0,0l0,0c0,0,5.3-9.2-3.9-14.6 s-14.6,3.9-14.6,3.9l0,0l0.2,0L55.3,204.5L55.3,204.5L55.3,204.5z"/>
    <path fill="white" d="M19.6,161.3c0,0-9.2,5.6-3.9,14.8s14.6,4.2,14.6,4.2l0,0h0l36.9-21.5l0-0.1l0,0c0,0,9.2-5.4,3.9-14.6 c-5.3-9.2-14.6-3.9-14.6-3.9l0,0l0-0.1L19.6,161.3L19.6,161.3L19.6,161.3z"/>
    <path fill="white" d="M53.3,128.3c0,0,10.7-0.3,10.7-11s-10.7-11-10.7-11l0,0h0H10.7h0l0,0c0,0-10.7,0.3-10.7,11s10.7,11,10.7,11 l0,0h0H53.3L53.3,128.3L53.3,128.3z"/>
    <path fill="white" d="M56.8,94.3c0,0,9.2,5.1,14.6-4.1c5.4-9.2-3.8-14.9-3.8-14.9l0,0h0L30.8,53.8l0,0.1l0,0c0,0-9.2-5.4-14.6,3.8 S20,72.4,20,72.4l0,0l0,0.2L56.8,94.3L56.8,94.3L56.8,94.3z"/>
    <path fill="white" d="M76.3,66.8c0,0,5.4,9.3,14.7,4.1s4.3-14.5,4.3-14.5l0,0v0l-21-37.2l0,0l0,0c0,0-5.3-9.3-14.5-4.1 s-4.1,14.5-4.1,14.5l0,0l-0.2,0L76.3,66.8L76.3,66.8L76.3,66.8z"/>
  </g>
</svg>

Gives the following output:

SyntaxError: unknown: Unexpected token, expected } (1:118)
> 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.7 235.6"><style>@-webkit-keyframes spinner-fade{0%{opacity:1}80%,to{opacity:0}}@keyframes spinner-fade{0%{opacity:1}80%,to{opacity:0}}g.spinner path{opacity:0;-webkit-animation:spinner-fade .75s linear infinite;animation:spinner-fade .75s linear infinite}g.spinner path:nth-of-type(1){-webkit-animation-delay:-.25s;animation-delay:-.25s}g.spinner path:nth-of-type(2){-webkit-animation-delay:-.1875s;animation-delay:-.1875s}g.spinner path:nth-of-type(3){-webkit-animation-delay:-.125s;animation-delay:-.125s}g.spinner path:nth-of-type(4){-webkit-animation-delay:-.0625s;animation-delay:-.0625s}g.spinner path:nth-of-type(5){-webkit-animation-delay:0s;animation-delay:0s}g.spinner path:nth-of-type(6){-webkit-animation-delay:.0625s;animation-delay:.0625s}g.spinner path:nth-of-type(7){-webkit-animation-delay:.125s;animation-delay:.125s}g.spinner path:nth-of-type(8){-webkit-animation-delay:.1875s;animation-delay:.1875s}g.spinner path:nth-of-type(9){-webkit-animation-delay:.25s;animation-delay:.25s}g.spinner path:nth-of-type(10){-webkit-animation-delay:.3125s;animation-delay:.3125s}g.spinner path:nth-of-type(11){-webkit-animation-delay:-.375s;animation-delay:-.375s}g.spinner path:nth-of-type(12){-webkit-animation-delay:-.3125s;animation-delay:-.3125s}</style><g className="spinner" fill="#fff"><path d="M128.3 10.7S128 0 117.3 0s-11 10.7-11 10.7v42.7s.3 10.7 11 10.7 11-10.7 11-10.7V10.7zM140.3 56.5s-5.6 9.2 3.7 14.6c9.2 5.3 14.3-3.9 14.3-3.9l21.4-37s5.3-9.2-3.9-14.6-14.5 3.9-14.6 3.9h.2l-21.1 37zM167.4 76.3s-9.2 5.1-3.9 14.3c5.3 9.2 14.6 3.7 14.6 3.7L215 73.1v.1s9.2-5.3 3.9-14.5-14.6-3.9-14.6-3.9v.1l-36.9 21.4zM224 128.3s10.7-.3 10.7-11-10.7-11-10.7-11h-42.7s-10.7.3-10.7 11 10.7 11 10.7 11H224zM203.8 180.3s9.2 5.6 14.6-3.6-3.8-14.4-3.8-14.4l-36.8-21.7s-9.2-5.4-14.6 3.8S167 159 167 159v-.2l36.8 21.5zM160.3 215.5s5.4 9.3 14.7 4.1c9.3-5.2 4.3-14.5 4.3-14.5l-21.1-37.2h-.1s-5.3-9.3-14.6-4.1c-9.3 5.2-4.1 14.5-4.1 14.5l20.9 37.2zM128.3 181.3s-.3-10.7-11-10.7-11 10.7-11 10.7V224s.3 10.7 11 10.7 11-10.7 11-10.7v-42.7zM55.3 204.5s-5.6 9.2 3.7 14.6c9.2 5.3 14.3-3.9 14.3-3.9l21.3-37s5.3-9.2-3.9-14.6-14.6 3.9-14.6 3.9h.2l-21 37zM19.6 161.3s-9.2 5.6-3.9 14.8 14.6 4.2 14.6 4.2l36.9-21.5v-.1s9.2-5.4 3.9-14.6c-5.3-9.2-14.6-3.9-14.6-3.9v-.1l-36.9 21.2zM53.3 128.3s10.7-.3 10.7-11-10.7-11-10.7-11H10.7s-10.7.3-10.7 11 10.7 11 10.7 11h42.6zM56.8 94.3s9.2 5.1 14.6-4.1-3.8-14.9-3.8-14.9L30.8 53.8v.1s-9.2-5.4-14.6 3.8S20 72.4 20 72.4v.2l36.8 21.7zM76.3 66.8s5.4 9.3 14.7 4.1 4.3-14.5 4.3-14.5l-21-37.2S69 9.9 59.8 15.1s-4.1 14.5-4.1 14.5h-.2l20.8 37.2z"/></g></svg>
    |                                                                                                                       ^
    at Parser.pp.raise (/home/oskarbjs/Projects/analytics-ui/node_modules/babylon/lib/parser/location.js:22:13)
    at Parser.pp.unexpected (/home/oskarbjs/Projects/analytics-ui/node_modules/babylon/lib/parser/util.js:97:8)
    at Parser.pp.expect (/home/oskarbjs/Projects/analytics-ui/node_modules/babylon/lib/parser/util.js:85:33)
    at Parser.pp.jsxParseExpressionContainer (/home/oskarbjs/Projects/analytics-ui/node_modules/babylon/lib/plugins/jsx/index.js:379:8)
    at Parser.pp.jsxParseElementAt (/home/oskarbjs/Projects/analytics-ui/node_modules/babylon/lib/plugins/jsx/index.js:451:32)
    at Parser.pp.jsxParseElementAt (/home/oskarbjs/Projects/analytics-ui/node_modules/babylon/lib/plugins/jsx/index.js:440:30)
    at Parser.pp.jsxParseElement (/home/oskarbjs/Projects/analytics-ui/node_modules/babylon/lib/plugins/jsx/index.js:481:15)
    at Parser.parseExprAtom (/home/oskarbjs/Projects/analytics-ui/node_modules/babylon/lib/plugins/jsx/index.js:14:21)
    at Parser.pp.parseExprSubscripts (/home/oskarbjs/Projects/analytics-ui/node_modules/babylon/lib/parser/expression.js:272:19)
    at Parser.pp.parseMaybeUnary (/home/oskarbjs/Projects/analytics-ui/node_modules/babylon/lib/parser/expression.js:252:19)

Perhaps this issue isn't in your lib, but somewhere down the chain? Please point me in the right direction in that case.

br Oskar

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions