taste 0.2.43 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,57 +1,153 @@
1
- taste
2
- ==========
1
+ # Taste CLI
3
2
 
4
- Simple wrapper around testing libraries used by GetHuman. This library would be helpful to anyone
5
- who uses the same testing stack as we do. That includes:
3
+ Manage taste learning packages for Command Code.
6
4
 
7
- * Mocha
8
- * Chai
9
- * Sinon
10
- * Karma
11
- * Protractor
12
- * Gulp
13
- * Q
14
- * JSHint
15
- * Istanbul
5
+ ## Usage
16
6
 
17
- If you don't use all of these, this library won't likely be very helpful for you. If you do, however,
18
- then just include this as a dev dependency and it should save you a lot of keystrokes as well
19
- as unnecessary cruft in your tests.
7
+ No installation required! Use with npx:
20
8
 
21
- ## Installation
9
+ ```bash
10
+ npx taste pull [package-name]
11
+ npx taste push [package-name]
12
+ npx taste list
13
+ ```
14
+
15
+ ## Installation (Optional)
16
+
17
+ For frequent use, install globally:
18
+
19
+ ```bash
20
+ npm install -g taste
21
+ ```
22
+
23
+ Then use directly:
24
+
25
+ ```bash
26
+ taste pull [package-name]
27
+ taste push [package-name]
28
+ ```
29
+
30
+ ## Commands
31
+
32
+ ### Pull Taste Package
33
+
34
+ Pull taste packages from storage to your project:
35
+
36
+ ```bash
37
+ npx taste pull [package-name]
38
+ npx taste pull --all # Pull all packages
39
+ npx taste pull -g [package-name] # Pull from global storage
40
+ ```
41
+
42
+ ### Push Taste Package
43
+
44
+ Push taste packages from your project to storage:
45
+
46
+ ```bash
47
+ npx taste push [package-name]
48
+ npx taste push --all # Push all packages
49
+ npx taste push -g [package-name] # Push to global storage
50
+ npx taste push --overwrite # Overwrite instead of merge
51
+ ```
52
+
53
+ ### List Packages
22
54
 
23
- To install simply run the following from the command line in your project root:
55
+ List available taste packages:
24
56
 
57
+ ```bash
58
+ npx taste list
59
+ npx taste list -g # List global packages
60
+ npx taste list --remote # List remote packages
25
61
  ```
26
- npm install taste --save-dev
62
+
63
+ ### Delete Package
64
+
65
+ Delete a taste package:
66
+
67
+ ```bash
68
+ npx taste delete <package-name>
69
+ npx taste delete -g <package-name> # Delete from global storage
27
70
  ```
28
71
 
29
- Then in the Gulpfile.js that should be in your project root (because you are using Gulp, right?), put this near the top:
72
+ ### Lint Package
30
73
 
74
+ Validate taste file format and structure:
75
+
76
+ ```bash
77
+ npx taste lint [package-name]
78
+ npx taste lint --all # Lint all packages
79
+ npx taste lint -g [package-name] # Lint global packages
31
80
  ```
32
- // in your gulp file or mocha init file (depending on how you run your tests)
33
- var taste = require('taste');
34
- taste.firstBite('../path/to/root/dir');
35
81
 
