{"id":49453649,"url":"https://github.com/govau/pancake","last_synced_at":"2026-06-02T05:00:43.781Z","repository":{"id":48021034,"uuid":"78596729","full_name":"govau/pancake","owner":"govau","description":"Making npm work for the front end and the Australian Government Design System.","archived":true,"fork":false,"pushed_at":"2021-08-10T22:37:55.000Z","size":6324,"stargazers_count":97,"open_issues_count":27,"forks_count":11,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-08-14T16:21:34.923Z","etag":null,"topics":["auds","australia","components","design-systems","government","nodejs","npm"],"latest_commit_sha":null,"homepage":"http://designsystem.gov.au","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/govau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-11T02:53:50.000Z","updated_at":"2025-02-04T04:49:06.000Z","dependencies_parsed_at":"2022-08-12T16:51:11.312Z","dependency_job_id":null,"html_url":"https://github.com/govau/pancake","commit_stats":null,"previous_names":["ausdto/uikit-pancake"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/govau/pancake","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/govau%2Fpancake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/govau%2Fpancake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/govau%2Fpancake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/govau%2Fpancake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/govau","download_url":"https://codeload.github.com/govau/pancake/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/govau%2Fpancake/sbom","scorecard":{"id":112729,"data":{"date":"2025-08-11","repo":{"name":"github.com/govau/pancake","commit":"cbf6e02d0a56b274e202cbc125468c07cc2569c6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.3,"checks":[{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":2,"reason":"Found 3/11 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 26 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"74 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-6chw-6frg-f759","Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-fwr7-v2mv-hh25","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-w8qv-6jwh-64r5","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-8r6j-v8pm-fqw3","Warn: Project is vulnerable to: MAL-2023-462","Warn: Project is vulnerable to: GHSA-xf7w-r453-m56c","Warn: Project is vulnerable to: GHSA-q42p-pg8m-cqh6","Warn: Project is vulnerable to: GHSA-w457-6q6x-cgp9","Warn: Project is vulnerable to: GHSA-62gr-4qp9-h98f","Warn: Project is vulnerable to: GHSA-f52g-6jhx-586p","Warn: Project is vulnerable to: GHSA-2cf5-4w76-r9qv","Warn: Project is vulnerable to: GHSA-3cqr-58rm-57f8","Warn: Project is vulnerable to: GHSA-g9r4-xpmj-mj65","Warn: Project is vulnerable to: GHSA-q2c6-c6pm-g3gh","Warn: Project is vulnerable to: GHSA-765h-qjxv-5f44","Warn: Project is vulnerable to: GHSA-f2jv-r9rf-7988","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37","Warn: Project is vulnerable to: GHSA-2pr6-76vf-7546","Warn: Project is vulnerable to: GHSA-8j8c-7jfh-h6hx","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-6c8f-qphg-qjgp","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-779f-wgxg-qr8f","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-fhjf-83wg-r2j9","Warn: Project is vulnerable to: GHSA-5fw9-fq32-wv5p","Warn: Project is vulnerable to: GHSA-9v62-24cr-58cx","Warn: Project is vulnerable to: GHSA-r8f7-9pfq-mjmv","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-566m-qj78-rww5","Warn: Project is vulnerable to: GHSA-hwj9-h5mp-3pm3","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-7mwh-4pqv-wmr8","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-4g88-fppr-53pp","Warn: Project is vulnerable to: GHSA-4jqc-8m5r-9rpr","Warn: Project is vulnerable to: GHSA-g4rg-993r-mgx7","Warn: Project is vulnerable to: GHSA-j44m-qm6p-hp7m","Warn: Project is vulnerable to: GHSA-3jfq-g458-7qm9","Warn: Project is vulnerable to: GHSA-5955-9wpr-37jh","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-r628-mhmh-qjhw","Warn: Project is vulnerable to: GHSA-9r2w-394v-53qc","Warn: Project is vulnerable to: GHSA-qq89-hq3f-393p","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-jgrx-mgxx-jf9v","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-884p-74jh-xrg2","Warn: Project is vulnerable to: GHSA-j7fq-p9q7-5wfv","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-6fc8-4gx4-v693","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-15T14:06:52.567Z","repository_id":48021034,"created_at":"2025-08-15T14:06:52.567Z","updated_at":"2025-08-15T14:06:52.567Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33806987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auds","australia","components","design-systems","government","nodejs","npm"],"created_at":"2026-04-30T04:01:03.702Z","updated_at":"2026-06-02T05:00:43.774Z","avatar_url":"https://github.com/govau.png","language":"JavaScript","funding_links":[],"categories":["📦 Legacy \u0026 Inactive Projects"],"sub_categories":[],"readme":"\u003e **The Australian Government Design System has been decommissioned [Visit our community page for more information](https://community.digital.gov.au/t/dta-design-system-has-been-decommissioned/4649)**\n\nPancake\n=======\n\n\u003e Pancake is a tool to make working with npm on the front end easy and sweet.\n\n![The Pancake tool](https://raw.githubusercontent.com/govau/pancake/master/assets/pancake.png)\n\n[Npm wrote about](http://blog.npmjs.org/post/101775448305/npm-and-front-end-packaging) the challenges frontend developers face when trying to use npm. Pancake is addressing those by embracing the idea of small individually versioned independent modules. Interdependencies is what npm does really well and Pancake will help you keep them flat and error out on conflicts. [Read more about our solution](https://medium.com/dailyjs/npm-and-the-front-end-950c79fc22ce)\n\nPancake will check your `\"peerDependencies\"` for conflicts and comes with plugins to compile the contents of your modules for you and lists all available modules for you to select and install.\n\n\n\n## Contents\n\n* [Getting started](#getting-started)\n* [Requirements](#requirements)\n* [Settings](#settings)\n* [Command line interface](#cli)\n* [Creating your own Pancake modules](#creating-your-own-pancake-modules)\n* [Contributing](#contributing)\n* [Taste / Tests](#taste--tests)\n* [License](#license)\n\n\n----------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n\n## Getting started\n\nIf you are creating a new project using Pancake you will want to look into creating your own [Pancake modules](#creating-your-own-pancake-modules).\n\nPancake comes installed with Australian Government Design System components. To know if you have `pancake` installed, check your `package.json` file for a `\"pancake\": { ... }` object. If you have this and you want to change the output look at the [Pancake settings](#settings) section.\n\nIf you have issues with using SASS globals in a ReactJS project, please check out the [Design System React starter repo](https://github.com/govau/design-system-starter-react) for an example.\n\n**[⬆ back to top](#contents)**\n\n\n----------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n\n## Requirements\n\n- npm version \u003e= `~3.0.0`\n- A `package.json` file in your root (run `npm init --yes`)\n\n_Pancake alone does not come with any dependencies while all plugins have fixed dependencies to specific versions to keep the security impact as low as possible. We also ship a `package-lock.json` file._\n\n\n**[⬆ back to top](#contents)**\n\n\n----------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n\n## Settings\n\nPancake comes with two different level of settings. Global settings can persist across projects and local settings that are project specific.\n\n\n### Global settings\n\nTo change global settings run Pancake with the `--set` flag.\n\n```shell\nnpx pancake --set [settingName] [value]\n```\n\n|     setting     |                 value                 |  default  |\n|-----------------|---------------------------------------|-----------|\n|     `npmOrg`    | This is the npm org scope             | `@gov.au` |\n|    `plugins`    | A switch to disable or enable plugins | `true`    |\n| `ignorePlugins` | An array of plugins to be ignored     | `[]`      |\n\nExample:\n\n```shell\nnpx pancake --set npmOrg yourOrg\n```\n\n\n### Local settings\n\nTo change local settings all you have to do is include a `pancake` object into your `package.json` file. All possible settings are stated below:\n\n```js\n{\n  \"name\": \"your-name\",\n  \"version\": \"0.1.0\",\n  \"pancake\": {                       //the pancake config object\n    \"auto-save\": true,               //enable/disable auto saving the settings into your package.json after each run\n    \"plugins\": true,                 //enable/disable plugins\n    \"ignore\": [],                    //ignore specific plugins\n    \"css\": {                         //settings for the @gov.au/pancake-sass plugin\n      \"minified\": true,              //minify the css?\n      \"modules\": false,              //save one css file per module?\n      \"browsers\": [                  //autoprefixer browser matrix\n        \"last 2 versions\",\n        \"ie 8\",\n        \"ie 9\",\n        \"ie 10\"\n      ],\n      \"location\": \"pancake/css/\",    //the location to save the css files to\n      \"name\": \"pancake.min.css\"      //the name of the css file that includes all modules; set this to false to disable it\n    },\n    \"sass\": {                        //settings for the @gov.au/pancake-sass plugin\n      \"modules\": false,              //save one Sass file per module?\n      \"location\": \"pancake/sass/\",   //the location to save the Sass files to\n      \"name\": \"pancake.scss\"         //the name of the Sass file that includes all modules; set this to false to disable it\n    },\n    \"js\": {                          //settings for the @gov.au/pancake-js plugin\n      \"minified\": true,              //minify the js?\n      \"modules\": false,              //save one js file per module?\n      \"location\": \"pancake/js/\",     //the location to save the js files to\n      \"name\": \"pancake.min.js\"       //the name of the js file that includes all modules; set this to false to disable it\n    },\n    \"react\": {                       //settings for the @gov.au/pancake-react plugin\n      \"location\": \"pancake/react/\",  //the location to save the react files to; set this to false to disable it\n    },\n    \"json\": {                        //settings for the @gov.au/pancake-json plugin\n      \"enable\": false,               //the pancake-json plugin is off by default\n      \"location\": \"pancake/js/\",     //the location to save the json files to\n      \"name\": \"pancake\",             //the name of the json file\n      \"content\": {                   //you can curate what the json file will contain\n        \"name\": true,                //include the name key\n        \"version\": true,             //include the version key\n        \"dependencies\": true,        //include the dependencies key\n        \"path\": true,                //include the path key\n        \"settings\": true             //include the settings key\n      }\n    }\n  }\n}\n```\n\nTo remove `js` you can set the value of `\"name\": false` and remove the values `minified`, `modules` and `location`.\n\n\n**[⬆ back to top](#contents)**\n\n\n----------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n\n## CLI\n\nYou can display the help with `pancake --help`.\n\n\n### Don’t save to package.json\n`-n`, `--nosave`  \nType: `\u003cflag\u003e`  \n\nThe command will stop Pancake from merging your local settings, complete them with the defaults and save them into your `package.json`.\nThis will sort-of shrink-wrap all settings in so you are completely reproducible.\nYou can also opt-out of this behavior by adding `\"auds\": { \"auto-save\": false }` into your package.json.\n\n```shell\nnpx pancake --nosave\n```\n\n\n### Overwrite npm org name\n`-o`, `--org`  \nType: `\u003cflag\u003e [value]`  \n\nYou can temporarily overwrite the npm org scope by suppling this flag. This can be useful for testing. Do make sure to use the [settings](#settings) for a\npermanent change.\n\n```shell\nnpx pancake --org @otherOrg\n```\n\n\n### Overwrite the plugin toggle\n`-p`, `--noplugins`  \nType: `\u003cflag\u003e`  \n\nYou can temporarily disable all plugins. This is great for ci integration.\n\n```shell\nnpx pancake --noplugins\n```\n\n\n### Overwrite the plugin ignore list\n`-i`, `--ignore`  \nType: `\u003cflag\u003e [comma separated list]`  \n\nYou can temporarily overwrite the list of plugins to be disabled.\n\n```shell\nnpx pancake --ignore @gov.au/pancake-svg,@gov.au/pancake-js\n```\n\n\n### Verbose output\n`-v`, `--verbose`  \nType: `\u003cflag\u003e`  \n\nRun Pancake in verbose silly mode.\n\n```shell\nnpx pancake --verbose\n```\n\n\n**[⬆ back to top](#contents)**\n\n\n----------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n\n## Creating your own Pancake modules\n\n💡 You can use Pancake with your own modules. All you have to do in your modules is:\n\n1. Install Pancake\n2. Add the Pancake module object to your `package.json` file\n3. Add the Pancake `postinstall` script and dependency to your `package.json` file\n4. Add your peer dependencies\n\n\n### 1. Install Pancake\n\nTo install pancake use node package manager.\n\n```\nnpm i @gov.au/pancake\n```\n\n\n### 2. Pancake module object\n\nTo make sure Pancake can detect your module amongst the other hundred npm packages you have to add the `pancake-module` object into your `pancake` object.\n\n```diff\n{\n  \"name\": \"your-module-name\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Your description\",\n+  \"pancake\": {\n+    \"pancake-module\": {                   //pancake is looking for this object to id your module as a pancake module\n+      \"version\": \"1.0.0\",                 //the major version of pancake\n+      \"plugins\": [                        //only state the plugins you need here\n+        \"@gov.au/pancake-sass\"\n+      ],\n+      \"org\": \"@gov.au @nsw.gov.au\",       //the npm organisations that will be searched for pancake modules\n+      \"sass\": {                           //sass plugin specific settings\n+        \"path\": \"lib/sass/_module.scss\",  //where is your sass\n+        \"sass-versioning\": true           //enable sass-versioning. Read more here: https://github.com/dominikwilkowski/sass-versioning\n+      },\n+      \"js\": {                             //js plugin specific settings\n+        \"path\": \"lib/js/module.js\"        //where is your js\n+      },\n+      \"react\": {\n+        \"location\": \"lib/js/react.js\"     //the location to move the react files to\n+      }\n+    }\n+  },\n  \"dependencies\": {},\n  \"peerDependencies\": {},\n  \"devDependencies\": {},\n  \"scripts\": {\n    \"test\": \"echo \\\"Error: no test specified\\\" \u0026\u0026 exit 1\"\n  },\n  \"author\": \"\",\n  \"license\": \"ISC\"\n}\n```\n\n### 3. The script\n\nThe magic of Pancake lies within the `postinstall` script. To enable Pancake add it as a dependency and add the script:\n\n```diff\n{\n  \"name\": \"your-module-name\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Your description\",\n  \"pancake\": {\n    \"pancake-module\": {\n      \"version\": \"1.0.0\",\n      \"plugins\": [\n        \"@gov.au/pancake-sass\"\n      ],\n      \"sass\": {\n        \"path\": \"lib/sass/_module.scss\",\n        \"sass-versioning\": true\n      },\n      \"js\": {\n        \"path\": \"lib/js/module.js\"\n      },\n      \"react\": {\n        \"location\": \"lib/js/react.js\"\n      }\n    }\n  },\n  \"dependencies\": {\n+    \"@gov.au/pancake\": \"~1\"\n  },\n  \"peerDependencies\": {},\n  \"devDependencies\": {},\n  \"scripts\": {\n+    \"postinstall\": \"pancake\"\n  },\n  \"author\": \"\",\n  \"license\": \"ISC\"\n}\n```\n\nThis will run Pancake right after install and make sure you always get the latest version of the release 1.0.0.\nIf you have to change settings (very likely) you don’t actually have to fork this project. You can set those settings globally before running it with your\n`postinstall` script.\n\n```shell\n\"postinstall\": \"pancake --set npmOrg yourOrg \u0026\u0026 pancake\"\n```\n\n### 4. Peer dependencies\n\nAdding peer dependencies is simple as long as you remember to add it to the `dependencies` and `peerDependencies` the same time. That way npm will install the\npeer dependency and pancake can check if you have conflicts.\n\n```diff\n{\n  \"name\": \"your-module-name\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Your description\",\n  \"pancake\": {\n    \"pancake-module\": {\n      \"version\": \"1.0.0\",\n      \"plugins\": [\n        \"@gov.au/pancake-sass\"\n      ],\n      \"sass\": {\n        \"path\": \"lib/sass/_module.scss\",\n        \"sass-versioning\": true\n      },\n      \"js\": {\n        \"path\": \"lib/js/module.js\"\n      },\n      \"react\": {\n        \"location\": \"lib/js/react.js\"\n      }\n    }\n  },\n  \"dependencies\": {\n    \"@gov.au/pancake\": \"~1\",\n\n+    \"@gov.au/core\": \"^0.1.0\"\n  },\n  \"peerDependencies\": {\n+    \"@gov.au/core\": \"^0.1.0\"\n  },\n  \"devDependencies\": {},\n  \"scripts\": {\n    \"postinstall\": \"pancake\"\n  },\n  \"author\": \"\",\n  \"license\": \"ISC\"\n}\n```\n\nNow you’re ready to publish your modules and start using Pancake.\n\n\n**[⬆ back to top](#contents)**\n\n\n----------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n\n## Contributing\n\nHi there 👀,\n\n❤️ We LOVE that you’re looking into this section. We welcome any feedback or pull requests and are super psyched about you putting your own time into this\nproject. To make your contribution count, have a read through the code first and see what our thinking was. We will do the same with yours.\n\n\u003e **NOTE**: If you are looking to build this project on Windows, you'll need to clone this repository with symlinks enabled using an administrator shell.\n```bash\ngit clone -c core.symlinks=true https://github.com/govau/pancake\n```\n\nTo run this project you'll need to have [Yarn](https://yarnpkg.com) installed.\n\n```shell\nyarn install\n```\n\n```shell\nyarn build\n```\n\nTo develop in one of the modules run the watch inside of it:\n\n```shell\ncd packages/pancake/\nyarn watch\n```\n\n❗️ Make sure you only edit file inside the `src/` folder. Files inside the `bin/` folder are overwritten by the transpiler.\n\n_Please look at the coding style and work with it, not against it. 🌴_\n\n\n**[⬆ back to top](#contents)**\n\n\n----------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n\n## Taste / Tests\n\n### Test modules\n\nWe have published four test modules in our scoped npm org to test interdependencies and to debug with verbose mode switched on.\nFind below a list of what is inside each version:\n\n**@gov.au/testmodule1**\n- ![Testmodule1 version](https://img.shields.io/npm/v/@gov.au/testmodule1.svg?label=version\u0026colorA=313131\u0026colorB=1B7991)  \n\n**@gov.au/testmodule2**\n- ![Testmodule2 version](https://img.shields.io/npm/v/@gov.au/testmodule2.svg?label=version\u0026colorA=313131\u0026colorB=1B7991)  \n\t- └── `@gov.au/testmodule1`: `^15.0.0`\n\n**@gov.au/testmodule3**\n- ![Testmodule3 version](https://img.shields.io/npm/v/@gov.au/testmodule3.svg?label=version\u0026colorA=313131\u0026colorB=1B7991)  \n\t- ├── `@gov.au/testmodule1`: `^15.0.0`\n\t- └── `@gov.au/testmodule2`: `^19.0.0`\n\n**@gov.au/testmodule4**\n- ![Testmodule4 version](https://img.shields.io/npm/v/@gov.au/testmodule4.svg?label=version\u0026colorA=313131\u0026colorB=1B7991)  \n\t- └── `@gov.au/testmodule1`: `^15.0.0`\n\n\n### Software tests\n\nWe have an [end-to-end test script](https://github.com/govau/pancake/blob/develop/tests/tester.js) that will take a number of scenarios and compare the output\nof pancake against fixtures.\n\nWe also use unit tests with [jest](https://facebook.github.io/jest/).\n\nTo run all tests use the below command:\n\n```shell\nnpm test\n```\n\n### Node support\n\nPancake has been tested with Ubuntu 16.04, Mac OS 10.11, 10.12 and Windows 10 all node version coming with npm 3 and higher:\n\n- node `v5.0.0`\n- node `v5.12.0`\n- node `v6.9.5`\n- node `v7.0.0`\n- node `v7.4.0`\n- node `v7.5.0`\n- node `v7.6.0`\n- node `v10.0.0`\n\n\n**[⬆ back to top](#contents)**\n\n\n----------------------------------------------------------------------------------------------------------------------------------------------------------------\n\n\n## License\n\nCopyright (c) Commonwealth of Australia.\nLicensed under [MIT](https://raw.githubusercontent.com/govau/pancake/master/LICENSE).\n\n\n**[⬆ back to top](#contents)**\n\n# };\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgovau%2Fpancake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgovau%2Fpancake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgovau%2Fpancake/lists"}