Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions packages/cli/bin/cli-actions/build.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
'use strict';
const buildPatterns = require('../build');
const copyFiles = require('../copy-source-files');
const resolveConfig = require('../resolve-config');
const { error, info, wrapAsync } = require('../utils');

const build = options =>
wrapAsync(function*() {
try {
const config = yield resolveConfig(options.parent.config);
yield copyFiles(config.paths);
yield buildPatterns(config, options);
info(`build: Yay, your Pattern Lab project was successfully built ☺`);
} catch (err) {
Expand Down
4 changes: 1 addition & 3 deletions packages/cli/bin/cli-actions/serve.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
'use strict';
const resolveConfig = require('../resolve-config');
const build = require('./build');
const servePatterns = require('../serve');
const wrapAsync = require('../utils').wrapAsync;

const serve = options =>
wrapAsync(function*() {
const config = yield resolveConfig(options.parent.config);
yield build(options);
servePatterns(config, options.watch);
servePatterns(config, options);
});

module.exports = serve;
27 changes: 0 additions & 27 deletions packages/cli/bin/copy-source-files.js

This file was deleted.

3 changes: 2 additions & 1 deletion packages/cli/bin/patternlab.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ cli
.alias('compile')
.description('Build Pattern Lab. Optionally (re-)build only the patterns')
.option('-p, --patterns-only', 'Whether to only build patterns')
.option('--no-watch', 'Start watching for changes')
.action(build);

/**
Expand Down Expand Up @@ -130,7 +131,7 @@ cli
.command('serve')
.alias('browse')
.description('Starts a server to inspect files in browser')
.option('-w, --watch', 'Start watching for changes')
.option('--no-watch', 'Start watching for changes')
.action(serve);

// Show additional help
Expand Down
5 changes: 3 additions & 2 deletions packages/cli/bin/serve.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ const { error, info } = require('./utils');
* @func serve
* @desc Start a browser-sync server in the Pattern Lab public dir
* @param {object} config - The passed Pattern Lab config
* @param {object} options - The passed options at invocation time
*/
function serve(config) {
function serve(config, options) {
if (!isValidConfig) {
throw new TypeError(
'serve: Expects config not to be empty and of type object.'
Expand All @@ -37,7 +38,7 @@ function serve(config) {
try {
info(`serve: Serving your files …`);
const pl = patternlab(config);
pl.server.serve({});
pl.server.serve(options);
} catch (err) {
error(err);
}
Expand Down
34 changes: 17 additions & 17 deletions packages/core/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,12 @@ Builds patterns, copies assets, and constructs user interface
**Emits**: <code>event:PATTERNLAB_BUILD_START</code>, <code>event:PATTERNLAB_BUILD_END</code>
**See**: [all events](./events.md)

| Param | Type | Description |
| --- | --- | --- |
| options | <code>object</code> | an object used to control build behavior |
| options.cleanPublic | <code>bool</code> | whether or not to delete the configured output location (usually `public/`) before build |
| options.data | <code>object</code> | additional data to be merged with global data prior to build |
| options.watch | <code>bool</code> | whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild |
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| options | <code>object</code> | | an object used to control build behavior |
| [options.cleanPublic] | <code>bool</code> | <code>true</code> | whether or not to delete the configured output location (usually `public/`) before build |
| [options.data] | <code>object</code> | <code>{}</code> | additional data to be merged with global data prior to build |
| [options.watch] | <code>bool</code> | <code>true</code> | whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild |

<a name="patternlab+getDefaultConfig"></a>

Expand Down Expand Up @@ -122,11 +122,11 @@ Builds patterns only, leaving existing user interface files intact
**Kind**: instance property of [<code>patternlab</code>](#patternlab)
**Returns**: <code>Promise</code> - a promise fulfilled when build is complete

| Param | Type | Description |
| --- | --- | --- |
| options | <code>object</code> | an object used to control build behavior |
| options.cleanPublic | <code>bool</code> | whether or not to delete the configured output location (usually `public/`) before build |
| options.data | <code>object</code> | additional data to be merged with global data prior to build |
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options.cleanPublic] | <code>bool</code> | <code>true</code> | whether or not to delete the configured output location (usually `public/`) before build |
| [options.data] | <code>object</code> | <code>{}</code> | additional data to be merged with global data prior to build |
| [options.watch] | <code>bool</code> | <code>true</code> | whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild |

<a name="patternlab.getDefaultConfig"></a>

Expand Down Expand Up @@ -162,12 +162,12 @@ Build patterns, copies assets, and constructs user interface. Watches configured
**Kind**: static method of [<code>server</code>](#patternlab.server)
**Returns**: <code>Promise</code> - a promise fulfilled when build is complete

| Param | Type | Description |
| --- | --- | --- |
| options | <code>object</code> | an object used to control build behavior |
| options.cleanPublic | <code>bool</code> | whether or not to delete the configured output location (usually `public/`) before build |
| options.data | <code>object</code> | additional data to be merged with global data prior to build |
| options.watch | <code>bool</code> | **ALWAYS OVERRIDDEN to `true`** whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild |
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| options | <code>object</code> | | an object used to control build behavior |
| [options.cleanPublic] | <code>bool</code> | <code>true</code> | whether or not to delete the configured output location (usually `public/`) before build |
| [options.data] | <code>object</code> | <code>{}</code> | additional data to be merged with global data prior to build |
| [options.watch] | <code>bool</code> | <code>true</code> | whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild |

<a name="patternlab.server.reload"></a>

Expand Down
2 changes: 1 addition & 1 deletion packages/core/docs/events.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Pattern Lab emits numerous events during the [build](../docs/) process. Some uses of events:

* Core uses `patternlab-pattern-change` events when watching for changes in order to trigger another build
* Plugins such as [plugin-node-tab](https://github.com/pattern-lab/plugin-node-tab) can use an event like `patternlab-pattern-write-end` to define additional code tabs to the pattern viewer / modal
* Plugins such as [plugin-tab](https://github.com/pattern-lab/patternlab-node/tree/master/packages/plugin-tab) can use an event like `patternlab-pattern-write-end` to define additional code tabs to the pattern viewer / modal

Learn more about [Creating Plugins](https://github.com/pattern-lab/patternlab-node/wiki/Creating-Plugins).

Expand Down
21 changes: 10 additions & 11 deletions packages/core/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,9 @@ const patternlab_module = function(config) {
* @name build
* @instance
* @param {object} options an object used to control build behavior
* @param {bool} options.cleanPublic whether or not to delete the configured output location (usually `public/`) before build
* @param {object} options.data additional data to be merged with global data prior to build
* @param {bool} options.watch whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
* @param {bool} [options.cleanPublic=true] whether or not to delete the configured output location (usually `public/`) before build
* @param {object} [options.data={}] additional data to be merged with global data prior to build
* @param {bool} [options.watch=true] whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
* @emits PATTERNLAB_BUILD_START
* @emits PATTERNLAB_BUILD_END
* @see {@link ./events.md|all events}
Expand Down Expand Up @@ -231,9 +231,9 @@ const patternlab_module = function(config) {
* @memberof patternlab
* @name patternsonly
* @instance
* @param {object} options an object used to control build behavior
* @param {bool} options.cleanPublic whether or not to delete the configured output location (usually `public/`) before build
* @param {object} options.data additional data to be merged with global data prior to build
* @param {bool} [options.cleanPublic=true] whether or not to delete the configured output location (usually `public/`) before build
* @param {object} [options.data={}] additional data to be merged with global data prior to build
* @param {bool} [options.watch=true] whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
* @returns {Promise} a promise fulfilled when build is complete
*/
patternsonly: function(options) {
Expand Down Expand Up @@ -264,15 +264,14 @@ const patternlab_module = function(config) {
* @method serve
* @memberof patternlab.server
* @param {object} options an object used to control build behavior
* @param {bool} options.cleanPublic whether or not to delete the configured output location (usually `public/`) before build
* @param {object} options.data additional data to be merged with global data prior to build
* @param {bool} options.watch **ALWAYS OVERRIDDEN to `true`** whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
* @param {bool} [options.cleanPublic=true] whether or not to delete the configured output location (usually `public/`) before build
* @param {object} [options.data={}] additional data to be merged with global data prior to build
* @param {bool} [options.watch=true] whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
* @returns {Promise} a promise fulfilled when build is complete
*/
serve: options => {
const _options = Object.assign({}, options, { watch: true });
return _api
.build(_options)
.build(options)
.then(() => server.serve())
.catch(e =>
logger.error(`error inside core index.js server serve: ${e}`)
Expand Down