36
- // in each test spec file
37
- var taste = require('taste');
38
- describe('something to test', function () {
39
- it('should do something', function () {
40
- taste.should.exist(blah);
41
- var fn = taste.spy();
42
- // etc.
43
- });
44
- });
82
+ ### Open Package
83
+
84
+ Open a taste package in your editor:
85
+
86
+ ```bash
87
+ npx taste open <package-name>
88
+ npx taste open -g <package-name> # Open from global storage
89
+ ```
90
+
91
+ ### Update CLI
92
+
93
+ Update taste CLI to the latest version:
94
+
95
+ ```bash
96
+ npx taste update
97
+ ```
98
+
99
+ ### Other Commands
100
+
101
+ ```bash
102
+ npx taste -v # Show version
103
+ npx taste --version # Show version
104
+ npx taste -h # Show help
105
+ npx taste --help # Show help
106
+ ```
107
+
108
+ ## What is Taste?
109
+
110
+ Taste packages allow you to customize Command Code's behavior and preferences. Share your configurations, workflows, and preferences with your team or the community.
111
+
112
+ ## Authentication
113
+
114
+ Authentication is handled automatically by Command Code. The first time you use a command that requires authentication, you'll be prompted to log in.
115
+
116
+ ## Development
117
+
118
+ ```bash
119
+ # Install dependencies
120
+ pnpm install
121
+
122
+ # Build
123
+ pnpm build
124
+
125
+ # Development mode with auto-reload
126
+ pnpm dev
127
+
128
+ # Test locally with npm link
129
+ npm link
130
+ taste -v
131
+ ```
132
+
133
+ ## About
134
+
135
+ Taste CLI is a wrapper for Command Code's taste commands, providing a quick and convenient way to manage your taste packages.
136
+
137
+ For more information about Command Code, visit [commandcode.ai](https://commandcode.ai)
138
+
139
+ ## License
140
+
141
+ UNLICENSED
45
142
 
46
- ## API
143
+ ## Keywords
47
144
 
48
- The taste object has the following functions that you can use in your test spec:
49
-
50
- * spy - Exposed sinon.spy
51
- * expect - Exposed chai.expect
52
- * should - Exposed chai.should()
53
- * firstByte - To set the root dir for the app
54
- * all - Does a Q.all() and then calls the mocha done() function once everything has resolved
55
- * eventuallyEqual, eventuallyFulfilled, eventuallyRejected, eventuallyRejectedWith - Extra sugar on top of chai-as-promised
56
- * copy - Copy an object
57
- * target - Do require to get a module to be tested without using relative path (go from project root)
145
+ - cli
146
+ - taste
147
+ - commandcode
148
+ - command-code
149
+ - preferences
150
+ - ai
151
+ - coding-agent
152
+ - langbase
153
+ - developer-tools
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import{spawn as o}from"child_process";import{readFileSync as e}from"fs";import{fileURLToPath as a}from"url";import{dirname as t,join as n}from"path";import{Command as s}from"commander";var r=t(a(import.meta.url)),l=JSON.parse(e(n(r,"../package.json"),"utf-8")),i=new s;i.name("taste").description("Manage taste learning packages by CommandCode").version(l.version,"-v, --version","output the version number").allowUnknownOption().helpOption("-h, --help","display help for command"),i.command("push [package]").description("Push packages from project to remote or global storage").option("-g, --global","Push to global storage").option("--all","Push all packages").option("--overwrite","Overwrite instead of merge (default: merge)").option("--dev","Push to dev environment").allowUnknownOption().action(()=>{}),i.command("pull [package]").description("Pull packages from storage to project").option("-g, --global","Pull from global storage").option("--all","Pull all packages").option("--dev","Pull from dev environment").allowUnknownOption().action(()=>{}),i.command("list").description("List available packages").option("-g, --global","List global packages").option("--remote","List remote packages").option("--dev","Use dev environment").allowUnknownOption().action(()=>{}),i.command("delete <package>").description("Delete a package").option("-g, --global","Delete from global storage").option("--dev","Use dev environment").allowUnknownOption().action(()=>{}),i.command("lint [package]").description("Validate taste file format and structure").option("-g, --global","Lint global packages").option("--all","Lint all packages").allowUnknownOption().action(()=>{}),i.command("open <package>").description("Open a package in your editor").option("-g, --global","Open from global storage").option("--dev","Use dev environment").allowUnknownOption().action(()=>{}),i.command("update").description("Update taste CLI to the latest version").action(async()=>{console.log("Updating taste CLI...");const{execSync:o}=await import("child_process");try{o("npm install -g taste@latest",{stdio:"inherit"}),console.log("\n✅ Taste CLI updated successfully!"),console.log('Run "taste -v" to see the new version.')}catch(o){console.error("\n❌ Failed to update taste CLI"),console.error("Please try manually: npm install -g taste@latest"),process.exit(1)}});var p=process.argv.includes("--version")||process.argv.includes("-v"),c=process.argv.includes("--help")||process.argv.includes("-h")||2===process.argv.length,g="update"===process.argv[2];if(p||c||g)i.parse(process.argv);else{const e=o("npx",["command-code","taste",...process.argv.slice(2)],{stdio:"inherit",env:process.env});e.on("error",o=>{console.error("Error: Failed to execute command-code"),console.error(o.message),process.exit(1)}),e.on("exit",o=>{process.exit(o??0)})}
package/package.json CHANGED
@@ -1,30 +1,54 @@
1
1
  {
2
2
  "name": "taste",
3
- "version": "0.2.43",
4
- "description": "Wrapper around testing libraries used by GetHuman",
5
- "main": "lib/taste.js",
3
+ "version": "0.3.1",
4
+ "description": "Taste CLI to manage CommandCode taste",
5
+ "type": "module",
6
+ "main": "dist/index.mjs",
7
+ "bin": {
8
+ "taste": "dist/index.mjs"
9
+ },
10
+ "keywords": [
11
+ "taste",
12
+ "ai",
13
+ "coding-agent",
14
+ "langbase",
15
+ "command-code",
16
+ "developer-tools",
17
+ "cli"
18
+ ],
19
+ "author": {
20
+ "name": "Langbase",
21
+ "url": "https://Langbase.com/docs"
22
+ },
23
+ "license": "UNLICENSED",
6
24
  "repository": {
7
25
  "type": "git",
8
- "url": "git://github.com/gethuman/taste.git"
26
+ "url": "https://github.com/langbase/command-code",
27
+ "directory": "packages/taste"
9
28
  },
10
- "keywords": [
11
- "javascript",
12
- "testing"
29
+ "files": [
30
+ "dist",
31
+ "README.md"
13
32
  ],
14
- "author": "Jeff Whelpley",
15
- "license": "MIT",
16
- "bugs": {
17
- "url": "https://github.com/gethuman/taste/issues"
33
+ "private": false,
34
+ "publishConfig": {
35
+ "access": "public"
18
36
  },
19
- "homepage": "https://github.com/gethuman/taste",
20
37
  "dependencies": {
21
- "chai": "3.5.0",
22
- "chai-as-promised": "6.0.0",
23
- "lodash": "^4.17.4",
24
- "q": "1.4.1",
25
- "sinon": "^1.17.7",
26
- "sinon-chai": "2.8.0",
27
- "yargs": "^6.6.0"
38
+ "commander": "^14.0.0",
39
+ "command-code": "0.0.4-alpha.38"
40
+ },
41
+ "devDependencies": {
42
+ "@types/node": "^24.2.0",
43
+ "tsup": "^8.5.0",
44
+ "typescript": "^5.9.2"
28
45
  },
29
- "devDependencies": {}
30
- }
46
+ "scripts": {
47
+ "build": "tsup",
48
+ "build:obfuscated": "tsup --config tsup.config.obfuscated.ts",
49
+ "build:balanced": "tsup --config tsup.config.balanced.ts",
50
+ "dev": "tsup --watch",
51
+ "typecheck": "tsc --noEmit",
52
+ "publish:prod": "pnpm run build:obfuscated && npm publish --access public"
53
+ }
54
+ }
package/.eslintrc DELETED
@@ -1,147 +0,0 @@
1
- {
2
- "env": {
3
- "browser": true,
4
- "mocha": true,
5
- "node": true
6
- },
7
- "rules": {
8
- "comma-dangle": 0,
9
- "no-cond-assign": 2,
10
- "no-console": 1,
11
- "no-constant-condition": 2,
12
- "no-control-regex": 2,
13
- "no-debugger": 2,
14
- "no-dupe-keys": 2,
15
- "no-duplicate-case": 2,
16
- "no-empty": 2,
17
- "no-empty-character-class": 2,
18
- "no-ex-assign": 2,
19
- "no-extra-boolean-cast": 2,
20
- "no-extra-parens": 0,
21
- "no-extra-semi": 2,
22
- "no-func-assign": 2,
23
- "no-inner-declarations": 2,
24
- "no-invalid-regexp": 2,
25
- "no-irregular-whitespace": 2,
26
- "no-negated-in-lhs": 2,
27
- "no-obj-calls": 2,
28
- "no-regex-spaces": 2,
29
- "quote-props": 0,
30
- "no-sparse-arrays": 2,
31
- "no-unreachable": 2,
32
- "use-isnan": 2,
33
- "valid-jsdoc": 0,
34
- "valid-typeof": 2,
35
- "block-scoped-var": 2,
36
- "complexity": 0,
37
- "consistent-return": 2,
38
- "curly": 2,
39
- "default-case": 1,
40
- "dot-notation": 0,
41
- "eqeqeq": 1,
42
- "guard-for-in": 1,
43
- "no-alert": 1,
44
- "no-caller": 2,
45
- "no-div-regex": 2,
46
- "no-else-return": 0,
47
- "no-labels": 2,
48
- "no-eq-null": 1,
49
- "no-eval": 2,
50
- "no-extend-native": 2,
51
- "no-extra-bind": 2,
52
- "no-fallthrough": 2,
53
- "no-floating-decimal": 2,
54
- "no-implied-eval": 2,
55
- "no-iterator": 2,
56
- "no-lone-blocks": 2,
57
- "no-loop-func": 1,
58
- "no-multi-spaces": 0,
59
- "no-multi-str": 2,
60
- "no-native-reassign": 2,
61
- "no-new": 2,
62
- "no-new-func": 2,
63
- "no-new-wrappers": 2,
64
- "no-octal": 2,
65
- "no-octal-escape": 2,
66
- "no-param-reassign": 0,
67
- "no-process-env": 2,
68
- "no-proto": 2,
69
- "no-redeclare": 1,
70
- "no-return-assign": 2,
71
- "no-script-url": 2,
72
- "no-self-compare": 2,
73
- "no-sequences": 2,
74
- "no-unused-expressions": 0,
75
- "no-void": 1,
76
- "no-warning-comments": 0,
77
- "no-with": 2,
78
- "radix": 2,
79
- "vars-on-top": 0,
80
- "wrap-iife": [2, "any"],
81
- "yoda": 0,
82
- "strict": [2, "never"],
83
- "no-catch-shadow": 2,
84
- "no-delete-var": 2,
85
- "no-label-var": 2,
86
- "no-shadow": 2,
87
- "no-shadow-restricted-names": 2,
88
- "no-undef": 2,
89
- "no-undef-init": 2,
90
- "no-undefined": 0,
91
- "no-unused-vars": 2,
92
- "no-use-before-define": 0,
93
- "handle-callback-err": 2,
94
- "no-mixed-requires": 1,
95
- "no-new-require": 2,
96
- "no-path-concat": 2,
97
- "no-process-exit": 2,
98
- "no-restricted-modules": 0,
99
- "no-sync": 0,
100
- "indent": [2, 4, {"SwitchCase": 1}],
101
- "brace-style": [2, "stroustrup", { "allowSingleLine": true }],
102
- "camelcase": 1,
103
- "comma-spacing": [2, { "before": false, "after": true }],
104
- "comma-style": [2, "last"],
105
- "consistent-this": 0,
106
- "eol-last": 0,
107
- "func-names": 0,
108
- "func-style": 0,
109
- "key-spacing": 0,
110
- "max-nested-callbacks": 0,
111
- "new-cap": 1,
112
- "new-parens": 2,
113
- "newline-after-var": 0,
114
- "no-array-constructor": 2,
115
- "no-inline-comments": 0,
116
- "no-lonely-if": 1,
117
- "no-mixed-spaces-and-tabs": 2,
118
- "no-multiple-empty-lines": [2, { "max": 2 }],
119
- "no-nested-ternary": 0,
120
- "no-new-object": 2,
121
- "no-spaced-func": 2,
122
- "no-ternary": 0,
123
- "no-trailing-spaces": 2,
124
- "no-underscore-dangle": 0,
125
- "one-var": 0,
126
- "operator-assignment": 0,
127
- "padded-blocks": 0,
128
- "quotes": [2, "single", "avoid-escape"],
129
- "semi": [2, "always"],
130
- "semi-spacing": [2, {"before": false, "after": true}],
131
- "sort-vars": 0,
132
- "keyword-spacing": 2,
133
- "space-before-blocks": [2, "always"],
134
- "space-before-function-paren": [2, {"anonymous": "always", "named": "never"}],
135
- "space-in-brackets": 0,
136
- "space-in-parens": 0,
137
- "space-infix-ops": 2,
138
- "space-unary-ops": [1, { "words": true, "nonwords": false }],
139
- "spaced-line-comment": 0,
140
- "wrap-regex": 0,
141
- "max-depth": 0,
142
- "max-len": 0,
143
- "max-statements": 0,
144
- "no-bitwise": 1,
145
- "no-plusplus": 0
146
- }
147
- }
package/.npmignore DELETED
@@ -1,9 +0,0 @@
1
- .idea
2
- node_modules
3
- bower_components
4
- test/coverage
5
- config/env.js
6
- newrelic_agent.log
7
- coverage.html
8
- dist
9
- temp
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2015 GetHuman LLC
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
package/lib/taste.js DELETED
@@ -1,137 +0,0 @@
1
- /**
2
- * Author: Jeff Whelpley
3
- * Date: 10/25/2014
4
- *
5
- * This is a wrapper for all libs needed for testing
6
- */
7
- var _ = require('lodash');
8
- var Q = require('q');
9
- var sinon = require('sinon');
10
- var chai = require('chai');
11
- var sinonChai = require('sinon-chai');
12
- var chaiAsPromised = require('chai-as-promised');
13
- var path = require('path');
14
- var argv = require('yargs').argv;
15
- var targetDir;
16
-
17
- Q.longStackSupport = true;
18
-
19
- chai.use(sinonChai);
20
- chai.use(chaiAsPromised);
21
- //chai.config.truncateThreshold = 0;
22
-
23
- /**
24
- * Initialize taste with the input params
25
- * @param dir
26
- */
27
- function firstBite(dir) {
28
- targetDir = dir || path.join(__dirname, '../../..');
29
-
30
- if (targetDir.substring(targetDir.length - 1) === '/') {
31
- targetDir = targetDir.substring(0, targetDir.length - 1);
32
- }
33
- }
34
-
35
- /**
36
- * Used to wrap all promises
37
- * @param promises
38
- * @param done Optional param if it exists, will do notify at end
39
- * @returns {*|Promise.<Array.<Object>>}
40
- */
41
- function all(promises, done) {
42
- Q.all(promises).should.notify(done);
43
- }
44
-
45
- /**
46
- * Shorthand for just making sure a promise eventually equals a value
47
- * @param promise
48
- * @param expected
49
- * @param done
50
- */
51
- function eventuallyEqual(promise, expected, done) {
52
- all([
53
- promise.should.be.fulfilled,
54
- promise.should.eventually.deep.equal(expected)
55
- ], done);
56
- }
57
-
58
- /**
59
- * Shorthand for making sure promise eventually fulfilled
60
- * @param promise
61
- * @param done
62
- */
63
- function eventuallyFulfilled(promise, done) {
64
- all([
65
- promise.should.be.fulfilled
66
- ], done);
67
- }
68
-
69
- /**
70
- * Shorthand for making sure the promise will eventually be rejected
71
- * @param promise
72
- * @param done
73
- */
74
- function eventuallyRejected(promise, done) {
75
- all([
76
- promise.should.be.rejected
77
- ], done);
78
- }
79
-
80
- /**
81
- * Shorthand for making sure the promise will eventually be rejected
82
- * @param promise
83
- * @param expected
84
- * @param done
85
- */
86
- function eventuallyRejectedWith(promise, expected, done) {
87
- all([
88
- promise.should.be.rejectedWith(expected)
89
- ], done);
90
- }
91
-
92
- /**
93
- * Create copy of an object
94
- * @param obj
95
- * @returns {*}
96
- */
97
- function copy(obj) {
98
- return JSON.parse(JSON.stringify(obj));
99
- }
100
-
101
- /**
102
- * Convienice method for getting a module
103
- * @param relativePath
104
- */
105
- function target(relativePath) {
106
- return require(targetDir + '/' + relativePath);
107
- }
108
-
109
- /**
110
- * Add command line arguments to a given object
111
- * @param obj
112
- */
113
- function addCommandLineArgs(obj) {
114
- _.extend(obj, argv);
115
- delete obj.$0;
116
- delete obj._;
117
- }
118
-
119
- module.exports = {
120
- delim: path.normalize('/'),
121
- firstBite: firstBite,
122
- all: all,
123
- eventuallyEqual: eventuallyEqual,
124
- eventuallyFulfilled: eventuallyFulfilled,
125
- eventuallyRejected: eventuallyRejected,
126
- eventuallyRejectedWith: eventuallyRejectedWith,
127
- copy: copy,
128
- target: target,
129
- addCommandLineArgs: addCommandLineArgs,
130
-
131
- spy: sinon.spy,
132
- stub: sinon.stub,
133
- expect: chai.expect,
134
- should: chai.should()
135
- };
136
-
137
-
package/yarn.lock DELETED
@@ -1,349 +0,0 @@
1
- # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
- # yarn lockfile v1
3
- ansi-regex@^2.0.0:
4
- version "2.0.0"
5
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107"
6
-
7
- assertion-error@^1.0.1:
8
- version "1.0.2"
9
- resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c"
10
-
11
- builtin-modules@^1.0.0:
12
- version "1.1.1"
13
- resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
14
-
15
- camelcase@^3.0.0:
16
- version "3.0.0"
17
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
18
-
19
- chai-as-promised@6.0.0:
20
- version "6.0.0"
21
- resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-6.0.0.tgz#1a02a433a6f24dafac63b9c96fa1684db1aa8da6"
22
- dependencies:
23
- check-error "^1.0.2"
24
-
25
- chai@3.5.0:
26
- version "3.5.0"
27
- resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247"
28
- dependencies:
29
- assertion-error "^1.0.1"
30
- deep-eql "^0.1.3"
31
- type-detect "^1.0.0"
32
-
33
- check-error@^1.0.2:
34
- version "1.0.2"
35
- resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
36
-
37
- cliui@^3.2.0:
38
- version "3.2.0"
39
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
40
- dependencies:
41
- string-width "^1.0.1"
42
- strip-ansi "^3.0.1"
43
- wrap-ansi "^2.0.0"
44
-
45
- code-point-at@^1.0.0:
46
- version "1.0.1"
47
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.0.1.tgz#1104cd34f9b5b45d3eba88f1babc1924e1ce35fb"
48
- dependencies:
49
- number-is-nan "^1.0.0"
50
-
51
- decamelize@^1.1.1:
52
- version "1.2.0"
53
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
54
-
55
- deep-eql@^0.1.3:
56
- version "0.1.3"
57
- resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2"
58
- dependencies:
59
- type-detect "0.1.1"
60
-
61
- error-ex@^1.2.0:
62
- version "1.3.0"
63
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9"
64
- dependencies:
65
- is-arrayish "^0.2.1"
66
-
67
- find-up@^1.0.0:
68
- version "1.1.2"
69
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
70
- dependencies:
71
- path-exists "^2.0.0"
72
- pinkie-promise "^2.0.0"
73
-
74
- formatio@1.1.1:
75
- version "1.1.1"
76
- resolved "https://registry.yarnpkg.com/formatio/-/formatio-1.1.1.tgz#5ed3ccd636551097383465d996199100e86161e9"
77
- dependencies:
78
- samsam "~1.1"
79
-
80
- get-caller-file@^1.0.1:
81
- version "1.0.2"
82
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
83
-
84
- graceful-fs@^4.1.2:
85
- version "4.1.9"
86
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29"
87
-
88
- hosted-git-info@^2.1.4:
89
- version "2.1.5"
90
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b"
91
-
92
- inherits@2.0.1:
93
- version "2.0.1"
94
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
95
-
96
- invert-kv@^1.0.0:
97
- version "1.0.0"
98
- resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
99
-
100
- is-arrayish@^0.2.1:
101
- version "0.2.1"
102
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
103
-
104
- is-builtin-module@^1.0.0:
105
- version "1.0.0"
106
- resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
107
- dependencies:
108
- builtin-modules "^1.0.0"
109
-
110
- is-fullwidth-code-point@^1.0.0:
111
- version "1.0.0"
112
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
113
- dependencies:
114
- number-is-nan "^1.0.0"
115
-
116
- is-utf8@^0.2.0:
117
- version "0.2.1"
118
- resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
119
-
120
- lcid@^1.0.0:
121
- version "1.0.0"
122
- resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
123
- dependencies:
124
- invert-kv "^1.0.0"
125
-
126
- load-json-file@^1.0.0:
127
- version "1.1.0"
128
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
129
- dependencies:
130
- graceful-fs "^4.1.2"
131
- parse-json "^2.2.0"
132
- pify "^2.0.0"
133
- pinkie-promise "^2.0.0"
134
- strip-bom "^2.0.0"
135
-
136
- lodash@4.16.4:
137
- version "4.16.4"
138
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127"
139
-
140
- lolex@1.3.2:
141
- version "1.3.2"
142
- resolved "https://registry.yarnpkg.com/lolex/-/lolex-1.3.2.tgz#7c3da62ffcb30f0f5a80a2566ca24e45d8a01f31"
143
-
144
- normalize-package-data@^2.3.2:
145
- version "2.3.5"
146
- resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df"
147
- dependencies:
148
- hosted-git-info "^2.1.4"
149
- is-builtin-module "^1.0.0"
150
- semver "2 || 3 || 4 || 5"
151
- validate-npm-package-license "^3.0.1"
152
-
153
- number-is-nan@^1.0.0:
154
- version "1.0.1"
155
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
156
-
157
- os-locale@^1.4.0:
158
- version "1.4.0"
159
- resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
160
- dependencies:
161
- lcid "^1.0.0"
162
-
163
- parse-json@^2.2.0:
164
- version "2.2.0"
165
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
166
- dependencies:
167
- error-ex "^1.2.0"
168
-
169
- path-exists@^2.0.0:
170
- version "2.1.0"
171
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
172
- dependencies:
173
- pinkie-promise "^2.0.0"
174
-
175
- path-type@^1.0.0:
176
- version "1.1.0"
177
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
178
- dependencies:
179
- graceful-fs "^4.1.2"
180
- pify "^2.0.0"
181
- pinkie-promise "^2.0.0"
182
-
183
- pify@^2.0.0:
184
- version "2.3.0"
185
- resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
186
-
187
- pinkie-promise@^2.0.0:
188
- version "2.0.1"
189
- resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
190
- dependencies:
191
- pinkie "^2.0.0"
192
-
193
- pinkie@^2.0.0:
194
- version "2.0.4"
195
- resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
196
-
197
- q@1.4.1:
198
- version "1.4.1"
199
- resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
200
-
201
- read-pkg-up@^1.0.1:
202
- version "1.0.1"
203
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
204
- dependencies:
205
- find-up "^1.0.0"
206
- read-pkg "^1.0.0"
207
-
208
- read-pkg@^1.0.0:
209
- version "1.1.0"
210
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
211
- dependencies:
212
- load-json-file "^1.0.0"
213
- normalize-package-data "^2.3.2"
214
- path-type "^1.0.0"
215
-
216
- require-directory@^2.1.1:
217
- version "2.1.1"
218
- resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
219
-
220
- require-main-filename@^1.0.1:
221
- version "1.0.1"
222
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
223
-
224
- samsam@~1.1:
225
- version "1.1.3"
226
- resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.1.3.tgz#9f5087419b4d091f232571e7fa52e90b0f552621"
227
-
228
- samsam@1.1.2:
229
- version "1.1.2"
230
- resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.1.2.tgz#bec11fdc83a9fda063401210e40176c3024d1567"
231
-
232
- "semver@2 || 3 || 4 || 5":
233
- version "5.3.0"
234
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
235
-
236
- set-blocking@^2.0.0:
237
- version "2.0.0"
238
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
239
-
240
- sinon-chai@2.8.0:
241
- version "2.8.0"
242
- resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-2.8.0.tgz#432a9bbfd51a6fc00798f4d2526a829c060687ac"
243
-
244
- sinon@1.17.6:
245
- version "1.17.6"
246
- resolved "https://registry.yarnpkg.com/sinon/-/sinon-1.17.6.tgz#a43116db59577c8296356afee13fafc2332e58e1"
247
- dependencies:
248
- formatio "1.1.1"
249
- lolex "1.3.2"
250
- samsam "1.1.2"
251
- util ">=0.10.3 <1"
252
-
253
- spdx-correct@~1.0.0:
254
- version "1.0.2"
255
- resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
256
- dependencies:
257
- spdx-license-ids "^1.0.2"
258
-
259
- spdx-expression-parse@~1.0.0:
260
- version "1.0.4"
261
- resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
262
-
263
- spdx-license-ids@^1.0.2:
264
- version "1.2.2"
265
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
266
-
267
- string-width@^1.0.1, string-width@^1.0.2:
268
- version "1.0.2"
269
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
270
- dependencies:
271
- code-point-at "^1.0.0"
272
- is-fullwidth-code-point "^1.0.0"
273
- strip-ansi "^3.0.0"
274
-
275
- strip-ansi@^3.0.0, strip-ansi@^3.0.1:
276
- version "3.0.1"
277
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
278
- dependencies:
279
- ansi-regex "^2.0.0"
280
-
281
- strip-bom@^2.0.0:
282
- version "2.0.0"
283
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
284
- dependencies:
285
- is-utf8 "^0.2.0"
286
-
287
- type-detect@^1.0.0:
288
- version "1.0.0"
289
- resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2"
290
-
291
- type-detect@0.1.1:
292
- version "0.1.1"
293
- resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822"
294
-
295
- "util@>=0.10.3 <1":
296
- version "0.10.3"
297
- resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
298
- dependencies:
299
- inherits "2.0.1"
300
-
301
- validate-npm-package-license@^3.0.1:
302
- version "3.0.1"
303
- resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
304
- dependencies:
305
- spdx-correct "~1.0.0"
306
- spdx-expression-parse "~1.0.0"
307
-
308
- which-module@^1.0.0:
309
- version "1.0.0"
310
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
311
-
312
- window-size@^0.2.0:
313
- version "0.2.0"
314
- resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
315
-
316
- wrap-ansi@^2.0.0:
317
- version "2.0.0"
318
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.0.0.tgz#7d30f8f873f9a5bbc3a64dabc8d177e071ae426f"
319
- dependencies:
320
- string-width "^1.0.1"
321
-
322
- y18n@^3.2.1:
323
- version "3.2.1"
324
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
325
-
326
- yargs-parser@^4.0.2:
327
- version "4.0.2"
328
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.0.2.tgz#7f7173a8c7cca1d81dc7c18692fc07c2c2e2b1e0"
329
- dependencies:
330
- camelcase "^3.0.0"
331
-
332
- yargs@6.0.0:
333
- version "6.0.0"
334
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.0.0.tgz#900479df4e8bf6ab0e87216f5ed2b2760b968345"
335
- dependencies:
336
- cliui "^3.2.0"
337
- decamelize "^1.1.1"
338
- get-caller-file "^1.0.1"
339
- os-locale "^1.4.0"
340
- read-pkg-up "^1.0.1"
341
- require-directory "^2.1.1"
342
- require-main-filename "^1.0.1"
343
- set-blocking "^2.0.0"
344
- string-width "^1.0.2"
345
- which-module "^1.0.0"
346
- window-size "^0.2.0"
347
- y18n "^3.2.1"
348
- yargs-parser "^4.0.2"
349
-