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

ember-cli-deploy-manifest

v3.0.0

Published

Ember CLI Deploy plugin to generate a manifest.

Downloads

32,031

Readme

ember-cli-deploy-manifest

This plugin generates a manifest file listing the versioned asset files generated by your app's build process. By comparing the latest manifest to the previous one, your deployment plugin (such as ember-cli-deploy-s3) can determine which files have changed and only upload those, improving efficiency.

How does this work in detail?

When you build your ember-cli app in development, your files get globbed together into a bunch of asset files such as myapp.js vendor.js, myapp.css, and vendor.css (see your project's dist/assets dir).

When you do a production build, your build process will produce fingerprinted copies of these asset files. Fingerprints are used for versioning as described here. In practice fingerprints are long hash strings, but for exposition we'll pretend our fingerprints look like a version number. So our manifest will look like:

myapp-1.js
vendor-1.js
myapp-1.css
vendor-1.css

The first time we deploy, our deployment plugin uploads everything, including our manifest file.

Say we then edit our app javascript but everything else remains the same. After rebuilding, when we generate our new manifest, it will look something like:

myapp-2.js
vendor-1.js
myapp-1.css
vendor-1.css

When our deployment plugin is ready to deploy, it retrieves the old manifest (from S3 or wherever its stored), diffs it with the current one, and determines it only has to upload myapp-2.js. For large asset files, this can save alot of time and bandwidth.

Installation

  • ember install ember-cli-deploy-manifest

ember-cli-deploy Hooks Implemented

  • configure
  • willUpload

Configuration Options

filePattern

Files matching this pattern will be included in the manifest.

Default: "**/*.{js,css,png,gif,ico,jpg,map,xml,txt,svg,swf,eot,ttf,woff,woff2,json}"

fileIgnorePattern

Files matching this pattern will not be included in the manifest even if they match filePattern.

Default: null

manifestPath

The relative path that the manifest is written to.

Default: "manifest.txt"

distDir

Directory where assets have been written to

Default: the distDir property of the deployment context

distFiles

The Array of built assets.

Default: the distFiles property of the deployment context

Prerequisites

The default configuration of this plugin expects the deployment context to have distDir and distFiles properties. These are conveniently created by the ember-cli-deploy-build plugin so will work out of the box if you are using that plugin.

Plugins known to work well with this one

ember-cli-deploy-s3

Tests

  • yarn test

Why ember build and ember test don't work

Since this is a node-only ember-cli addon, this package does not include many files and dependencies which are part of ember-cli's typical ember build and ember test processes.