npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

astro-parcel

v0.6.0

Published

Build and optimize your Astro project using Parcel

Downloads

21

Readme

astro-parcel

Build and optimize your Astro project using Parcel

Install

npm i --save-dev astro-parcel

CLI


astro-parcel <command> [options]
Build and optimize your astro project using Parcel

Commands
build
dev
serve

Options
--astroDist <string = "./dist">     the directory that astro writes the build result to
--parcelDist <string = "./dist">    the directory to output the parcel result
--publicDir <string = "./public">   the public folder path. The files that are directly copied to parcelDist folder
--srcDir <string = "./src">         the src folder. This path is used to search for the files that are not present in astroDist folder

Extra arguments are directly passed to Astro and then Parcel

Advanced Options
--astroJs <string = resolved>       the astro cli js path
--parcelJs <string = resolved>      the parcel cli js path
--nodeBin  <string = current node>  the node bin path

To use astro-parcel, you should configure your Astro project like normal. Then, call the astro-parcel commands.

To build the project:

astro-parcel build

You can also specify the build directory for Parcel via --parcelDist. If you have changed the outDir of Astro, you should pass it here as --astroDist:

astro-parcel build --astroDist "./dist" --parcelDist "./parcel-dist"

To use another version of Astrojs or Parceljs pass their binary js paths via --astroJs and --parcelJs.

astro-parcel build --astroDist "./dist" --parcelDist "./parcel-dist" --parcelJs "./node_modules/parcel/lib/bin.js" --astroJs "./node_modules/astro/dist/cli/index.js"

Why

Astro is a great framework for making websites, and Parcel provides awesome bundling and optimization (e.g. Parcel-CSS, HTMLNano, etc.) functionality out of the box. This package makes it possible to use Astro with Parcel.

Using Parcel as the CSS, LESS, SCSS Bundler

Astro's CSS bundling can result in duplicate files, while Parcel's CSS functionality is great in optimizing the CSS files. To use that, link the style files like the following. Use a unique file name, so astro-parcel can resolve it in the source directory. The await import is used for the dev build, and the <link> tag is used by for the production build.


---
if (process.env.NODE_ENV !== "production") {
  await import("./style.scss")
}
---

<head>
  <link rel="stylesheet" href="./styles.scss" class="href">
</head>

To use a single CSS bundle for the whole website, create a ./pages/styles.scss and import all the CSS files used in your Page, and link it to your HTML files under the pages folder.

@use "../components/navbar/navbar.scss";
@use "../components/footer/footer.scss";