JSPM

  • Created
  • Published
  • Downloads 110
  • Score
    100M100P100Q5503F
  • License MIT

Pancake is an utility to make working with npm modules for the frontend sweet and seamlessly.

Package Exports

  • @gov.au/pancake

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@gov.au/pancake) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Pancake

A tool to help the Gov.au UI-KIT installation through the npm ecosystem. Checking peerDependencies, writing compiled files and discovering new modules

Content


What’s inside?

the pancake tool

This tool comes with three commands:

Pancakes needs batter. Can’t do no pancakes without batter. This is essential!

Batter will check the peerDependencies of all installed pancake modules for conflicts and error out with a meaningful error message.

Eating pancakes without Syrup is pretty dry. You could but it’s not really fun.

Syrup will compile all assets and give you options as to where you might want those assets.

Putting cream on top makes this a sweet experience. This is why you want more.

Cream will present you with options to upgrade your existing pancake project or to start a new one. All that while checking conflicts, communicating what breaking changes might occur and what an easy way out might be.

⬆ back to top


Batter

the batter command

batter

batter
Type: [command]
Option: <path> (optional) overwrite where to look for the node_module folder
Default value: path to one level below cwd

To make sure all peerDependencies are resolved without conflicts this tool goes through your node_modules folder and reads each (Only the ones in scope) package.json in search for a gov.au UI-Kit module. If it finds one, identified by the tag pancake-module and org scope gov.au, it will record it’s peerDependencies and cross check against all other installed modules.

pancake batter

You can also pass it a path to the node_modules folder and overwrite the default:

pancake batter /Path/to/folder/of/your/package.json

Batter will also run Syrup after a successful run. You can change that behavior by adding "uikit": { "auto-syrup": false } into your package.json.

dry

-d, --dry
Type: <flag>
Default value: no flag

Run batter without syrup.

pancake batter --dry

verbose

-v, --verbose
Type: <flag>
Default value: no flag

Run pancake in verbose silly mode.

pancake batter --verbose

⬆ back to top


Syrup

the syrup command

syrup

syrup
Type: [command]
Option: <path> (optional) overwrite where to look for the node_module folder
Default value: path to one level below cwd

Syrup compiles your pancake assets and writes them to disk. It comes with sane defaults that you can overwrite by adding the pancake object into your package.json.

pancake syrup

Below are all possible settings with default values.

{
    "name": "your-name",
    "version": "0.1.0",
    "uikit": {
        "css": {
            "minified": true,          //minify your CSS output?
            "modules": false,          //save a css file per module?
            "browsers": [              //the browser support settings for autoprefixer
                "last 2 versions",
                "ie 8",
                "ie 9",
                "ie 10"
            ],
            "location": "uikit/css/",  //path where to save those files, relative to your package.json
            "name": "uikit.min.css"    //name of your css file with all modules
        },
        "sass": {
            "generate": true,          //save sass files?
            "modules": false,          //save a sass file per module?
            "location": "uikit/sass/", //path where to save those files, relative to your package.json
            "name": "uikit.scss"       //name of the sass file with all modules
        },
        "js": {
            "minified": true,          //minify js code?
            "modules": false,          //save a js file per module?
            "location": "uikit/js/",   //path where to save those files, relative to your package.json
            "name": "uikit.min.js"     //name of the js file with all modules
        }
    }
}

save

-s, --save
Type: <flag>
Default value: no flag

The command will merge your local settings, complete them with the defaults and save them into your package.json This will sort-of shrink-wrap all settings in so you are completely reproducible.

pancake syrup --save

verbose

-v, --verbose
Type: <flag>
Default value: no flag

Run pancake in verbose silly mode.

pancake syrup --verbose

⬆ back to top


Cream

the cream command

cream

cream
Type: [command]
Option: <path> (optional) overwrite where to look for the node_module folder
Default value: path to one level below cwd
Option: --json <path> (optional) overwrite where to look for the pancake.json
Default value: https://raw.githubusercontent.com/govau/uikit/master/uikit.json

Cream will analyze your currently installed pancake modules and show you in a user friendly interface what you can easily update and what update will entail breaking changes.

pancake cream

To overwrite the hardcoded json URL run cream with the json flag:

pancake cream --json https://you.domain/to/json/file.json

verbose

-v, --verbose
Type: <flag>
Default value: no flag

Run pancake in verbose silly mode.

pancake syrup --verbose

⬆ back to top


Taste / Tests

⬆ back to top


Release History

  • v0.1.0 - First pancake
  • v0.0.X - Pre-releases of unstable, undercooked pancakes

⬆ back to top


License

Copyright (c) Commonwealth of Australia. Licensed under the MIT.

⬆ back to top

};