Neatly Positioned Magazines

    ember-cli-deploy-manifest

    2.0.0 • Public • Published

    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.

    Install

    npm i ember-cli-deploy-manifest

    DownloadsWeekly Downloads

    13,626

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    13.2 kB

    Total Files

    8

    Last publish

    Collaborators

    • jrjohnson
    • ecd-luke
    • ghedamat
    • lukemelia
    • achambers