Skip to content

Commit 8330127

Browse files
Merge pull request #942 from pattern-lab/917-duplicate-output
917 duplicate output
2 parents b89d0dd + 830c568 commit 8330127

File tree

8 files changed

+34
-64
lines changed

8 files changed

+34
-64
lines changed

packages/cli/bin/cli-actions/build.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
'use strict';
22
const buildPatterns = require('../build');
3-
const copyFiles = require('../copy-source-files');
43
const resolveConfig = require('../resolve-config');
54
const { error, info, wrapAsync } = require('../utils');
65

76
const build = options =>
87
wrapAsync(function*() {
98
try {
109
const config = yield resolveConfig(options.parent.config);
11-
yield copyFiles(config.paths);
1210
yield buildPatterns(config, options);
1311
info(`build: Yay, your Pattern Lab project was successfully built ☺`);
1412
} catch (err) {

packages/cli/bin/cli-actions/serve.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
'use strict';
22
const resolveConfig = require('../resolve-config');
3-
const build = require('./build');
43
const servePatterns = require('../serve');
54
const wrapAsync = require('../utils').wrapAsync;
65

76
const serve = options =>
87
wrapAsync(function*() {
98
const config = yield resolveConfig(options.parent.config);
10-
yield build(options);
11-
servePatterns(config, options.watch);
9+
servePatterns(config, options);
1210
});
1311

1412
module.exports = serve;

packages/cli/bin/copy-source-files.js

Lines changed: 0 additions & 27 deletions
This file was deleted.

packages/cli/bin/patternlab.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ cli
5757
.alias('compile')
5858
.description('Build Pattern Lab. Optionally (re-)build only the patterns')
5959
.option('-p, --patterns-only', 'Whether to only build patterns')
60+
.option('--no-watch', 'Start watching for changes')
6061
.action(build);
6162

6263
/**
@@ -130,7 +131,7 @@ cli
130131
.command('serve')
131132
.alias('browse')
132133
.description('Starts a server to inspect files in browser')
133-
.option('-w, --watch', 'Start watching for changes')
134+
.option('--no-watch', 'Start watching for changes')
134135
.action(serve);
135136

136137
// Show additional help

packages/cli/bin/serve.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ const { error, info } = require('./utils');
99
* @func serve
1010
* @desc Start a browser-sync server in the Pattern Lab public dir
1111
* @param {object} config - The passed Pattern Lab config
12+
* @param {object} options - The passed options at invocation time
1213
*/
13-
function serve(config) {
14+
function serve(config, options) {
1415
if (!isValidConfig) {
1516
throw new TypeError(
1617
'serve: Expects config not to be empty and of type object.'
@@ -37,7 +38,7 @@ function serve(config) {
3738
try {
3839
info(`serve: Serving your files …`);
3940
const pl = patternlab(config);
40-
pl.server.serve({});
41+
pl.server.serve(options);
4142
} catch (err) {
4243
error(err);
4344
}

packages/core/docs/README.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,12 @@ Builds patterns, copies assets, and constructs user interface
6363
**Emits**: <code>event:PATTERNLAB_BUILD_START</code>, <code>event:PATTERNLAB_BUILD_END</code>
6464
**See**: [all events](./events.md)
6565

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

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

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

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

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

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

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

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

packages/core/docs/events.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
Pattern Lab emits numerous events during the [build](../docs/) process. Some uses of events:
66

77
* Core uses `patternlab-pattern-change` events when watching for changes in order to trigger another build
8-
* 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
8+
* 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
99

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

packages/core/src/index.js

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ const patternlab_module = function(config) {
8484
* @name build
8585
* @instance
8686
* @param {object} options an object used to control build behavior
87-
* @param {bool} options.cleanPublic whether or not to delete the configured output location (usually `public/`) before build
88-
* @param {object} options.data additional data to be merged with global data prior to build
89-
* @param {bool} options.watch whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
87+
* @param {bool} [options.cleanPublic=true] whether or not to delete the configured output location (usually `public/`) before build
88+
* @param {object} [options.data={}] additional data to be merged with global data prior to build
89+
* @param {bool} [options.watch=true] whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
9090
* @emits PATTERNLAB_BUILD_START
9191
* @emits PATTERNLAB_BUILD_END
9292
* @see {@link ./events.md|all events}
@@ -231,9 +231,9 @@ const patternlab_module = function(config) {
231231
* @memberof patternlab
232232
* @name patternsonly
233233
* @instance
234-
* @param {object} options an object used to control build behavior
235-
* @param {bool} options.cleanPublic whether or not to delete the configured output location (usually `public/`) before build
236-
* @param {object} options.data additional data to be merged with global data prior to build
234+
* @param {bool} [options.cleanPublic=true] whether or not to delete the configured output location (usually `public/`) before build
235+
* @param {object} [options.data={}] additional data to be merged with global data prior to build
236+
* @param {bool} [options.watch=true] whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
237237
* @returns {Promise} a promise fulfilled when build is complete
238238
*/
239239
patternsonly: function(options) {
@@ -264,15 +264,14 @@ const patternlab_module = function(config) {
264264
* @method serve
265265
* @memberof patternlab.server
266266
* @param {object} options an object used to control build behavior
267-
* @param {bool} options.cleanPublic whether or not to delete the configured output location (usually `public/`) before build
268-
* @param {object} options.data additional data to be merged with global data prior to build
269-
* @param {bool} options.watch **ALWAYS OVERRIDDEN to `true`** whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
267+
* @param {bool} [options.cleanPublic=true] whether or not to delete the configured output location (usually `public/`) before build
268+
* @param {object} [options.data={}] additional data to be merged with global data prior to build
269+
* @param {bool} [options.watch=true] whether or not Pattern Lab should watch configured `source/` directories for changes to rebuild
270270
* @returns {Promise} a promise fulfilled when build is complete
271271
*/
272272
serve: options => {
273-
const _options = Object.assign({}, options, { watch: true });
274273
return _api
275-
.build(_options)
274+
.build(options)
276275
.then(() => server.serve())
277276
.catch(e =>
278277
logger.error(`error inside core index.js server serve: ${e}`)

0 commit comments

Comments
 (0)