Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
f056e062b3 | |||
00855e3d63 | |||
d5fea19831 | |||
4c3715f655 | |||
513bb686ef | |||
b1f8c79b8d | |||
b0dbb9b8a0 |
14
README.md
14
README.md
@ -32,16 +32,16 @@ npmextra.json
|
|||||||
```
|
```
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import * as npmextra from 'npmextra'
|
import { Npmextra } from 'npmextra'
|
||||||
|
|
||||||
npmextra.dataFor({
|
let myNpmExtra = new Npmextra('my/path/to/cwd') // cwd argument is optional
|
||||||
toolName:'sometool',
|
mergedData = myNpmExtra.dataFor(
|
||||||
defaultSettings: { // gets merged with whatever is in the configfile
|
'sometool',
|
||||||
|
{ // gets merged with whatever is in the configfile
|
||||||
defaultKey1: 'defaultValue1', // so this will get overwritten with "awesomeValueFromConfig"
|
defaultKey1: 'defaultValue1', // so this will get overwritten with "awesomeValueFromConfig"
|
||||||
defaultKey2: 'defaultValue2' // this one will pass through unaltered
|
defaultKey2: 'defaultValue2' // this one will pass through unaltered
|
||||||
},
|
}
|
||||||
cwd?: string // lets you specifiy a custom current working directory to look for the npmextra.json
|
)
|
||||||
})
|
|
||||||
```
|
```
|
||||||
|
|
||||||
[](https://push.rocks)
|
[](https://push.rocks)
|
||||||
|
6
dist/npmextra.classes.keyValueStore.d.ts
vendored
6
dist/npmextra.classes.keyValueStore.d.ts
vendored
@ -1,6 +0,0 @@
|
|||||||
export declare type keyValueStoreTypes = 'path' | 'gitProject';
|
|
||||||
export declare class KeyValueStore {
|
|
||||||
constructor(optionsArg: {
|
|
||||||
type: keyValueStoreTypes;
|
|
||||||
});
|
|
||||||
}
|
|
22
dist/npmextra.classes.keyValueStore.js
vendored
22
dist/npmextra.classes.keyValueStore.js
vendored
@ -1,22 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
class KeyValueStore {
|
|
||||||
constructor(optionsArg) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.KeyValueStore = KeyValueStore;
|
|
||||||
/**
|
|
||||||
* reads a keyValueFile from disk
|
|
||||||
*/
|
|
||||||
let kvRead = () => {
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* writes a key value file to disk
|
|
||||||
*/
|
|
||||||
let kvWrite = () => {
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* wipes a key value store from disk
|
|
||||||
*/
|
|
||||||
let kevWipe = () => {
|
|
||||||
};
|
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtZXh0cmEuY2xhc3Nlcy5rZXl2YWx1ZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvbnBtZXh0cmEuY2xhc3Nlcy5rZXl2YWx1ZXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFNQTtJQUNJLFlBQVksVUFFWDtJQUVELENBQUM7Q0FBQTtBQUxMLHNDQUtLO0FBQ0Q7O0VBRUQ7QUFDSCxJQUFJLE1BQU0sR0FBQztBQUVYLENBQUMsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsSUFBSSxPQUFPLEdBQUM7QUFFWixDQUFDLENBQUE7QUFFRDs7R0FFRztBQUNILElBQUksT0FBTyxHQUFDO0FBRVosQ0FBQyxDQUFBIn0=
|
|
31
dist/npmextra.classes.keyvaluestore.d.ts
vendored
Normal file
31
dist/npmextra.classes.keyvaluestore.d.ts
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
export declare type keyValueStoreTypes = 'path' | 'gitProject' | 'customString';
|
||||||
|
export declare class KeyValueStore {
|
||||||
|
type: string;
|
||||||
|
identity: string;
|
||||||
|
filePath: string;
|
||||||
|
constructor(typeArg: keyValueStoreTypes, identityStringArg?: string);
|
||||||
|
/**
|
||||||
|
* reads a keyValueFile from disk
|
||||||
|
*/
|
||||||
|
read(): void;
|
||||||
|
/**
|
||||||
|
* writes a key value file to disk
|
||||||
|
*/
|
||||||
|
write(): void;
|
||||||
|
/**
|
||||||
|
* wipes a key value store from disk
|
||||||
|
*/
|
||||||
|
wipe(): void;
|
||||||
|
/**
|
||||||
|
* updates a value
|
||||||
|
*/
|
||||||
|
update(): void;
|
||||||
|
/**
|
||||||
|
* computes the identity
|
||||||
|
*/
|
||||||
|
private initIdentity(identityStringArg);
|
||||||
|
/**
|
||||||
|
* computes the filePath
|
||||||
|
*/
|
||||||
|
private initFilePath();
|
||||||
|
}
|
55
dist/npmextra.classes.keyvaluestore.js
vendored
Normal file
55
dist/npmextra.classes.keyvaluestore.js
vendored
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
"use strict";
|
||||||
|
const plugins = require("./npmextra.plugins");
|
||||||
|
const paths = require("./npmextra.paths");
|
||||||
|
class KeyValueStore {
|
||||||
|
constructor(typeArg, identityStringArg) {
|
||||||
|
// set kvStoreType
|
||||||
|
this.type = typeArg;
|
||||||
|
this.initIdentity(identityStringArg);
|
||||||
|
this.initFilePath();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* reads a keyValueFile from disk
|
||||||
|
*/
|
||||||
|
read() {
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* writes a key value file to disk
|
||||||
|
*/
|
||||||
|
write() {
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* wipes a key value store from disk
|
||||||
|
*/
|
||||||
|
wipe() {
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* updates a value
|
||||||
|
*/
|
||||||
|
update() {
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* computes the identity
|
||||||
|
*/
|
||||||
|
initIdentity(identityStringArg) {
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* computes the filePath
|
||||||
|
*/
|
||||||
|
initFilePath() {
|
||||||
|
let baseDir;
|
||||||
|
if (this.type === 'customString') {
|
||||||
|
baseDir = paths.kvCusomDir;
|
||||||
|
}
|
||||||
|
else if (this.type === 'gitProject') {
|
||||||
|
baseDir = paths.kvGitDir;
|
||||||
|
}
|
||||||
|
else if (this.type === 'path') {
|
||||||
|
baseDir = paths.kvPathDir;
|
||||||
|
}
|
||||||
|
this.filePath = plugins.path.join(baseDir, this.identity + '.json');
|
||||||
|
plugins.smartfile.fs.ensureFileSync(this.filePath, '{}');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.KeyValueStore = KeyValueStore;
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtZXh0cmEuY2xhc3Nlcy5rZXl2YWx1ZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvbnBtZXh0cmEuY2xhc3Nlcy5rZXl2YWx1ZXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw4Q0FBNkM7QUFDN0MsMENBQXlDO0FBS3pDO0lBSUksWUFBWSxPQUEyQixFQUFFLGlCQUEwQjtRQUMvRCxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUE7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJO0lBRUosQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztJQUVMLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7SUFFSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO0lBRU4sQ0FBQztJQUVEOztPQUVHO0lBQ0ssWUFBWSxDQUFDLGlCQUF5QjtJQUU5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxZQUFZO1FBQ2hCLElBQUksT0FBZSxDQUFBO1FBQ25CLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQztZQUMvQixPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQTtRQUM5QixDQUFDO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNwQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQTtRQUM1QixDQUFDO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM5QixPQUFPLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQTtRQUM3QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQTtRQUNuRSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0NBQ0o7QUE3REQsc0NBNkRDIn0=
|
4
dist/npmextra.classes.npmextra.d.ts
vendored
4
dist/npmextra.classes.npmextra.d.ts
vendored
@ -5,7 +5,7 @@ export declare class Npmextra {
|
|||||||
cwd: string;
|
cwd: string;
|
||||||
lookupPath: string;
|
lookupPath: string;
|
||||||
npmextraJsonExists: boolean;
|
npmextraJsonExists: boolean;
|
||||||
npmextraJsonData: boolean;
|
npmextraJsonData: any;
|
||||||
/**
|
/**
|
||||||
* creates instance of Npmextra
|
* creates instance of Npmextra
|
||||||
*/
|
*/
|
||||||
@ -13,7 +13,7 @@ export declare class Npmextra {
|
|||||||
/**
|
/**
|
||||||
* merges the supplied options with the ones from npmextra.json
|
* merges the supplied options with the ones from npmextra.json
|
||||||
*/
|
*/
|
||||||
dataFor(toolnameArg: string, defaultOptionsArg: any): any;
|
dataFor<IToolConfig>(toolnameArg: string, defaultOptionsArg: any): IToolConfig;
|
||||||
/**
|
/**
|
||||||
* checks if the JSON exists
|
* checks if the JSON exists
|
||||||
*/
|
*/
|
||||||
|
5
dist/npmextra.classes.npmextra.js
vendored
5
dist/npmextra.classes.npmextra.js
vendored
@ -58,7 +58,10 @@ class Npmextra {
|
|||||||
if (this.npmextraJsonExists) {
|
if (this.npmextraJsonExists) {
|
||||||
this.npmextraJsonData = plugins.smartfile.fs.toObjectSync(this.lookupPath);
|
this.npmextraJsonData = plugins.smartfile.fs.toObjectSync(this.lookupPath);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
this.npmextraJsonData = {};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.Npmextra = Npmextra;
|
exports.Npmextra = Npmextra;
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtZXh0cmEuY2xhc3Nlcy5ucG1leHRyYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWV4dHJhLmNsYXNzZXMubnBtZXh0cmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDhDQUE2QztBQUM3QywwQ0FBeUM7QUFFekM7O0dBRUc7QUFDSDtJQU1JOztPQUVHO0lBQ0gsWUFBWSxNQUFlO1FBQ3ZCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDVCxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQTtRQUNyQixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUE7UUFDeEIsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUN0QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsV0FBbUIsRUFBRSxpQkFBc0I7UUFDL0MsSUFBSSxtQkFBbUIsQ0FBQTtRQUN2QixFQUFFLENBQUEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM1RCxDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixtQkFBbUIsR0FBRyxFQUFFLENBQUE7UUFDNUIsQ0FBQztRQUNELElBQUksYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFBO1FBQ3BGLE1BQU0sQ0FBQyxhQUFhLENBQUE7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssdUJBQXVCO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xGLENBQUM7SUFFRDs7T0FFRztJQUNLLGVBQWU7UUFDbkIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUE7UUFDbEUsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFBO1FBQ3RDLENBQUM7UUFBQSxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0sscUJBQXFCO1FBQ3pCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDOUUsQ0FBQztJQUNMLENBQUM7Q0FFSjtBQTdERCw0QkE2REMifQ==
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtZXh0cmEuY2xhc3Nlcy5ucG1leHRyYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWV4dHJhLmNsYXNzZXMubnBtZXh0cmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDhDQUE2QztBQUM3QywwQ0FBeUM7QUFFekM7O0dBRUc7QUFDSDtJQU1JOztPQUVHO0lBQ0gsWUFBWSxNQUFlO1FBQ3ZCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDVCxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQTtRQUNyQixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUE7UUFDeEIsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUN0QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQWMsV0FBbUIsRUFBRSxpQkFBc0I7UUFDNUQsSUFBSSxtQkFBbUIsQ0FBQTtRQUN2QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM1RCxDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixtQkFBbUIsR0FBRyxFQUFFLENBQUE7UUFDNUIsQ0FBQztRQUNELElBQUksYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFBO1FBQ3BGLE1BQU0sQ0FBQyxhQUFhLENBQUE7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssdUJBQXVCO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xGLENBQUM7SUFFRDs7T0FFRztJQUNLLGVBQWU7UUFDbkIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUE7UUFDbEUsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFBO1FBQ3RDLENBQUM7UUFBQSxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0sscUJBQXFCO1FBQ3pCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDOUUsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtRQUM5QixDQUFDO0lBQ0wsQ0FBQztDQUVKO0FBL0RELDRCQStEQyJ9
|
4
dist/npmextra.paths.d.ts
vendored
4
dist/npmextra.paths.d.ts
vendored
@ -1,3 +1,7 @@
|
|||||||
export declare let cwd: string;
|
export declare let cwd: string;
|
||||||
export declare let packageDir: string;
|
export declare let packageDir: string;
|
||||||
|
export declare let kvBase: string;
|
||||||
|
export declare let kvCusomDir: string;
|
||||||
|
export declare let kvGitDir: string;
|
||||||
|
export declare let kvPathDir: string;
|
||||||
export declare let configFile: string;
|
export declare let configFile: string;
|
||||||
|
7
dist/npmextra.paths.js
vendored
7
dist/npmextra.paths.js
vendored
@ -3,6 +3,11 @@ const plugins = require("./npmextra.plugins");
|
|||||||
// directories
|
// directories
|
||||||
exports.cwd = process.cwd();
|
exports.cwd = process.cwd();
|
||||||
exports.packageDir = plugins.path.join(__dirname, '../');
|
exports.packageDir = plugins.path.join(__dirname, '../');
|
||||||
|
// keyValueStore specific
|
||||||
|
exports.kvBase = '~/.npmextra/kv';
|
||||||
|
exports.kvCusomDir = plugins.path.join(exports.kvBase, 'custom');
|
||||||
|
exports.kvGitDir = plugins.path.join(exports.kvBase, 'git');
|
||||||
|
exports.kvPathDir = plugins.path.join(exports.kvBase, 'path');
|
||||||
// files
|
// files
|
||||||
exports.configFile = plugins.path.join(exports.cwd, 'npmextra.json');
|
exports.configFile = plugins.path.join(exports.cwd, 'npmextra.json');
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtZXh0cmEucGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ucG1leHRyYS5wYXRocy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsOENBQTZDO0FBRTdDLGNBQWM7QUFDSCxRQUFBLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUE7QUFDbkIsUUFBQSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLEtBQUssQ0FBQyxDQUFBO0FBRTFELFFBQVE7QUFDRyxRQUFBLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFHLEVBQUMsZUFBZSxDQUFDLENBQUEifQ==
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtZXh0cmEucGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ucG1leHRyYS5wYXRocy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsOENBQTZDO0FBRTdDLGNBQWM7QUFDSCxRQUFBLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUE7QUFDbkIsUUFBQSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLEtBQUssQ0FBQyxDQUFBO0FBRTFELHlCQUF5QjtBQUNkLFFBQUEsTUFBTSxHQUFHLGdCQUFnQixDQUFBO0FBQ3pCLFFBQUEsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQU0sRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUNoRCxRQUFBLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFNLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDM0MsUUFBQSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBRXhELFFBQVE7QUFDRyxRQUFBLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFHLEVBQUMsZUFBZSxDQUFDLENBQUEifQ==
|
1
npmextra.json
Normal file
1
npmextra.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "npmextra",
|
"name": "npmextra",
|
||||||
"version": "2.0.0",
|
"version": "2.0.3",
|
||||||
"description": "do more with npm",
|
"description": "do more with npm",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"typings": "dist/index.d.ts",
|
"typings": "dist/index.d.ts",
|
||||||
@ -22,7 +22,7 @@
|
|||||||
"beautylog": "^5.0.23",
|
"beautylog": "^5.0.23",
|
||||||
"lodash": "^4.16.1",
|
"lodash": "^4.16.1",
|
||||||
"q": "^1.4.1",
|
"q": "^1.4.1",
|
||||||
"smartfile": "^4.0.20",
|
"smartfile": "^4.0.21",
|
||||||
"typings-global": "^1.0.14"
|
"typings-global": "^1.0.14"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -1,33 +1,68 @@
|
|||||||
import * as plugins from './npmextra.plugins'
|
import * as plugins from './npmextra.plugins'
|
||||||
|
import * as paths from './npmextra.paths'
|
||||||
|
|
||||||
export type keyValueStoreTypes = 'path' | 'gitProject'
|
export type keyValueStoreTypes = 'path' | 'gitProject' | 'customString'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export class KeyValueStore {
|
export class KeyValueStore {
|
||||||
constructor(optionsArg: {
|
type: string // the type of the kvStore
|
||||||
type: keyValueStoreTypes
|
identity: string // the identity of the kvStore
|
||||||
}) {
|
filePath: string // the filePath of the kvStore
|
||||||
|
constructor(typeArg: keyValueStoreTypes, identityStringArg?: string) {
|
||||||
|
// set kvStoreType
|
||||||
|
this.type = typeArg
|
||||||
|
this.initIdentity(identityStringArg)
|
||||||
|
this.initFilePath()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* reads a keyValueFile from disk
|
||||||
|
*/
|
||||||
|
read() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* reads a keyValueFile from disk
|
* writes a key value file to disk
|
||||||
*/
|
*/
|
||||||
let kvRead () {
|
write() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* writes a key value file to disk
|
* wipes a key value store from disk
|
||||||
*/
|
*/
|
||||||
let kvWrite () {
|
wipe() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wipes a key value store from disk
|
* updates a value
|
||||||
*/
|
*/
|
||||||
let kevWipe () {
|
update() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* computes the identity
|
||||||
|
*/
|
||||||
|
private initIdentity(identityStringArg: string) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* computes the filePath
|
||||||
|
*/
|
||||||
|
private initFilePath() {
|
||||||
|
let baseDir: string
|
||||||
|
if (this.type === 'customString') {
|
||||||
|
baseDir = paths.kvCusomDir
|
||||||
|
} else if (this.type === 'gitProject') {
|
||||||
|
baseDir = paths.kvGitDir
|
||||||
|
} else if (this.type === 'path') {
|
||||||
|
baseDir = paths.kvPathDir
|
||||||
|
}
|
||||||
|
this.filePath = plugins.path.join(baseDir, this.identity + '.json')
|
||||||
|
plugins.smartfile.fs.ensureFileSync(this.filePath,'{}')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ export class Npmextra {
|
|||||||
cwd: string
|
cwd: string
|
||||||
lookupPath: string
|
lookupPath: string
|
||||||
npmextraJsonExists: boolean
|
npmextraJsonExists: boolean
|
||||||
npmextraJsonData: boolean
|
npmextraJsonData: any
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* creates instance of Npmextra
|
* creates instance of Npmextra
|
||||||
@ -27,9 +27,9 @@ export class Npmextra {
|
|||||||
/**
|
/**
|
||||||
* merges the supplied options with the ones from npmextra.json
|
* merges the supplied options with the ones from npmextra.json
|
||||||
*/
|
*/
|
||||||
dataFor(toolnameArg: string, defaultOptionsArg: any) {
|
dataFor<IToolConfig>(toolnameArg: string, defaultOptionsArg: any): IToolConfig {
|
||||||
let npmextraToolOptions
|
let npmextraToolOptions
|
||||||
if(this.npmextraJsonData[toolnameArg]) {
|
if (this.npmextraJsonData[toolnameArg]) {
|
||||||
npmextraToolOptions = this.npmextraJsonData[toolnameArg]
|
npmextraToolOptions = this.npmextraJsonData[toolnameArg]
|
||||||
} else {
|
} else {
|
||||||
npmextraToolOptions = {}
|
npmextraToolOptions = {}
|
||||||
@ -62,6 +62,8 @@ export class Npmextra {
|
|||||||
private checkNpmextraJsonData() {
|
private checkNpmextraJsonData() {
|
||||||
if (this.npmextraJsonExists) {
|
if (this.npmextraJsonExists) {
|
||||||
this.npmextraJsonData = plugins.smartfile.fs.toObjectSync(this.lookupPath)
|
this.npmextraJsonData = plugins.smartfile.fs.toObjectSync(this.lookupPath)
|
||||||
|
} else {
|
||||||
|
this.npmextraJsonData = {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,5 +4,11 @@ import * as plugins from './npmextra.plugins'
|
|||||||
export let cwd = process.cwd()
|
export let cwd = process.cwd()
|
||||||
export let packageDir = plugins.path.join(__dirname,'../')
|
export let packageDir = plugins.path.join(__dirname,'../')
|
||||||
|
|
||||||
|
// keyValueStore specific
|
||||||
|
export let kvBase = '~/.npmextra/kv'
|
||||||
|
export let kvCusomDir = plugins.path.join(kvBase, 'custom')
|
||||||
|
export let kvGitDir = plugins.path.join(kvBase, 'git')
|
||||||
|
export let kvPathDir = plugins.path.join(kvBase, 'path')
|
||||||
|
|
||||||
// files
|
// files
|
||||||
export let configFile = plugins.path.join(cwd,'npmextra.json')
|
export let configFile = plugins.path.join(cwd,'npmextra.json')
|
||||||
|
Reference in New Issue
Block a user