Система проектирования правительства Австралии была выведена из эксплуатации. Посетите нашу страницу сообщества для получения дополнительной информации
Блин - это инструмент, чтобы сделать работу с NPM на переднем конце легкой и сладкой.
NPM писал о проблемах, с которыми сталкиваются разработчики, разработчики, с которыми сталкиваются разработчики, при попытке использовать NPM. Блин обращается к тем, что использует идею небольших независимых модулей в индивидуально версии. Взаимозависимости - это то, что NPM делает действительно хорошо, а блины помогут вам сохранить их плоские и ошибочные в конфликтах. Узнайте больше о нашем решении
Блин проверит ваши "peerDependencies" на предмет конфликтов и поставляется с плагинами для составления содержимого ваших модулей для вас и перечисляет все доступные модули, которые вы можете выбрать и установить.
Если вы создаете новый проект, используя блины, вы захотите изучить свои собственные модули для блинчиков.
Блин установлен с компонентами системы проектирования Австралии. Чтобы узнать, если у вас установлен pancake , проверьте свой файл package.json для "pancake": { ... } объекта. Если у вас есть это, и вы хотите изменить выходные данные, посмотрите на раздел «Настройки блинов».
Если у вас есть проблемы с использованием Sass Globals в проекте ReactJS, пожалуйста, ознакомьтесь с системой проектирования React Starter Repo для примера.
⬆ Вернуться к вершине
~3.0.0package.json в вашем корне (запустите npm init --yes ) Только блины не имеют никаких зависимостей, в то время как все плагины имеют фиксированные зависимости от конкретных версий, чтобы сохранить влияние на безопасность как можно более низкой. Мы также отправляем файл package-lock.json .
⬆ Вернуться к вершине
Блин поставляется с двумя разными уровнями настроек. Глобальные настройки могут сохраняться в разных проектах и местных условиях, которые являются специфичными для проекта.
Чтобы изменить глобальные настройки, запустите блины с флагом --set .
npx pancake --set [settingName] [value]| параметр | ценить | по умолчанию |
|---|---|---|
npmOrg | Это прицел NPM Org | @gov.au |
plugins | Переключатель, чтобы отключить или включить плагины | true |
ignorePlugins | Массив плагинов, которые следует игнорировать | [] |
Пример:
npx pancake --set npmOrg yourOrg Чтобы изменить локальные настройки, все, что вам нужно сделать, это включить pancake объект в свой файл package.json . Все возможные настройки указаны ниже:
{
"name" : "your-name" ,
"version" : "0.1.0" ,
"pancake" : { //the pancake config object
"auto-save" : true , //enable/disable auto saving the settings into your package.json after each run
"plugins" : true , //enable/disable plugins
"ignore" : [ ] , //ignore specific plugins
"css" : { //settings for the @gov.au/pancake-sass plugin
"minified" : true , //minify the css?
"modules" : false , //save one css file per module?
"browsers" : [ //autoprefixer browser matrix
"last 2 versions" ,
"ie 8" ,
"ie 9" ,
"ie 10"
] ,
"location" : "pancake/css/" , //the location to save the css files to
"name" : "pancake.min.css" //the name of the css file that includes all modules; set this to false to disable it
} ,
"sass" : { //settings for the @gov.au/pancake-sass plugin
"modules" : false , //save one Sass file per module?
"location" : "pancake/sass/" , //the location to save the Sass files to
"name" : "pancake.scss" //the name of the Sass file that includes all modules; set this to false to disable it
} ,
"js" : { //settings for the @gov.au/pancake-js plugin
"minified" : true , //minify the js?
"modules" : false , //save one js file per module?
"location" : "pancake/js/" , //the location to save the js files to
"name" : "pancake.min.js" //the name of the js file that includes all modules; set this to false to disable it
} ,
"react" : { //settings for the @gov.au/pancake-react plugin
"location" : "pancake/react/" , //the location to save the react files to; set this to false to disable it
} ,
"json" : { //settings for the @gov.au/pancake-json plugin
"enable" : false , //the pancake-json plugin is off by default
"location" : "pancake/js/" , //the location to save the json files to
"name" : "pancake" , //the name of the json file
"content" : { //you can curate what the json file will contain
"name" : true , //include the name key
"version" : true , //include the version key
"dependencies" : true , //include the dependencies key
"path" : true , //include the path key
"settings" : true //include the settings key
}
}
}
} Чтобы удалить js вы можете установить значение "name": false и удалить minified -значения, modules и location .
⬆ Вернуться к вершине
Вы можете отобразить помощь с pancake --help .
-n , --nosave
Тип: <flag>
Команда остановит Блин с объединением ваших локальных настроек, завершит их по умолчанию и сохранит их в своем package.json . Это в некотором роде сокращает все настройки, так что вы полностью воспроизводим. Вы также можете отказаться от этого поведения, добавив "auds": { "auto-save": false } в свой пакет.json.
npx pancake --nosave -o , --org
Тип: <flag> [value]
Вы можете временно перезаписать область NPM Org, надоедя этот флаг. Это может быть полезно для тестирования. Убедитесь, что используйте настройки для постоянного изменения.
npx pancake --org @otherOrg -p , --noplugins
Тип: <flag>
Вы можете временно отключить все плагины. Это отлично подходит для интеграции CI.
npx pancake --noplugins -i , --ignore
Тип: <flag> [comma separated list]
Вы можете временно перезаписать список плагинов, которые будут отключены.
npx pancake --ignore @gov.au/pancake-svg,@gov.au/pancake-js -v , --verbose
Тип: <flag>
Запустите блины в словесном глупости.
npx pancake --verbose⬆ Вернуться к вершине
Вы можете использовать блины со своими собственными модулями. Все, что вам нужно сделать в своих модулях, это:
package.jsonpostinstall и зависимость в свой файл package.jsonДля установки менеджера пакетов пакетов.
npm i @gov.au/pancake
Чтобы убедиться, что блины могут обнаружить ваш модуль среди других сотни пакетов NPM, вы должны добавить объект pancake-module в свой pancake .
{
"name": "your-module-name",
"version": "1.0.0",
"description": "Your description",
+ "pancake": {
+ "pancake-module": { //pancake is looking for this object to id your module as a pancake module
+ "version": "1.0.0", //the major version of pancake
+ "plugins": [ //only state the plugins you need here
+ "@gov.au/pancake-sass"
+ ],
+ "org": "@gov.au @nsw.gov.au", //the npm organisations that will be searched for pancake modules
+ "sass": { //sass plugin specific settings
+ "path": "lib/sass/_module.scss", //where is your sass
+ "sass-versioning": true //enable sass-versioning. Read more here: https://github.com/dominikwilkowski/sass-versioning
+ },
+ "js": { //js plugin specific settings
+ "path": "lib/js/module.js" //where is your js
+ },
+ "react": {
+ "location": "lib/js/react.js" //the location to move the react files to
+ }
+ }
+ },
"dependencies": {},
"peerDependencies": {},
"devDependencies": {},
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "",
"license": "ISC"
} Магия блина лежит в сценарии postinstall . Чтобы включить блин добавить его в качестве зависимости и добавить сценарий:
{
"name": "your-module-name",
"version": "1.0.0",
"description": "Your description",
"pancake": {
"pancake-module": {
"version": "1.0.0",
"plugins": [
"@gov.au/pancake-sass"
],
"sass": {
"path": "lib/sass/_module.scss",
"sass-versioning": true
},
"js": {
"path": "lib/js/module.js"
},
"react": {
"location": "lib/js/react.js"
}
}
},
"dependencies": {
+ "@gov.au/pancake": "~1"
},
"peerDependencies": {},
"devDependencies": {},
"scripts": {
+ "postinstall": "pancake"
},
"author": "",
"license": "ISC"
} Это будет запускать блин сразу после установки и убедиться, что вы всегда получаете последнюю версию релиза 1.0.0. Если вам нужно изменить настройки (очень вероятно), вам на самом деле не нужно раскошелиться на этот проект. Вы можете установить эти настройки по всему миру, прежде чем запустить их с помощью сценария postinstall .
" postinstall " : " pancake --set npmOrg yourOrg && pancake " Добавление зависимостей со сверстниками просто, если вы не забываете добавлять ее в dependencies и peerDependencies в одно и то же время. Таким образом, NPM установит зависимость от сверстников, и блин может проверить, есть ли у вас конфликты.
{
"name": "your-module-name",
"version": "1.0.0",
"description": "Your description",
"pancake": {
"pancake-module": {
"version": "1.0.0",
"plugins": [
"@gov.au/pancake-sass"
],
"sass": {
"path": "lib/sass/_module.scss",
"sass-versioning": true
},
"js": {
"path": "lib/js/module.js"
},
"react": {
"location": "lib/js/react.js"
}
}
},
"dependencies": {
"@gov.au/pancake": "~1",
+ "@gov.au/core": "^0.1.0"
},
"peerDependencies": {
+ "@gov.au/core": "^0.1.0"
},
"devDependencies": {},
"scripts": {
"postinstall": "pancake"
},
"author": "",
"license": "ISC"
}Теперь вы готовы опубликовать свои модули и начать использовать блины.
⬆ Вернуться к вершине
Всем привет ?,
❤ Нам нравится, что вы смотрите в этом разделе. Мы приветствуем любые отзывы или запросы на привлечение и очень психоалированы в том, чтобы вы потратили свое время в этот проект. Чтобы внести свой вклад, сначала прочитайте код и посмотрите, что такое наше мышление. Мы сделаем то же самое с вашим.
ПРИМЕЧАНИЕ . Если вы хотите создать этот проект в Windows, вам нужно клонировать этот репозиторий с помощью Symlinks, включенных с использованием оболочки администратора.
git clone -c core.symlinks=true https://github.com/govau/pancakeЧтобы запустить этот проект, вам понадобится установка пряжи.
yarn installyarn buildРазвиваться в одном из модулей запустить часы внутри:
cd packages/pancake/
yarn watch ❗ Убедитесь, что вы редактируете только файл внутри src/ папки. Файлы внутри bin/ папки перезаписываются транспористом.
Пожалуйста, посмотрите на стиль кодирования и работайте с ним, а не против. ?
⬆ Вернуться к вершине
Мы опубликовали четыре тестовых модуля в нашем Scoped NPM Org для тестирования взаимозависимости и отладки с помощью словесного режима. Найдите ниже список того, что находится внутри каждой версии:
@gov.au/testmodule1
@gov.au/testmodule2
@gov.au/testmodule1 : ^15.0.0@gov.au/testmodule3
@gov.au/testmodule1 : ^15.0.0@gov.au/testmodule2 : ^19.0.0@gov.au/testmodule4
@gov.au/testmodule1 : ^15.0.0У нас есть скрипт сквозного испытательного сценария, который займет несколько сценариев и сравнит вывод блинов с приспособлениями.
Мы также используем модульные тесты с шутом.
Для запуска всех тестов используйте команду ниже:
npm testБлин был протестирован с Ubuntu 16.04, Mac OS 10.11, 10.12 и Windows 10 All Node Version с NPM 3 и выше:
v5.0.0v5.12.0v6.9.5v7.0.0v7.4.0v7.5.0v7.6.0v10.0.0⬆ Вернуться к вершине
Авторское право (C) Содружество Австралии. Лицензирован в соответствии с MIT.
⬆ Вернуться к вершине