forked from enviPath/enviPy
Current Dev State
This commit is contained in:
22
static/js/ketcher2/node_modules/file-entry-cache/LICENSE
generated
vendored
Normal file
22
static/js/ketcher2/node_modules/file-entry-cache/LICENSE
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Roy Riojas
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
107
static/js/ketcher2/node_modules/file-entry-cache/README.md
generated
vendored
Normal file
107
static/js/ketcher2/node_modules/file-entry-cache/README.md
generated
vendored
Normal file
@ -0,0 +1,107 @@
|
||||
# file-entry-cache
|
||||
> Super simple cache for file metadata, useful for process that work o a given series of files
|
||||
> and that only need to repeat the job on the changed ones since the previous run of the process — Edit
|
||||
|
||||
[](https://npmjs.org/package/file-entry-cache)
|
||||
[](https://travis-ci.org/royriojas/file-entry-cache)
|
||||
|
||||
## install
|
||||
|
||||
```bash
|
||||
npm i --save file-entry-cache
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
// loads the cache, if one does not exists for the given
|
||||
// Id a new one will be prepared to be created
|
||||
var fileEntryCache = require('file-entry-cache');
|
||||
|
||||
var cache = fileEntryCache.create('testCache');
|
||||
|
||||
var files = expand('../fixtures/*.txt');
|
||||
|
||||
// the first time this method is called, will return all the files
|
||||
var oFiles = cache.getUpdatedFiles(files);
|
||||
|
||||
// this will persist this to disk checking each file stats and
|
||||
// updating the meta attributes `size` and `mtime`.
|
||||
// custom fields could also be added to the meta object and will be persisted
|
||||
// in order to retrieve them later
|
||||
cache.reconcile();
|
||||
|
||||
// use this if you want the non visited file entries to be kept in the cache
|
||||
// for more than one execution
|
||||
//
|
||||
// cache.reconcile( true /* noPrune */)
|
||||
|
||||
// on a second run
|
||||
var cache2 = fileEntryCache.create('testCache');
|
||||
|
||||
// will return now only the files that were modified or none
|
||||
// if no files were modified previous to the execution of this function
|
||||
var oFiles = cache.getUpdatedFiles(files);
|
||||
|
||||
// if you want to prevent a file from being considered non modified
|
||||
// something useful if a file failed some sort of validation
|
||||
// you can then remove the entry from the cache doing
|
||||
cache.removeEntry('path/to/file'); // path to file should be the same path of the file received on `getUpdatedFiles`
|
||||
// that will effectively make the file to appear again as modified until the validation is passed. In that
|
||||
// case you should not remove it from the cache
|
||||
|
||||
// if you need all the files, so you can determine what to do with the changed ones
|
||||
// you can call
|
||||
var oFiles = cache.normalizeEntries(files);
|
||||
|
||||
// oFiles will be an array of objects like the following
|
||||
entry = {
|
||||
key: 'some/name/file', the path to the file
|
||||
changed: true, // if the file was changed since previous run
|
||||
meta: {
|
||||
size: 3242, // the size of the file
|
||||
mtime: 231231231, // the modification time of the file
|
||||
data: {} // some extra field stored for this file (useful to save the result of a transformation on the file
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
## Motivation for this module
|
||||
|
||||
I needed a super simple and dumb **in-memory cache** with optional disk persistence (write-back cache) in order to make
|
||||
a script that will beautify files with `esformatter` to execute only on the files that were changed since the last run.
|
||||
|
||||
In doing so the process of beautifying files was reduced from several seconds to a small fraction of a second.
|
||||
|
||||
This module uses [flat-cache](https://www.npmjs.com/package/flat-cache) a super simple `key/value` cache storage with
|
||||
optional file persistance.
|
||||
|
||||
The main idea is to read the files when the task begins, apply the transforms required, and if the process succeed,
|
||||
then store the new state of the files. The next time this module request for `getChangedFiles` will return only
|
||||
the files that were modified. Making the process to end faster.
|
||||
|
||||
This module could also be used by processes that modify the files applying a transform, in that case the result of the
|
||||
transform could be stored in the `meta` field, of the entries. Anything added to the meta field will be persisted.
|
||||
Those processes won't need to call `getChangedFiles` they will instead call `normalizeEntries` that will return the
|
||||
entries with a `changed` field that can be used to determine if the file was changed or not. If it was not changed
|
||||
the transformed stored data could be used instead of actually applying the transformation, saving time in case of only
|
||||
a few files changed.
|
||||
|
||||
In the worst case scenario all the files will be processed. In the best case scenario only a few of them will be processed.
|
||||
|
||||
## Important notes
|
||||
- The values set on the meta attribute of the entries should be `stringify-able` ones if possible, flat-cache uses `circular-json` to try to persist circular structures, but this should be considered experimental. The best results are always obtained with non circular values
|
||||
- All the changes to the cache state are done to memory first and only persisted after reconcile.
|
||||
- By default non visited entries are removed from the cache. This is done to prevent the file from growing too much. If this is not an issue and
|
||||
you prefer to do a manual pruning of the cache files, you can pass `true` to the `reconcile` call. Like this:
|
||||
|
||||
```javascript
|
||||
cache.reconcile( true /* noPrune */ );
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
||||
|
||||
216
static/js/ketcher2/node_modules/file-entry-cache/cache.js
generated
vendored
Normal file
216
static/js/ketcher2/node_modules/file-entry-cache/cache.js
generated
vendored
Normal file
@ -0,0 +1,216 @@
|
||||
var path = require( 'path' );
|
||||
|
||||
module.exports = {
|
||||
createFromFile: function ( filePath ) {
|
||||
var fname = path.basename( filePath );
|
||||
var dir = path.dirname( filePath );
|
||||
return this.create( fname, dir );
|
||||
},
|
||||
|
||||
create: function ( cacheId, _path ) {
|
||||
var fs = require( 'fs' );
|
||||
var flatCache = require( 'flat-cache' );
|
||||
var cache = flatCache.load( cacheId, _path );
|
||||
var assign = require( 'object-assign' );
|
||||
var normalizedEntries = { };
|
||||
|
||||
var removeNotFoundFiles = function removeNotFoundFiles() {
|
||||
const cachedEntries = cache.keys();
|
||||
// remove not found entries
|
||||
cachedEntries.forEach( function remover( fPath ) {
|
||||
try {
|
||||
fs.statSync( fPath );
|
||||
} catch (err) {
|
||||
if ( err.code === 'ENOENT' ) {
|
||||
cache.removeKey( fPath );
|
||||
}
|
||||
}
|
||||
} );
|
||||
};
|
||||
|
||||
removeNotFoundFiles();
|
||||
|
||||
return {
|
||||
/**
|
||||
* the flat cache storage used to persist the metadata of the `files
|
||||
* @type {Object}
|
||||
*/
|
||||
cache: cache,
|
||||
/**
|
||||
* Return whether or not a file has changed since last time reconcile was called.
|
||||
* @method hasFileChanged
|
||||
* @param {String} file the filepath to check
|
||||
* @return {Boolean} wheter or not the file has changed
|
||||
*/
|
||||
hasFileChanged: function ( file ) {
|
||||
return this.getFileDescriptor( file ).changed;
|
||||
},
|
||||
|
||||
/**
|
||||
* given an array of file paths it return and object with three arrays:
|
||||
* - changedFiles: Files that changed since previous run
|
||||
* - notChangedFiles: Files that haven't change
|
||||
* - notFoundFiles: Files that were not found, probably deleted
|
||||
*
|
||||
* @param {Array} files the files to analyze and compare to the previous seen files
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
analyzeFiles: function ( files ) {
|
||||
var me = this;
|
||||
files = files || [ ];
|
||||
|
||||
var res = {
|
||||
changedFiles: [],
|
||||
notFoundFiles: [],
|
||||
notChangedFiles: []
|
||||
};
|
||||
|
||||
me.normalizeEntries( files ).forEach( function ( entry ) {
|
||||
if ( entry.changed ) {
|
||||
res.changedFiles.push( entry.key );
|
||||
return;
|
||||
}
|
||||
if ( entry.notFound ) {
|
||||
res.notFoundFiles.push( entry.key );
|
||||
return;
|
||||
}
|
||||
res.notChangedFiles.push( entry.key );
|
||||
} );
|
||||
return res;
|
||||
},
|
||||
|
||||
getFileDescriptor: function ( file ) {
|
||||
var meta = cache.getKey( file );
|
||||
var cacheExists = !!meta;
|
||||
var fstat;
|
||||
var me = this;
|
||||
|
||||
try {
|
||||
fstat = fs.statSync( file );
|
||||
} catch (ex) {
|
||||
me.removeEntry( file );
|
||||
return { key: file, notFound: true, err: ex };
|
||||
}
|
||||
|
||||
var cSize = fstat.size;
|
||||
var cTime = fstat.mtime.getTime();
|
||||
|
||||
if ( !meta ) {
|
||||
meta = { size: cSize, mtime: cTime };
|
||||
} else {
|
||||
var isDifferentDate = cTime !== meta.mtime;
|
||||
var isDifferentSize = cSize !== meta.size;
|
||||
}
|
||||
|
||||
var nEntry = normalizedEntries[ file ] = {
|
||||
key: file,
|
||||
changed: !cacheExists || isDifferentDate || isDifferentSize,
|
||||
meta: meta
|
||||
};
|
||||
|
||||
return nEntry;
|
||||
},
|
||||
|
||||
/**
|
||||
* Return the list o the files that changed compared
|
||||
* against the ones stored in the cache
|
||||
*
|
||||
* @method getUpdated
|
||||
* @param files {Array} the array of files to compare against the ones in the cache
|
||||
* @returns {Array}
|
||||
*/
|
||||
getUpdatedFiles: function ( files ) {
|
||||
var me = this;
|
||||
files = files || [ ];
|
||||
|
||||
return me.normalizeEntries( files ).filter( function ( entry ) {
|
||||
return entry.changed;
|
||||
} ).map( function ( entry ) {
|
||||
return entry.key;
|
||||
} );
|
||||
},
|
||||
|
||||
/**
|
||||
* return the list of files
|
||||
* @method normalizeEntries
|
||||
* @param files
|
||||
* @returns {*}
|
||||
*/
|
||||
normalizeEntries: function ( files ) {
|
||||
files = files || [ ];
|
||||
|
||||
var me = this;
|
||||
var nEntries = files.map( function ( file ) {
|
||||
return me.getFileDescriptor( file );
|
||||
} );
|
||||
|
||||
//normalizeEntries = nEntries;
|
||||
return nEntries;
|
||||
},
|
||||
|
||||
/**
|
||||
* Remove an entry from the file-entry-cache. Useful to force the file to still be considered
|
||||
* modified the next time the process is run
|
||||
*
|
||||
* @method removeEntry
|
||||
* @param entryName
|
||||
*/
|
||||
removeEntry: function ( entryName ) {
|
||||
delete normalizedEntries[ entryName ];
|
||||
cache.removeKey( entryName );
|
||||
},
|
||||
|
||||
/**
|
||||
* Delete the cache file from the disk
|
||||
* @method deleteCacheFile
|
||||
*/
|
||||
deleteCacheFile: function () {
|
||||
cache.removeCacheFile();
|
||||
},
|
||||
|
||||
/**
|
||||
* remove the cache from the file and clear the memory cache
|
||||
*/
|
||||
destroy: function () {
|
||||
normalizedEntries = { };
|
||||
cache.destroy();
|
||||
},
|
||||
/**
|
||||
* Sync the files and persist them to the cache
|
||||
* @method reconcile
|
||||
*/
|
||||
reconcile: function () {
|
||||
removeNotFoundFiles();
|
||||
|
||||
var entries = normalizedEntries;
|
||||
var keys = Object.keys( entries );
|
||||
|
||||
if ( keys.length === 0 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
keys.forEach( function ( entryName ) {
|
||||
var cacheEntry = entries[ entryName ];
|
||||
|
||||
try {
|
||||
var stat = fs.statSync( cacheEntry.key );
|
||||
var meta = assign( cacheEntry.meta, {
|
||||
size: stat.size,
|
||||
mtime: stat.mtime.getTime()
|
||||
} );
|
||||
|
||||
cache.setKey( entryName, meta );
|
||||
} catch (err) {
|
||||
// if the file does not exists we don't save it
|
||||
// other errors are just thrown
|
||||
if ( err.code !== 'ENOENT' ) {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
cache.save( true );
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
74
static/js/ketcher2/node_modules/file-entry-cache/changelog.md
generated
vendored
Normal file
74
static/js/ketcher2/node_modules/file-entry-cache/changelog.md
generated
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
|
||||
# file-entry-cache - Changelog
|
||||
## v2.0.0
|
||||
- **Features**
|
||||
- do not persist and prune removed files from cache. Relates to [#2](https://github.com/royriojas/file-entry-cache/issues/2) - [408374d]( https://github.com/royriojas/file-entry-cache/commit/408374d ), [Roy Riojas](https://github.com/Roy Riojas), 16/08/2016 15:47:58
|
||||
|
||||
|
||||
## v1.3.1
|
||||
- **Build Scripts Changes**
|
||||
- remove older node version - [0a26ac4]( https://github.com/royriojas/file-entry-cache/commit/0a26ac4 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 06:09:17
|
||||
|
||||
|
||||
## v1.3.0
|
||||
- **Features**
|
||||
- Add an option to not prune non visited keys. Closes [#2](https://github.com/royriojas/file-entry-cache/issues/2) - [b1a64db]( https://github.com/royriojas/file-entry-cache/commit/b1a64db ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 05:52:12
|
||||
|
||||
|
||||
## v1.2.4
|
||||
- **Enhancements**
|
||||
- Expose the flat-cache instance - [f34c557]( https://github.com/royriojas/file-entry-cache/commit/f34c557 ), [royriojas](https://github.com/royriojas), 23/09/2015 20:26:33
|
||||
|
||||
|
||||
## v1.2.3
|
||||
- **Build Scripts Changes**
|
||||
- update flat-cache dep - [cc7b9ce]( https://github.com/royriojas/file-entry-cache/commit/cc7b9ce ), [royriojas](https://github.com/royriojas), 11/09/2015 18:04:44
|
||||
|
||||
|
||||
## v1.2.2
|
||||
- **Build Scripts Changes**
|
||||
- Add changelogx section to package.json - [a3916ff]( https://github.com/royriojas/file-entry-cache/commit/a3916ff ), [royriojas](https://github.com/royriojas), 11/09/2015 18:00:26
|
||||
|
||||
|
||||
## v1.2.1
|
||||
- **Build Scripts Changes**
|
||||
- update flat-cache dep - [e49b0d4]( https://github.com/royriojas/file-entry-cache/commit/e49b0d4 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:55:25
|
||||
|
||||
|
||||
- **Other changes**
|
||||
- Update dependencies Replaced lodash.assign with smaller object-assign Fixed tests for windows - [0ad3000]( https://github.com/royriojas/file-entry-cache/commit/0ad3000 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 17:44:18
|
||||
|
||||
|
||||
## v1.2.0
|
||||
- **Features**
|
||||
- analyzeFiles now returns also the files that were removed - [6ac2431]( https://github.com/royriojas/file-entry-cache/commit/6ac2431 ), [royriojas](https://github.com/royriojas), 04/09/2015 14:40:53
|
||||
|
||||
|
||||
## v1.1.1
|
||||
- **Features**
|
||||
- Add method to check if a file hasChanged - [3640e2b]( https://github.com/royriojas/file-entry-cache/commit/3640e2b ), [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 07:33:32
|
||||
|
||||
|
||||
## v1.1.0
|
||||
- **Features**
|
||||
- Create the cache directly from a file path - [a23de61]( https://github.com/royriojas/file-entry-cache/commit/a23de61 ), [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 06:41:33
|
||||
|
||||
|
||||
- Add a method to remove an entry from the filecache - [7af29fc]( https://github.com/royriojas/file-entry-cache/commit/7af29fc ), [Roy Riojas](https://github.com/Roy Riojas), 03/03/2015 02:25:32
|
||||
|
||||
|
||||
- cache module finished - [1f95544]( https://github.com/royriojas/file-entry-cache/commit/1f95544 ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 04:08:08
|
||||
|
||||
|
||||
- **Build Scripts Changes**
|
||||
- set the version for the first release - [7472eaa]( https://github.com/royriojas/file-entry-cache/commit/7472eaa ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 04:29:54
|
||||
|
||||
|
||||
- **Documentation**
|
||||
- Updated documentation - [557358f]( https://github.com/royriojas/file-entry-cache/commit/557358f ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 04:29:29
|
||||
|
||||
|
||||
- **Other changes**
|
||||
- Initial commit - [3d5f42b]( https://github.com/royriojas/file-entry-cache/commit/3d5f42b ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 00:58:29
|
||||
|
||||
|
||||
116
static/js/ketcher2/node_modules/file-entry-cache/package.json
generated
vendored
Normal file
116
static/js/ketcher2/node_modules/file-entry-cache/package.json
generated
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
{
|
||||
"_from": "file-entry-cache@^2.0.0",
|
||||
"_id": "file-entry-cache@2.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
|
||||
"_location": "/file-entry-cache",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "file-entry-cache@^2.0.0",
|
||||
"name": "file-entry-cache",
|
||||
"escapedName": "file-entry-cache",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/eslint"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
|
||||
"_shasum": "c392990c3e684783d838b8c84a45d8a048458361",
|
||||
"_spec": "file-entry-cache@^2.0.0",
|
||||
"_where": "/home/manfred/enviPath/ketcher2/ketcher/node_modules/eslint",
|
||||
"author": {
|
||||
"name": "Roy Riojas",
|
||||
"url": "http://royriojas.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/royriojas/file-entry-cache/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"changelogx": {
|
||||
"ignoreRegExp": [
|
||||
"BLD: Release",
|
||||
"DOC: Generate Changelog",
|
||||
"Generated Changelog"
|
||||
],
|
||||
"issueIDRegExp": "#(\\d+)",
|
||||
"commitURL": "https://github.com/royriojas/file-entry-cache/commit/{0}",
|
||||
"authorURL": "https://github.com/{0}",
|
||||
"issueIDURL": "https://github.com/royriojas/file-entry-cache/issues/{0}",
|
||||
"projectName": "file-entry-cache"
|
||||
},
|
||||
"dependencies": {
|
||||
"flat-cache": "^1.2.1",
|
||||
"object-assign": "^4.0.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Super simple cache for file metadata, useful for process that work o a given series of files and that only need to repeat the job on the changed ones since the previous run of the process",
|
||||
"devDependencies": {
|
||||
"chai": "^3.2.0",
|
||||
"changelogx": "^1.0.18",
|
||||
"commander": "^2.6.0",
|
||||
"del": "^2.0.2",
|
||||
"esbeautifier": "^4.2.11",
|
||||
"eslinter": "^2.3.3",
|
||||
"glob-expand": "^0.1.0",
|
||||
"istanbul": "^0.3.6",
|
||||
"mocha": "^2.1.0",
|
||||
"precommit": "^1.1.5",
|
||||
"prepush": "^3.1.4",
|
||||
"proxyquire": "^1.3.1",
|
||||
"sinon": "^1.12.2",
|
||||
"sinon-chai": "^2.7.0",
|
||||
"watch-run": "^1.2.1",
|
||||
"write": "^0.3.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"cache.js"
|
||||
],
|
||||
"homepage": "https://github.com/royriojas/file-entry-cache#readme",
|
||||
"keywords": [
|
||||
"file cache",
|
||||
"task cache files",
|
||||
"file cache",
|
||||
"key par",
|
||||
"key value",
|
||||
"cache"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "cache.js",
|
||||
"name": "file-entry-cache",
|
||||
"precommit": [
|
||||
"npm run verify"
|
||||
],
|
||||
"prepush": [
|
||||
"npm run verify"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/royriojas/file-entry-cache.git"
|
||||
},
|
||||
"scripts": {
|
||||
"beautify": "esbeautifier 'cache.js' 'test/**/*.js'",
|
||||
"beautify-check": "npm run beautify -- -k",
|
||||
"bump-major": "npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v",
|
||||
"bump-minor": "npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v",
|
||||
"bump-patch": "npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v",
|
||||
"changelog": "changelogx -f markdown -o ./changelog.md",
|
||||
"cover": "istanbul cover test/runner.js html text-summary",
|
||||
"do-changelog": "npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify",
|
||||
"eslint": "eslinter 'cache.js' 'specs/**/*.js'",
|
||||
"install-hooks": "prepush install && changelogx install-hook && precommit install",
|
||||
"lint": "npm run beautify && npm run eslint",
|
||||
"post-v": "npm run do-changelog && git push --no-verify && git push --tags --no-verify",
|
||||
"pre-v": "npm run test",
|
||||
"test": "npm run verify --silent && mocha -R spec test/specs",
|
||||
"verify": "npm run beautify-check && npm run eslint",
|
||||
"watch": "watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"
|
||||
},
|
||||
"version": "2.0.0"
|
||||
}
|
||||
Reference in New Issue
Block a user