particle-commands 0.2.12 → 0.4.0

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.
Files changed (45) hide show
  1. package/.circleci/config.yml +68 -0
  2. package/.eslintrc +1 -2
  3. package/.nvmrc +1 -0
  4. package/CHANGELOG.md +11 -0
  5. package/README.md +93 -1
  6. package/dist/cmd/library_add.js +1 -14
  7. package/dist/cmd/library_contribute.js +0 -10
  8. package/dist/cmd/library_install.js +11 -26
  9. package/dist/cmd/library_migrate.js +3 -4
  10. package/dist/cmd/library_properties.js +3 -4
  11. package/dist/cmd/library_publish.js +0 -8
  12. package/dist/cmd/project_init.js +0 -3
  13. package/dist/cmd/project_properties.js +9 -12
  14. package/dist/cmd/templates/project/README.md +2 -2
  15. package/dist/index.js +9 -28
  16. package/package.json +20 -20
  17. package/src/cmd/library_add.js +2 -8
  18. package/src/cmd/library_contribute.js +0 -3
  19. package/src/cmd/library_install.js +7 -16
  20. package/src/cmd/library_publish.js +0 -3
  21. package/src/cmd/project_init.js +1 -3
  22. package/src/cmd/templates/project/README.md +2 -2
  23. package/src/index.js +0 -8
  24. package/test/cmd/library_install.spec.js +1 -1
  25. package/test/cmd/library_list.spec.js +5 -9
  26. package/test/cmd/library_publish.spec.js +1 -1
  27. package/test/cmd/project_init.spec.js +1 -4
  28. package/test/cmd/projects_spec.js +4 -4
  29. package/.idea/jsLibraryMappings.xml +0 -6
  30. package/.idea/misc.xml +0 -13
  31. package/.idea/modules.xml +0 -8
  32. package/.idea/particle-commands.iml +0 -12
  33. package/.idea/vcs.xml +0 -6
  34. package/.idea/workspace.xml +0 -222
  35. package/.npmignore +0 -1
  36. package/.travis.yml +0 -2
  37. package/dist/lib/analytics.js +0 -229
  38. package/dist/lib/settings.js +0 -410
  39. package/dist/lib/utilities.js +0 -27
  40. package/src/lib/analytics.js +0 -182
  41. package/src/lib/settings.js +0 -359
  42. package/src/lib/utilities.js +0 -24
  43. package/test/lib/analytics.spec.js +0 -158
  44. package/test/lib/settings.spec.js +0 -27
  45. package/yarn.lock +0 -4690
@@ -1,6 +1,5 @@
1
1
  import { Command, CommandSite } from './command';
2
2
  import { FileSystemLibraryRepository, FileSystemNamingStrategy } from 'particle-library-manager';
3
- import * as analytics from '../lib/analytics';
4
3
 
5
4
  /**
6
5
  */
@@ -87,8 +86,6 @@ export class LibraryContributeCommand extends Command {
87
86
  return repo.contribute(name, client, dryRun, events);
88
87
  })
89
88
  .catch(err => {
90
- analytics.track({ command:this, context: state, site, event: 'library upload failed',
91
- properties: { name, error: err } });
92
89
  if (err.validate && site.validationError) {
93
90
  site.validationError(err);
94
91
  } else {
@@ -5,7 +5,6 @@ import path from 'path';
5
5
  import LibraryProperties from './library_properties';
6
6
  import { findProject } from './library';
7
7
  import { Libraries } from './projects';
8
- import * as analytics from '../lib/analytics';
9
8
 
10
9
  /**
11
10
  * Specification and base implementation for the site instance expected by
@@ -136,7 +135,7 @@ export class LibraryInstallCommand extends Command {
136
135
  const [libName,libVersion] = (site.libraryName()||'').split('@');
137
136
  const client = site.apiClient();
138
137
  const cloudRepo = new CloudLibraryRepository({ client });
139
- const context = { '$state':state, '$depth':0 };
138
+ const context = {};
140
139
  const vendored = site.isVendored();
141
140
  let properties;
142
141
  if (!vendored && !libName) {
@@ -187,13 +186,12 @@ export class LibraryInstallCommand extends Command {
187
186
  * @param {ProjectProperties} project The project properties for the project being installed to.
188
187
  * Only defined when vendored is true.
189
188
  * @param {object} context The current operation context.
190
- * @param {Number} dependencyDepth the depth in the dependency hierarchy this library is at.
191
- * Direct project dependencies are at depth 0.
192
189
  * @returns {Promise|Promise.<TResult>} A promise to install the library and dependents.
193
190
  * @private
194
191
  */
195
- _installLib(site, cloudRepo, vendored, libName, libVersion, libraryTargetStrategy, project, context, dependencyDepth) {
192
+ _installLib(site, cloudRepo, vendored, libName, libVersion, libraryTargetStrategy, project, context) {
196
193
  context[libName] = libVersion || 'latest';
194
+
197
195
  return site.notifyCheckingLibrary(libName)
198
196
  .then(() => {
199
197
  return cloudRepo.fetch(libName, libVersion);
@@ -208,11 +206,7 @@ export class LibraryInstallCommand extends Command {
208
206
  }
209
207
  })
210
208
  .then(() => site.notifyInstalledLibrary(lib.metadata, libDir))
211
- .then(() => analytics.track({ command:this, context: context['$state'], site, event: 'library installed',
212
- properties: { name:libName, version: libVersion, actualName: lib.metadata.name,
213
- actualVersion: lib.metadata.version, dependencyDepth, projectName: project && project.name } })
214
- )
215
- .then(() => this._installDependents(site, cloudRepo, vendored, libraryTargetStrategy, project, context, libDir, dependencyDepth+1));
209
+ .then(() => this._installDependents(site, cloudRepo, vendored, libraryTargetStrategy, project, context, libDir));
216
210
  });
217
211
  }
218
212
 
@@ -225,12 +219,10 @@ export class LibraryInstallCommand extends Command {
225
219
  * @param {ProjectProperties} project The project being installed to.
226
220
  * @param {object} context The current operation context - used to avoid infinite recursion in the event of cyclic dependencies.
227
221
  * @param {String} libDir The directory containing the library whose dependences should be installed.
228
- * @param {Number} dependencyDepth How deep the dependency tree is. Project libraries are at depth 0, their dependents
229
- * at depth 1 etc..
230
222
  * @returns {*|Promise|Promise.<TResult>} returns a promise to install all library dependents
231
223
  * @private
232
224
  */
233
- _installDependents(site, cloudRepo, vendored, libraryTargetStrategy, project, context, libDir, dependencyDepth) {
225
+ _installDependents(site, cloudRepo, vendored, libraryTargetStrategy, project, context, libDir) {
234
226
  const libraryProperties = new LibraryProperties(libDir);
235
227
  return libraryProperties.load()
236
228
  .then(() => {
@@ -240,8 +232,7 @@ export class LibraryInstallCommand extends Command {
240
232
  const dependencyVersion = dependencies[dependencyName];
241
233
  if (!context[dependencyName]) {
242
234
  context[dependencyName] = dependencyVersion;
243
- resolve.push(this._installLib(site, cloudRepo, vendored, dependencyName, dependencyVersion,
244
- libraryTargetStrategy, project, context, dependencyDepth));
235
+ resolve.push(this._installLib(site, cloudRepo, vendored, dependencyName, dependencyVersion, libraryTargetStrategy, project, context));
245
236
  }
246
237
  }
247
238
  return Promise.all(resolve);
@@ -269,7 +260,7 @@ export class LibraryInstallCommand extends Command {
269
260
  if (vendored && layout!==extended) {
270
261
  return site.notifyIncorrectLayout(layout, extended, libName, installTarget(libName, libVersion));
271
262
  } else {
272
- return this._installLib(site, cloudRepo, vendored, libName, libVersion, installTarget, project, context, 0);
263
+ return this._installLib(site, cloudRepo, vendored, libName, libVersion, installTarget, project, context);
273
264
  }
274
265
  });
275
266
  }
@@ -1,6 +1,5 @@
1
1
  import { Command, CommandSite } from './command';
2
2
  import { convertApiError } from './api';
3
- import * as analytics from '../lib/analytics';
4
3
 
5
4
  /**
6
5
  */
@@ -71,8 +70,6 @@ export class LibraryPublishCommand extends Command {
71
70
  return library;
72
71
  })
73
72
  .catch(err => {
74
- analytics.track({ command:this, context: state, site, event: 'library publish failed',
75
- properties: { name, error: err } });
76
73
  site.error(err);
77
74
  });
78
75
  });
@@ -5,7 +5,6 @@ const promisify = require('es6-promisify');
5
5
  import path from 'path';
6
6
  import { validateField } from 'particle-library-manager';
7
7
  const underscore = require('underscore');
8
- const analytics = require('../lib/analytics');
9
8
 
10
9
  /**
11
10
  * Specification and base implementation for the site instance expected by
@@ -144,8 +143,7 @@ export class ProjectInitCommand extends Command {
144
143
  if (create) {
145
144
  let project = this.createProject(site, filesystem, directory, name);
146
145
  project = site.notifyCreatingProject(directory, project) || project;
147
- return project.then(() => site.notifyProjectCreated(directory)).
148
- then(() => analytics.track({ command:this, context: state, site, event: 'project created', properties: { 'projectName':name } }));
146
+ return project.then(() => site.notifyProjectCreated(directory));
149
147
  } else {
150
148
  return site.notifyProjectNotCreated(directory);
151
149
  }
@@ -24,7 +24,7 @@ This is the file that specifies the name and version number of the libraries tha
24
24
  If you would like add additional files to your application, they should be added to the `/src` folder. All files in the `/src` folder will be sent to the Particle Cloud to produce a compiled binary.
25
25
 
26
26
  #### Projects with external libraries
27
- If your project includes a library that has not been registered in the Particle libraries system, you should create a new folder named `/lib/<libraryname>/src` under `/<project dir>` and add the `.h` and `.cpp` files for your library there. All contents of the `/lib` folder and subfolders will also be sent to the Cloud for compilation.
27
+ If your project includes a library that has not been registered in the Particle libraries system, you should create a new folder named `/lib/<libraryname>/src` under `/<project dir>` and add the `.h`, `.cpp` & `library.properties` files for your library there. Read the [Firmware Libraries guide](https://docs.particle.io/guide/tools-and-features/libraries/) for more details on how to develop libraries. Note that all contents of the `/lib` folder and subfolders will also be sent to the Cloud for compilation.
28
28
 
29
29
  ## Compiling your project
30
30
 
@@ -32,4 +32,4 @@ When you're ready to compile your project, make sure you have the correct Partic
32
32
 
33
33
  - Everything in the `/src` folder, including your `.ino` application file
34
34
  - The `project.properties` file for your project
35
- - Any libraries stored under `lib/<libraryname>/src`
35
+ - Any libraries stored under `lib/<libraryname>/src`
package/src/index.js CHANGED
@@ -1,9 +1 @@
1
1
  export * from './cmd/index';
2
- import * as analytics from './lib/analytics';
3
- import * as utilities from './lib/utilities';
4
- import * as settings from './lib/settings';
5
- export {
6
- analytics,
7
- utilities,
8
- settings
9
- };
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { expect, sinon } from '../test-setup';
3
- import { LibraryInstallCommand } from '../../src/cmd/library_install';
3
+ import { LibraryInstallCommand, LibraryInstallCommandSite } from '../../src/cmd/library_install';
4
4
  import { legacy } from '../../src/cmd/project_properties';
5
5
 
6
6
  describe('library install', () => {
@@ -13,20 +13,14 @@ describe('library list', () => {
13
13
  function expectFetchesCategory(name, scope, excludeScope, sort) {
14
14
  const client = { libraries: sinon.stub().returns(Promise.resolve(123)) };
15
15
  const site = {
16
- settings: () => {
17
- return {};
18
- },
16
+ settings: () => {return {};},
19
17
  sections: () => {
20
18
  const obj = {};
21
19
  obj[name] = {};
22
20
  return obj;
23
21
  },
24
- target: () => {
25
- return {};
26
- },
27
- error: (err) => {
28
- throw err;
29
- },
22
+ target: () => {{}},
23
+ error: (err) => { throw err; },
30
24
  apiClient: () => client,
31
25
  notifyFetchList: () => 0,
32
26
  notifyFetchLists: () => 0
@@ -93,6 +87,7 @@ describe('library list', () => {
93
87
  const list2 = Promise.resolve(456);
94
88
  const client = { libraries: sinon.stub().returns(list1, list2) };
95
89
  const site = { notifyFetchList: sinon.stub(), notifyFetchLists: sinon.stub() };
90
+ const settings = { a:'A' };
96
91
  const config = sut.normalizeConfig({}, { mine:{}, official:{} });
97
92
  const result = sut.fetchLists(site, client, config, target);
98
93
  return expect(result).to.eventually.deep.equal(target);
@@ -122,6 +117,7 @@ describe('library list', () => {
122
117
  const settings = { a:'A' };
123
118
  const result = sut.fetchList(site, client, 'abc', settings);
124
119
  expect(site.notifyFetchList).to.have.been.calledWithMatch(promise2, 'abc', settings, target);
120
+ expect(result).to.be.deep.equal(promise);
125
121
  return expect(result).to.eventually.deep.equal(target);
126
122
  });
127
123
 
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { expect, sinon } from '../test-setup';
3
- import { LibraryPublishCommand } from '../../src/cmd/library_publish';
3
+ import { LibraryPublishCommand, LibraryPublishCommandSite } from '../../src/cmd/library_publish';
4
4
 
5
5
  describe('LibraryPublishCommand', () => {
6
6
  it('handles api errors', () => {
@@ -9,8 +9,6 @@ const mockfs = require('mock-fs');
9
9
 
10
10
  describe('project_init', () => {
11
11
 
12
- let context;
13
-
14
12
  function addFile(target, filename) {
15
13
  const content = fs.readFileSync(filename, 'utf-8');
16
14
  target[filename] = content;
@@ -21,7 +19,6 @@ describe('project_init', () => {
21
19
  addFile(fs, ProjectInitCommand.templateFile('README.md'));
22
20
  addFile(fs, ProjectInitCommand.templateFile('project.ino'));
23
21
  mockfs(fs);
24
- context = { user: { track: false } };
25
22
  });
26
23
 
27
24
  afterEach(() => {
@@ -38,7 +35,7 @@ describe('project_init', () => {
38
35
  if (allowDirectoryCreate!==undefined) {
39
36
  site.notifyDirectoryExists = () => allowDirectoryCreate;
40
37
  }
41
- return cmd.run(context, site).then(() => site);
38
+ return cmd.run({}, site).then(() => site);
42
39
  }
43
40
 
44
41
  function expectTemplate(targetFile, templateName, properties) {
@@ -26,19 +26,19 @@ describe('projects', () => {
26
26
  });
27
27
 
28
28
  it('can retrieve my projects common folder', () => {
29
- return expect(projects.myProjectsFolder()).eventually.equals(path.join(home, 'Particle', 'projects'));
29
+ expect(projects.myProjectsFolder()).eventually.equals(path.join(home, 'particle', 'projects'));
30
30
  });
31
31
 
32
32
  it('can retrieve community projects common folder', () => {
33
- return expect(projects.communityProjectsFolder()).eventually.equals(path.join(home, 'Particle', 'community', 'projects'));
33
+ expect(projects.communityProjectsFolder()).eventually.equals(path.join(home, 'particle', 'community', 'projects'));
34
34
  });
35
35
 
36
36
  it('can retrieve my libraries common folder', () => {
37
- return expect(libraries.myLibrariesFolder()).eventually.equals(path.join(home, 'Particle', 'libraries'));
37
+ expect(libraries.myLibrariesFolder()).eventually.equals(path.join(home, 'particle', 'libraries'));
38
38
  });
39
39
 
40
40
  it('can retrieve community libraries common folder', () => {
41
- return expect(libraries.communityLibrariesFolder()).eventually.equals(path.join(home, 'Particle', 'community', 'libraries'));
41
+ expect(libraries.communityLibrariesFolder()).eventually.equals(path.join(home, 'particle', 'community', 'libraries'));
42
42
  });
43
43
 
44
44
  it('can create a nested folder', () => {
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="JavaScriptLibraryMappings">
4
- <file url="file://$PROJECT_DIR$" libraries="{particle-commands/node_modules}" />
5
- </component>
6
- </project>
package/.idea/misc.xml DELETED
@@ -1,13 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectLevelVcsManager" settingsEditedManually="false">
4
- <OptionsSetting value="true" id="Add" />
5
- <OptionsSetting value="true" id="Remove" />
6
- <OptionsSetting value="true" id="Checkout" />
7
- <OptionsSetting value="true" id="Update" />
8
- <OptionsSetting value="true" id="Status" />
9
- <OptionsSetting value="true" id="Edit" />
10
- <ConfirmationsSetting value="0" id="Add" />
11
- <ConfirmationsSetting value="0" id="Remove" />
12
- </component>
13
- </project>
package/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/particle-commands.iml" filepath="$PROJECT_DIR$/.idea/particle-commands.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$">
5
- <excludeFolder url="file://$MODULE_DIR$/.tmp" />
6
- <excludeFolder url="file://$MODULE_DIR$/temp" />
7
- <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
- </content>
9
- <orderEntry type="inheritedJdk" />
10
- <orderEntry type="sourceFolder" forTests="false" />
11
- </component>
12
- </module>
package/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
6
- </project>
@@ -1,222 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ChangeListManager">
4
- <list default="true" id="1180cce9-aad9-4feb-b6d5-b708d6d1737f" name="Default" comment="" />
5
- <ignored path="particle-commands.iws" />
6
- <ignored path=".idea/workspace.xml" />
7
- <ignored path="$PROJECT_DIR$/.tmp/" />
8
- <ignored path="$PROJECT_DIR$/temp/" />
9
- <ignored path="$PROJECT_DIR$/tmp/" />
10
- <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
11
- <option name="TRACKING_ENABLED" value="true" />
12
- <option name="SHOW_DIALOG" value="false" />
13
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
14
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
15
- <option name="LAST_RESOLUTION" value="IGNORE" />
16
- </component>
17
- <component name="CreatePatchCommitExecutor">
18
- <option name="PATCH_PATH" value="" />
19
- </component>
20
- <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
21
- <component name="FavoritesManager">
22
- <favorites_list name="particle-commands" />
23
- </component>
24
- <component name="FileEditorManager">
25
- <leaf />
26
- </component>
27
- <component name="Git.Settings">
28
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
29
- </component>
30
- <component name="IdeDocumentHistory">
31
- <option name="CHANGED_PATHS">
32
- <list>
33
- <option value="$PROJECT_DIR$/package.json" />
34
- </list>
35
- </option>
36
- </component>
37
- <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
38
- <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER">
39
- <package-json value="$PROJECT_DIR$/package.json" />
40
- </component>
41
- <component name="JsGulpfileManager">
42
- <detection-done>true</detection-done>
43
- <sorting>DEFINITION_ORDER</sorting>
44
- </component>
45
- <component name="NodeModulesDirectoryManager">
46
- <handled-path value="$PROJECT_DIR$/node_modules" />
47
- </component>
48
- <component name="ProjectFrameBounds">
49
- <option name="x" value="1920" />
50
- <option name="width" value="1920" />
51
- <option name="height" value="1080" />
52
- </component>
53
- <component name="ProjectLevelVcsManager" settingsEditedManually="false">
54
- <OptionsSetting value="true" id="Add" />
55
- <OptionsSetting value="true" id="Remove" />
56
- <OptionsSetting value="true" id="Checkout" />
57
- <OptionsSetting value="true" id="Update" />
58
- <OptionsSetting value="true" id="Status" />
59
- <OptionsSetting value="true" id="Edit" />
60
- <ConfirmationsSetting value="0" id="Add" />
61
- <ConfirmationsSetting value="0" id="Remove" />
62
- </component>
63
- <component name="ProjectView">
64
- <navigator currentView="ProjectPane" proportions="" version="1">
65
- <flattenPackages />
66
- <showMembers />
67
- <showModules />
68
- <showLibraryContents />
69
- <hideEmptyPackages />
70
- <abbreviatePackageNames />
71
- <autoscrollToSource />
72
- <autoscrollFromSource />
73
- <sortByType />
74
- <manualOrder />
75
- <foldersAlwaysOnTop value="true" />
76
- </navigator>
77
- <panes>
78
- <pane id="ProjectPane">
79
- <subPane>
80
- <PATH>
81
- <PATH_ELEMENT>
82
- <option name="myItemId" value="particle-commands" />
83
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
84
- </PATH_ELEMENT>
85
- </PATH>
86
- <PATH>
87
- <PATH_ELEMENT>
88
- <option name="myItemId" value="particle-commands" />
89
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
90
- </PATH_ELEMENT>
91
- <PATH_ELEMENT>
92
- <option name="myItemId" value="particle-commands" />
93
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
94
- </PATH_ELEMENT>
95
- </PATH>
96
- <PATH>
97
- <PATH_ELEMENT>
98
- <option name="myItemId" value="particle-commands" />
99
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
100
- </PATH_ELEMENT>
101
- <PATH_ELEMENT>
102
- <option name="myItemId" value="particle-commands" />
103
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
104
- </PATH_ELEMENT>
105
- <PATH_ELEMENT>
106
- <option name="myItemId" value="src" />
107
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
108
- </PATH_ELEMENT>
109
- </PATH>
110
- <PATH>
111
- <PATH_ELEMENT>
112
- <option name="myItemId" value="particle-commands" />
113
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
114
- </PATH_ELEMENT>
115
- <PATH_ELEMENT>
116
- <option name="myItemId" value="particle-commands" />
117
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
118
- </PATH_ELEMENT>
119
- <PATH_ELEMENT>
120
- <option name="myItemId" value="src" />
121
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
122
- </PATH_ELEMENT>
123
- <PATH_ELEMENT>
124
- <option name="myItemId" value="cmd" />
125
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
126
- </PATH_ELEMENT>
127
- </PATH>
128
- </subPane>
129
- </pane>
130
- <pane id="Scope" />
131
- <pane id="Scratches" />
132
- </panes>
133
- </component>
134
- <component name="PropertiesComponent">
135
- <property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
136
- <property name="settings.editor.splitter.proportion" value="0.2" />
137
- <property name="WebServerToolWindowFactoryState" value="false" />
138
- <property name="HbShouldOpenHtmlAsHb" value="" />
139
- <property name="nodejs_interpreter_path" value="$USER_HOME$/.nvm/v0.10.38/bin/node" />
140
- </component>
141
- <component name="RunManager">
142
- <configuration default="true" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" working-dir="">
143
- <method />
144
- </configuration>
145
- </component>
146
- <component name="ShelveChangesManager" show_recycled="false">
147
- <option name="remove_strategy" value="false" />
148
- </component>
149
- <component name="TaskManager">
150
- <task active="true" id="Default" summary="Default task">
151
- <changelist id="1180cce9-aad9-4feb-b6d5-b708d6d1737f" name="Default" comment="" />
152
- <created>1476888485630</created>
153
- <option name="number" value="Default" />
154
- <option name="presentableId" value="Default" />
155
- <updated>1476888485630</updated>
156
- <workItem from="1476888488238" duration="929000" />
157
- </task>
158
- <servers />
159
- </component>
160
- <component name="TimeTrackingManager">
161
- <option name="totallyTimeSpent" value="929000" />
162
- </component>
163
- <component name="ToolWindowManager">
164
- <frame x="1920" y="0" width="1920" height="1080" extended-state="6" />
165
- <editor active="false" />
166
- <layout>
167
- <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.16666667" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
168
- <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
169
- <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
170
- <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
171
- <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
172
- <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
173
- <window_info id="Mongo Explorer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
174
- <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
175
- <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
176
- <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
177
- <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
178
- <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
179
- <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
180
- <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
181
- <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
182
- <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
183
- <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
184
- <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
185
- </layout>
186
- </component>
187
- <component name="Vcs.Log.UiProperties">
188
- <option name="RECENTLY_FILTERED_USER_GROUPS">
189
- <collection />
190
- </option>
191
- <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
192
- <collection />
193
- </option>
194
- </component>
195
- <component name="VcsContentAnnotationSettings">
196
- <option name="myLimit" value="2678400000" />
197
- </component>
198
- <component name="XDebuggerManager">
199
- <breakpoint-manager />
200
- <watches-manager />
201
- </component>
202
- <component name="editorHistoryManager">
203
- <entry file="file://$PROJECT_DIR$/package.json">
204
- <provider selected="true" editor-type-id="text-editor">
205
- <state relative-caret-position="286">
206
- <caret line="13" column="4" selection-start-line="13" selection-start-column="4" selection-end-line="13" selection-end-column="4" />
207
- <folding />
208
- </state>
209
- </provider>
210
- </entry>
211
- <entry file="file://$PROJECT_DIR$/src/cmd/library_contribute.js">
212
- <provider selected="true" editor-type-id="text-editor">
213
- <state relative-caret-position="407">
214
- <caret line="79" column="33" selection-start-line="79" selection-start-column="33" selection-end-line="79" selection-end-column="33" />
215
- <folding>
216
- <element signature="e#0#47#0" expanded="true" />
217
- </folding>
218
- </state>
219
- </provider>
220
- </entry>
221
- </component>
222
- </project>
package/.npmignore DELETED
@@ -1 +0,0 @@
1
- coverage
package/.travis.yml DELETED
@@ -1,2 +0,0 @@
1
- language: node_js
2
- node_js: 6.9.4