Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module build failed: SyntaxError: Unexpected token (1:1) #38

Open
catamphetamine opened this issue Mar 17, 2018 · 17 comments
Open

Module build failed: SyntaxError: Unexpected token (1:1) #38

catamphetamine opened this issue Mar 17, 2018 · 17 comments

Comments

@catamphetamine
Copy link

catamphetamine commented Mar 17, 2018

If I specify plugin config in .babelrc it throws the error.

ERROR in ./src/pages/Application.js
Module build failed: SyntaxError: c:/dev/.../Application.js: Unexpected token (1:1)

> 1 | import React, { Component } from 'react'
    |  ^
{
  "presets": ...,
  "plugins": [
    ...,
    ["inline-react-svg", {
      "svgo": false
    }]
  ]
}

If I then use just "inline-react-svg" in .babelrc then it doesn't throw the error.
But in the default mode it discards half of attributes like stroke-width="2.5".

@DiederikvandenB
Copy link

I can confirm this bug.

@ljharb
Copy link
Collaborator

ljharb commented May 21, 2018

Can either of you compare it to v0.5.1?

@tsiq-swyx

This comment has been minimized.

@ljharb

This comment has been minimized.

@tsiq-swyx

This comment has been minimized.

@ljharb
Copy link
Collaborator

ljharb commented Jul 2, 2018

@catamphetamine @DiederikvandenB can either of you confirm that you are transpiling modules, since otherwise import statements won’t work in node?

@lxcid
Copy link

lxcid commented Oct 19, 2018

Can confirm it happen in v1.0.0

@ljharb
Copy link
Collaborator

ljharb commented Oct 19, 2018

@lxcid same question - are you transpiling modules? whats your babel config?

@stsdc
Copy link

stsdc commented Dec 19, 2018

@ljharb here is mine:

{
    "plugins": [
        ["@babel/transform-react-jsx", {
            "pragma": "h"
        }],
        ["@babel/transform-runtime", {
            "regenerator": true
        }],
        ["inline-react-svg", {
            "svgo": false
        }],
    ],
    "presets": [
        [
            "@babel/preset-env",
            {
                "targets": {
                    "browsers": ["last 2 versions"]
                }
            }
        ]
    ]
}
package.json

{
  "name": "tcs",
  "version": "0.14.2",
  "description": "Turtle Control Software",
  "main": "index.js",
  "scripts": {
    "watch": "parcel watch ./client/src/index.html --out-dir ./client/dist --public-url ./ --no-hmr",
    "serve": "parcel serve ./client/src/index.html --out-dir ./client/dist --public-url / -p 3000",
    "build": "parcel build ./client/src/index.html --out-dir ./client/dist --public-url ./",
    "lint": "eslint --ext .js client/src/"
  },
  "repository": "git+https://github.com/TurtleRover/tcs.git",
  "keywords": [],
  "author": "",
  "license": "MIT",
  "devDependencies": {
    "@babel/core": "^7.2.2",
    "@babel/plugin-transform-react-jsx": "^7.2.0",
    "@babel/plugin-transform-runtime": "^7.2.0",
    "@babel/preset-env": "^7.2.0",
    "@babel/template": "^7.2.2",
    "eslint": "^5.10.0",
    "eslint-config-airbnb": "^17.1.0",
    "eslint-config-airbnb-base": "^13.1.0",
    "eslint-plugin-import": "^2.14.0",
    "eslint-plugin-jsx-a11y": "^6.1.2",
    "eslint-plugin-react": "^7.11.1",
    "node-sass": "^4.11.0",
    "parcel-bundler": "1.11.0",
    "babel-plugin-inline-react-svg": "^1.0.1"
  },
  "dependencies": {
    "@hyperapp/logger": "^0.5.0",
    "hyperapp": "^1.2.9",
    "keyboardjs": "^2.5.1",
    "lodash": "^4.17.11",
    "nipplejs": "^0.7.3",
    "socket.io-client": "^2.2.0"
  }
}

obraz

@ljharb
Copy link
Collaborator

ljharb commented Dec 19, 2018

@stsdc The transform-react-jsx transform is the problem; you'll need to change your config ordering so that runs after inline-react-svg, I think.

Specifically, this transform is for react, so if you're using a different jsx project, it's not expected to work in every configuration.

@ljharb
Copy link
Collaborator

ljharb commented Jan 6, 2019

@himadrinath i wouldn’t recommend transpiling code in node_modules.

@Szarko
Copy link

Szarko commented Jan 10, 2019

@ljharb - I can confirm I experience a similar issue.
"babel-plugin-inline-react-svg": "~0.5.4",

And a very simple .babelrc:

"pugins": [
    [
      "inline-react-svg",
      { "svgo": false }
    ]  
  ],

When setting svgo:false my application produces: SyntaxError: Unexpected token (1:1) in the console as well.

@ljharb
Copy link
Collaborator

ljharb commented Jan 10, 2019

In that case this might be related to #49.

@proustibat
Copy link

{ "svgo": false }

Why do you need to set svgo to false ? I had the samee issue theen following the instructions from the babel-plugin-inline-react-svg documentation solved it :

    [
      "inline-react-svg",
      {
        "svgo": {
          "plugins": [
            {
              "removeAttrs": { "attrs": "(data-name)" }
            },
            {
              "cleanupIDs": true
            }
          ]
        }
      }
    ]

@jcousins-ynap
Copy link

jcousins-ynap commented Nov 27, 2019

I can confirm this issue in v1.1.0.

babel.config.js:

module.exports = {
  presets: [
    '@babel/preset-env',
    '@babel/preset-react'
  ],
  sourceType: 'unambiguous',
  plugins: [
    [
      'inline-react-svg',
      {
        svgo: false
      }
    ]
  ]
};

Test.svg:

<?xml version="1.0" encoding="utf-8"?>
<!--Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)-->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 18 30" style="enable-background:new 0 0 18 30" xml:space="preserve">
<path d="M0,15l15,15l3-3L6,15L18,3l-3-3L0,15z" style="fill:#FFFFFF"/>
</svg>

index.js

import React from 'react';
import Sprite from './sprite.svg';

const Component = () => (
  <Sprite />
);

export default Component;

shell output:

> babel --config-file ./babel.config.js index.js --out-file dist.js

SyntaxError: /Users/j.cousins/Dev/tests/babel-inline-react-svg-test/index.js: Unexpected token (1:1)

@ghost
Copy link

ghost commented Mar 10, 2021

Anyone solved this issue? SyntaxError: Unexpected token (1:1)

I got the same issue as @jcousins-ynap

@spacem
Copy link

spacem commented Oct 12, 2021

Hi, not sure if it is the same problem you all have but I came across this before when adding some new SVG to my project and solved it by removing the first line from my SVG files ie. the <?xml version="1.0" encoding="utf-8"?> part

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants