Skip to content

Commit 13ea8bd

Browse files
committed
Move and update package
1 parent 86f0d0a commit 13ea8bd

16 files changed

Lines changed: 442 additions & 134 deletions

File tree

tools/scaffold/pkg-json/README.md renamed to lib/node_modules/@stdlib/_tools/scaffold/package-json/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
## Usage
1818

1919
```javascript
20-
var create = require( '@stdlib/tools/scaffold/pkg-json' );
20+
var create = require( '@stdlib/_tools/scaffold/package-json' );
2121
```
2222

2323
#### create( \[options] )
@@ -115,7 +115,7 @@ var pkg = create( opts );
115115
## Examples
116116

117117
```javascript
118-
var create = require( '@stdlib/tools/scaffold/pkg-json' );
118+
var create = require( '@stdlib/_tools/scaffold/package-json' );
119119

120120
var opts = {
121121
'name': '@stdlib/math/base/special/erf',
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#!/usr/bin/env node
2+
'use strict';
3+
4+
// MODULES //
5+
6+
var resolve = require( 'path' ).resolve;
7+
var readFileSync = require( '@stdlib/fs/read-file' ).sync;
8+
var CLI = require( '@stdlib/tools/cli' );
9+
var create = require( './../lib' );
10+
11+
12+
// MAIN //
13+
14+
/**
15+
* Main execution sequence.
16+
*
17+
* @private
18+
* @returns {void}
19+
*/
20+
function main() {
21+
var flags;
22+
var space;
23+
var opts;
24+
var cli;
25+
var pkg;
26+
27+
// Create a command-line interface:
28+
cli = new CLI({
29+
'pkg': require( './../package.json' ),
30+
'options': require( './../etc/cli_opts.json' ),
31+
'help': readFileSync( resolve( __dirname, '..', 'docs', 'usage.txt' ), {
32+
'encoding': 'utf8'
33+
})
34+
});
35+
36+
// Get any provided command-line flags:
37+
flags = cli.flags();
38+
39+
opts = {};
40+
if ( flags.name ) {
41+
opts.name = flags.name;
42+
}
43+
if ( flags.desc ) {
44+
opts.desc = flags.desc;
45+
}
46+
if ( flags.keywords ) {
47+
opts.keywords = flags.keywords.split( ',' );
48+
}
49+
if ( flags.cmd ) {
50+
opts.cmd = flags.cmd;
51+
}
52+
if ( flags.browser ) {
53+
opts.browser = flags.browser;
54+
}
55+
if ( flags.space ) {
56+
space = parseInt( flags.space, 10 );
57+
} else {
58+
space = 2;
59+
}
60+
61+
pkg = create( opts );
62+
if ( flags.compact ) {
63+
console.log( JSON.stringify( pkg ) ); // eslint-disable-line no-console
64+
} else {
65+
console.log( JSON.stringify( pkg, null, space ) ); // eslint-disable-line no-console
66+
}
67+
} // end FUNCTION main()
68+
69+
main();

tools/scaffold/pkg-json/bin/usage.txt renamed to lib/node_modules/@stdlib/_tools/scaffold/package-json/docs/usage.txt

File renamed without changes.

tools/scaffold/pkg-json/bin/opts.json renamed to lib/node_modules/@stdlib/_tools/scaffold/package-json/etc/cli_opts.json

File renamed without changes.

tools/scaffold/pkg-json/examples/index.js renamed to lib/node_modules/@stdlib/_tools/scaffold/package-json/examples/index.js

File renamed without changes.

tools/scaffold/pkg-json/lib/create.js renamed to lib/node_modules/@stdlib/_tools/scaffold/package-json/lib/create.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
// MODULES //
44

55
var copy = require( '@stdlib/utils/copy' );
6+
var contains = require( '@stdlib/assert/contains' );
67
var hasOwnProp = require( '@stdlib/assert/has-own-property' );
7-
var pkg = require( './../../../snippets/package.json' );
8+
var pkg = require( './../../../../../../../tools/snippets/package.json' ); // TODO: Replace once snippets can be required without walking the tree
89
var standardize = require( '@stdlib/_tools/package-json/standardize' );
910
var defaults = require( './defaults.json' );
1011
var validate = require( './validate.js' );
@@ -58,7 +59,11 @@ function create( options ) {
5859
out.description = opts.desc;
5960
}
6061
if ( hasOwnProp( opts, 'keywords' ) ) {
61-
out.keywords = [ 'stdlib' ].concat( opts.keywords );
62+
if ( contains( opts.keywords, 'stdlib' ) ) {
63+
out.keywords = opts.keywords;
64+
} else {
65+
out.keywords = [ 'stdlib' ].concat( opts.keywords );
66+
}
6267
}
6368
if ( hasOwnProp( opts, 'cmd' ) ) {
6469
out.bin = {};

tools/scaffold/pkg-json/lib/defaults.json renamed to lib/node_modules/@stdlib/_tools/scaffold/package-json/lib/defaults.json

File renamed without changes.

tools/scaffold/pkg-json/lib/index.js renamed to lib/node_modules/@stdlib/_tools/scaffold/package-json/lib/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
/**
44
* Create a `package.json`.
55
*
6-
* @module @stdlib/tools/scaffold/pkg-json
6+
* @module @stdlib/_tools/scaffold/package-json
77
*
88
* @example
9-
* var create = require( '@stdlib/tools/scaffold/pkg-json' );
9+
* var create = require( '@stdlib/_tools/scaffold/package-json' );
1010
*
1111
* var pkg = create({
1212
* 'name': '@stdlib/math/base/special/erf',

tools/scaffold/pkg-json/lib/validate.js renamed to lib/node_modules/@stdlib/_tools/scaffold/package-json/lib/validate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ var isStringArray = require( '@stdlib/assert/is-string-array' ).primitives;
1010

1111
// VARIABLES //
1212

13-
var RE = /^\@stdlib\/.+/;
13+
var RE = /^@stdlib\/.+/;
1414

1515

1616
// MAIN //

tools/scaffold/pkg-json/package.json renamed to lib/node_modules/@stdlib/_tools/scaffold/package-json/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "@stdlib/tools/scaffold/pkg-json",
2+
"name": "@stdlib/_tools/scaffold/package-json",
33
"version": "0.0.0",
44
"description": "Create a package.json.",
55
"author": {
@@ -25,6 +25,7 @@
2525
"keywords": [
2626
"stdlib",
2727
"tools",
28+
"tool",
2829
"scaffold",
2930
"package",
3031
"pkg",

0 commit comments

Comments
 (0)