Comparing version 0.0.1 to 0.2.1
{ | ||
"name": "exm", | ||
"version": "0.0.1", | ||
"author": "Roarke Lynch <roarkely@gmail.com>", | ||
"description": "A (hobby) library to support the encoding of Javascript object inheritance in JSON.", | ||
"main": "./lib/exm.js", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/roarkely/exm.git" | ||
"version": "0.2.1", | ||
"description": "EXtension Manager.", | ||
"main": "lib/Exm.js", | ||
"engines": { | ||
"node": ">=12.13.0" | ||
}, | ||
"scripts": { | ||
"test": "mocha ./tests" | ||
"directories": { | ||
"test": "test" | ||
}, | ||
"bin": { | ||
"exm": "./bin/exm" | ||
}, | ||
"dependencies": { | ||
"underscore": "1.6.x" | ||
"exec-kit": "^0.1.0", | ||
"fs-kit": "^0.5.0", | ||
"lazyness": "^1.2.0", | ||
"semver": "^7.1.1", | ||
"seventh": "^0.7.30", | ||
"terminal-kit": "^1.32.3", | ||
"utterminal": "^0.5.42" | ||
}, | ||
"devDependencies": { | ||
"mocha": "1.18.x" | ||
"devDependencies": {}, | ||
"scripts": { | ||
"test": "tea-time -R dot" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/cronvel/exm.git" | ||
}, | ||
"keywords": [ | ||
"extension", | ||
"manager" | ||
], | ||
"author": "Cédric Ronvel", | ||
"license": "MIT", | ||
"engines": { | ||
"node": ">=0.10.22" | ||
"bugs": { | ||
"url": "https://github.com/cronvel/exm/issues" | ||
}, | ||
"directories": { | ||
"test": "tests" | ||
"config": { | ||
"tea-time": { | ||
"coverDir": [ | ||
"lib" | ||
] | ||
} | ||
}, | ||
"keywords": [ | ||
"javascript", | ||
"JSON", | ||
"inheritance" | ||
] | ||
"copyright": { | ||
"title": "EXM", | ||
"years": [ | ||
2020 | ||
], | ||
"owner": "Cédric Ronvel" | ||
} | ||
} |
@@ -1,89 +0,6 @@ | ||
exm | ||
=== | ||
A (hobby) library to support the encoding of Javascript object inheritance in JSON. This library is not yet available via NPM, and is under active pre-release development. | ||
## Inserting external values | ||
You can insert external values into object fields if the value for any key starts with the dot-space `'. <url>'` notation. | ||
# EXM: EXtension Manager | ||
/** example.js */ | ||
var exm = require('exm'); | ||
var blueprint = { | ||
"hello" : ". http://example.com/hello" | ||
}; | ||
exm(blueprint, function(err, result) { | ||
console.log( JSON.stringify(result) ); | ||
}); | ||
/** http://example.com/hello */ | ||
{ | ||
"name": "Gulliver", | ||
"title": "Mr.", | ||
"aliases", [ "Manfred", "Allen", "Bob" ] | ||
} | ||
/** result */ | ||
{ | ||
"hello" : { | ||
"name": "Gulliver", | ||
"title": "Mr.", | ||
"aliases", [ "Manfred", "Allen", "Bob" ] | ||
} | ||
} | ||
An extension/plugin manager for node.js. | ||
## Insert in place | ||
Using a variation on the dot-space notion, you can use _exm_ to inherit from external objects. When an object key is `"."`, the value is used as the external URL. | ||
/** blueprint */ | ||
{ | ||
"." : "http://example.com/hello" | ||
"title" : "Sgt.", | ||
"phone" : "301-555-1234" | ||
} | ||
/** result */ | ||
{ | ||
"name": "Gulliver", | ||
"title" : "Sgt.", | ||
"phone" : "301-555-1234", | ||
"aliases", [ "Manfred", "Allen", "Bob" ] | ||
} | ||
Notice that the value for inhertited field `title` was overridden, and the new field `phone` was added. | ||
Inserting in place can be used anywhere in the blueprint object. | ||
/** blueprint */ | ||
{ | ||
"foo" : "bar", | ||
"hello" : { | ||
"." : "http://example.com/hello" | ||
} | ||
} | ||
/** result */ | ||
{ | ||
"foo" : "bar", | ||
"hello" : { | ||
"name": "Gulliver", | ||
"title": "Mr." | ||
}, | ||
"aliases", [ "Manfred", "Allen", "Bob" ] | ||
} | ||
## Arrays | ||
**UNDER DEVELOPMENT** | ||
Because order in array values is important, there are additional notions that allow you to control what | ||
{ | ||
"hello" : [ | ||
"..", | ||
"0..n", | ||
"0..2", | ||
". http://foobar" | ||
] | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 2 instances in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
0
12
0
0
19308
7
400
7
5
+ Addedexec-kit@^0.1.0
+ Addedfs-kit@^0.5.0
+ Addedlazyness@^1.2.0
+ Addedsemver@^7.1.1
+ Addedseventh@^0.7.30
+ Addedterminal-kit@^1.32.3
+ Addedutterminal@^0.5.42
+ Added@cronvel/get-pixels@3.4.1(transitive)
+ Addedbalanced-match@1.0.2(transitive)
+ Addedbrace-expansion@1.1.11(transitive)
+ Addedchroma-js@2.6.0(transitive)
+ Addedconcat-map@0.0.1(transitive)
+ Addedcwise-compiler@1.1.3(transitive)
+ Addedexec-kit@0.1.0(transitive)
+ Addedfs-kit@0.5.1(transitive)
+ Addedfs.realpath@1.0.0(transitive)
+ Addedglob@7.2.3(transitive)
+ Addedinflight@1.0.6(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addediota-array@1.0.0(transitive)
+ Addedis-buffer@1.1.6(transitive)
+ Addedjpeg-js@0.4.4(transitive)
+ Addedlazyness@1.2.0(transitive)
+ Addedminimatch@3.1.2(transitive)
+ Addedncp@2.0.0(transitive)
+ Addedndarray@1.0.19(transitive)
+ Addedndarray-pack@1.2.1(transitive)
+ Addednextgen-events@1.5.3(transitive)
+ Addednode-bitmap@0.0.1(transitive)
+ Addedomggif@1.0.10(transitive)
+ Addedonce@1.4.0(transitive)
+ Addedpath-is-absolute@1.0.1(transitive)
+ Addedpngjs@6.0.0(transitive)
+ Addedrimraf@2.7.13.0.2(transitive)
+ Addedsemver@7.6.3(transitive)
+ Addedsetimmediate@1.0.5(transitive)
+ Addedseventh@0.7.400.9.2(transitive)
+ Addedstring-kit@0.11.100.17.100.18.3(transitive)
+ Addedterminal-kit@1.49.43.1.1(transitive)
+ Addedtmp@0.1.0(transitive)
+ Addedtouch@3.1.1(transitive)
+ Addedtree-kit@0.7.50.8.7(transitive)
+ Addeduniq@1.0.1(transitive)
+ Addedutterminal@0.5.52(transitive)
+ Addedwrappy@1.0.2(transitive)
- Removedunderscore@1.6.x
- Removedunderscore@1.6.0(transitive)