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

changes required to use #103

Open
mvolkmann opened this issue Jan 13, 2020 · 13 comments
Open

changes required to use #103

mvolkmann opened this issue Jan 13, 2020 · 13 comments
Labels

Comments

@mvolkmann
Copy link

This is a question.

What changes do we need to make in the package.json npm scripts of our Svelte projects in order to use this? Presumably these need to change:

    "build": "rollup -c",
    "dev": "rollup -c -w",
@DeMoorJasper
Copy link
Owner

You could have a look at the example: https://github.com/DeMoorJasper/parcel-plugin-svelte/blob/master/packages/svelte-3-example/package.json

You basically need to install the plugin using yarn add parcel-plugin-svelte -D (or npm) and than just run parcel like you normally would: https://parceljs.org/getting_started.html (and than it should automatically detect the plugin and run all files with extension .svelte through this plugin)

@mvolkmann
Copy link
Author

Here is what I had to do to get this to work with a basic Svelte app:

  1. npm install parcel-bundler
  2. npm install parcel-plugin-svelte
  3. Change the "start" npm script in package.json to "start": "parcel public/index.html --no-cache"
  4. npm run build
  5. npm start

Do these steps seem correct?
Is it necessary to run "npm run build" again after every code change?

@DeMoorJasper
Copy link
Owner

@mvolkmann I don't see any reason to run npm run build so you can probably leave that out.

Thanks for the detailed steps I'll probably create a more elaborate getting started guide in the readme after this :)

@mvolkmann
Copy link
Author

If I don't run npm run build and only run npm start I get this:

ENOENT: no such file or directory, open '/{project-directory}/public/build/bundle.css'

npm run build creates that file.

@DeMoorJasper
Copy link
Owner

DeMoorJasper commented Jan 13, 2020

Ow than your build command probably creates some css, what is the script specified in build?

Also I updated the Readme a bit more hopefully it helps https://github.com/DeMoorJasper/parcel-plugin-svelte#getting-started

@mvolkmann
Copy link
Author

I started with an app created by npx degit sveltejs/template, so the "build" npm script is

    "build": "rollup -c",

The file public/index.html includes this line:

	<link rel='stylesheet' href='/build/bundle.css'>

Is there a Parcel way to create build/bundle.css?

@DeMoorJasper
Copy link
Owner

@mvolkmann if that's the css bundled from the svelte you can just remove that line and it should work fine. Parcel automatically injects that nto html ;)

@mvolkmann
Copy link
Author

Maybe the answer is that we need a new equivalent of sveltejs/template that is specific to using Parcel.

@mvolkmann
Copy link
Author

The more I think about this, I'm convinced that we really need a way to create a new app that uses Parcel by running npx degit some-repo/some-template app-name like we have for using Rollup or Webpack. That would put Parcel on even ground with those so it's no harder to use.

@DeMoorJasper
Copy link
Owner

@mvolkmann the goal of parcel is kind of that tools like that are no longer necessary but it would definitely be cool to have it support parcel

@mvolkmann
Copy link
Author

mvolkmann commented Jan 13, 2020 via email

@DeMoorJasper
Copy link
Owner

@mvolkmann yeah I totally agree, I'm happy to help implement these things once parcel 2 reaches a stable point

@mvolkmann
Copy link
Author

Sounds good! I'd be happy to help also. Let me know later if you want me to pitch in. You can close this issue now if you'd like ... or keep it open as a reminder.

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

No branches or pull requests

2 participants