Socket
Socket
Sign inDemoInstall

knifecycle

Package Overview
Dependencies
Maintainers
1
Versions
100
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

knifecycle - npm Package Compare versions

Comparing version 9.0.0 to 9.1.0

dist/build.mjs

9

CHANGELOG.md

@@ -0,1 +1,10 @@

# [9.1.0](https://github.com/nfroidure/knifecycle/compare/v9.0.0...v9.1.0) (2020-04-01)
### Features
* **core:** add support for esm ([bbb3491](https://github.com/nfroidure/knifecycle/commit/bbb3491961eafe0b0d6fca22b57f295d02fdb43b))
# [9.0.0](https://github.com/nfroidure/knifecycle/compare/v8.1.0...v9.0.0) (2020-03-20)

@@ -2,0 +11,0 @@

80

package.json
{
"name": "knifecycle",
"version": "9.0.0",
"version": "9.1.0",
"description": "Manage your NodeJS processes's lifecycle automatically with an unobtrusive dependency injection implementation.",
"main": "dist/index.js",
"types": "src/index.d.ts",
"main": "dist/index",
"module": "dist/index.mjs",
"types": "dist/index.d.ts",
"repository": {

@@ -50,3 +51,5 @@ "type": "git",

"cli": "env NODE_ENV=${NODE_ENV:-cli}",
"compile": "babel src --out-dir=dist --source-maps=true",
"compile": "rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs",
"compile:cjs": "babel --env-name=cjs --out-dir=dist --source-maps=true src",
"compile:mjs": "babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --source-maps=true src",
"cover": "nyc npm test && nyc report --reporter=html --reporter=text",

@@ -60,3 +63,3 @@ "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls && rm -rf ./coverage",

"mocha": "mocha --require '@babel/register' src/*.mocha.js",
"precz": "npm t && npm run lint && npm run doc && npm run architecture && npm run metapak -- -s && npm run compile",
"precz": "npm run lint && npm t && npm run compile && npm run doc && npm run architecture && npm run metapak -- -s",
"prepublish": "npm run compile",

@@ -83,8 +86,8 @@ "prettier": "prettier --write src/*.js",

"@babel/cli": "^7.8.4",
"@babel/core": "^7.8.7",
"@babel/plugin-proposal-object-rest-spread": "^7.8.3",
"@babel/preset-env": "^7.8.7",
"@babel/register": "^7.8.6",
"@babel/core": "^7.9.0",
"@babel/plugin-proposal-object-rest-spread": "^7.9.0",
"@babel/preset-env": "^7.9.0",
"@babel/register": "^7.9.0",
"babel-eslint": "^10.1.0",
"browserify": "^16.2.3",
"browserify": "^16.5.1",
"commitizen": "^4.0.3",

@@ -99,13 +102,13 @@ "conventional-changelog-cli": "^2.0.31",

"karma": "^4.4.1",
"karma-browserify": "^6.0.0",
"karma-browserify": "^7.0.0",
"karma-chrome-launcher": "^3.1.0",
"karma-firefox-launcher": "^1.3.0",
"karma-mocha": "^1.3.0",
"karma-sauce-launcher": "^2.0.2",
"karma-sauce-launcher": "^4.1.2",
"metapak": "^3.1.8",
"metapak-nfroidure": "10.0.1",
"metapak-nfroidure": "10.1.2",
"mocha": "^7.1.1",
"nyc": "^15.0.0",
"prettier": "^1.19.1",
"sinon": "^7.2.6"
"prettier": "^2.0.2",
"sinon": "^9.0.1"
},

@@ -181,3 +184,10 @@ "dependencies": {

},
"bugs": {
"url": "https://github.com/nfroidure/knifecycle/issues"
},
"homepage": "https://github.com/nfroidure/knifecycle#readme",
"babel": {
"plugins": [
"@babel/plugin-proposal-object-rest-spread"
],
"presets": [

@@ -193,10 +203,34 @@ [

],
"plugins": [
"@babel/plugin-proposal-object-rest-spread"
]
},
"bugs": {
"url": "https://github.com/nfroidure/knifecycle/issues"
},
"homepage": "https://github.com/nfroidure/knifecycle#readme"
"env": {
"cjs": {
"presets": [
[
"@babel/env",
{
"targets": {
"node": "10"
},
"modules": "commonjs"
}
]
],
"comments": true
},
"mjs": {
"presets": [
[
"@babel/env",
{
"targets": {
"node": "12"
},
"modules": "false"
}
]
],
"comments": false
}
},
"sourceMaps": true
}
}

@@ -67,3 +67,3 @@ import { SPECIAL_PROPS, parseDependencyDeclaration, initializer } from './util';

const dependencyTrees = await Promise.all(
dependencies.map(dependency =>
dependencies.map((dependency) =>
buildDependencyTree({ $autoload }, dependency),

@@ -85,3 +85,3 @@ ),

// Definition batch #${index}${batch
.map(name => {
.map((name) => {
if (

@@ -111,3 +111,3 @@ 'constant' ===

const batch${index} = {${batch
.map(name => {
.map((name) => {
if (

@@ -147,3 +147,3 @@ 'constant' ===

${batch
.map(name => {
.map((name) => {
return `

@@ -198,3 +198,3 @@ services['${name}'] = await batch${index}['${name}'];`;

const childNodes = await Promise.all(
initializer[SPECIAL_PROPS.INJECT].map(childDependencyDeclaration =>
initializer[SPECIAL_PROPS.INJECT].map((childDependencyDeclaration) =>
buildDependencyTree({ $autoload }, childDependencyDeclaration),

@@ -232,3 +232,3 @@ ),

node.__childNodes.forEach(childNode => {
node.__childNodes.forEach((childNode) => {
hash = buildHashFromNode(childNode, hash);

@@ -235,0 +235,0 @@ });

@@ -121,3 +121,3 @@ /* eslint max-len: ["warn", { "ignoreComments": true }] */

async ({ $siloContext }) => ({
service: async dependenciesDeclarations =>
service: async (dependenciesDeclarations) =>
_buildFinalHash(

@@ -237,3 +237,3 @@ await this._initializeDependencies(

initializer[SPECIAL_PROPS.INJECT].forEach(dependencyDeclaration => {
initializer[SPECIAL_PROPS.INJECT].forEach((dependencyDeclaration) => {
this._lookupCircularDependencies(

@@ -256,4 +256,4 @@ initializer[SPECIAL_PROPS.NAME],

...this._silosContexts.values(),
].some(siloContext =>
siloContext.servicesSequence.some(sequence =>
].some((siloContext) =>
siloContext.servicesSequence.some((sequence) =>
sequence.includes(initializer[SPECIAL_PROPS.NAME]),

@@ -310,3 +310,3 @@ ),

dependencyProvider[SPECIAL_PROPS.INJECT].forEach(
childDependencyDeclaration => {
(childDependencyDeclaration) => {
const childServiceName = _pickServiceNameFromDeclaration(

@@ -366,3 +366,3 @@ childDependencyDeclaration,

const links = Array.from(servicesProviders.keys())
.filter(provider => !provider.startsWith('$'))
.filter((provider) => !provider.startsWith('$'))
.reduce((links, serviceName) => {

@@ -375,3 +375,3 @@ const serviceProvider = servicesProviders.get(serviceName);

return links.concat(
serviceProvider[SPECIAL_PROPS.INJECT].map(dependencyDeclaration => {
serviceProvider[SPECIAL_PROPS.INJECT].map((dependencyDeclaration) => {
const dependedServiceName = _pickServiceNameFromDeclaration(

@@ -395,5 +395,5 @@ dependencyDeclaration,

({ serviceName, dependedServiceName }) =>
` ${_applyShapes(shapes, serviceName) ||
serviceName}-->${_applyShapes(shapes, dependedServiceName) ||
dependedServiceName}`,
` ${_applyShapes(shapes, serviceName) || serviceName}-->${
_applyShapes(shapes, dependedServiceName) || dependedServiceName
}`,
),

@@ -403,3 +403,3 @@ )

Object.keys(classes).map(
className => ` classDef ${className} ${classes[className]}`,
(className) => ` classDef ${className} ${classes[className]}`,
),

@@ -409,3 +409,3 @@ )

Object.keys(classesApplications).map(
serviceName =>
(serviceName) =>
` class ${serviceName} ${classesApplications[serviceName]};`,

@@ -468,3 +468,3 @@ ),

promise: new Promise((resolve, reject) => {
siloContext.throwFatalError = err => {
siloContext.throwFatalError = (err) => {
debug('Handled a fatal error', err);

@@ -501,3 +501,3 @@ reject(err);

await Promise.all(
reversedServiceSequence.pop().map(async serviceName => {
reversedServiceSequence.pop().map(async (serviceName) => {
const singletonServiceDescriptor = await _this._pickupSingletonServiceDescriptorPromise(

@@ -519,3 +519,3 @@ serviceName,

if (
reversedServiceSequence.some(servicesDeclarations =>
reversedServiceSequence.some((servicesDeclarations) =>
servicesDeclarations.includes(serviceName),

@@ -601,3 +601,3 @@ )

Promise.all(
[...this._silosContexts].map(siloContext => {
[...this._silosContexts].map((siloContext) => {
const $dispose = siloContext.servicesDescriptors.get(DISPOSE).service;

@@ -915,3 +915,3 @@

const servicesDescriptors = await Promise.all(
servicesDeclarations.map(async serviceDeclaration => {
servicesDeclarations.map(async (serviceDeclaration) => {
const { mappedName, optional } = parseDependencyDeclaration(

@@ -963,3 +963,3 @@ serviceDeclaration,

const services = await Promise.all(
servicesDescriptors.map(async serviceDescriptor => {
servicesDescriptors.map(async (serviceDescriptor) => {
if (!serviceDescriptor) {

@@ -1076,3 +1076,3 @@ return {}.undef;

}
return servicePromise.then(_service_ =>
return servicePromise.then((_service_) =>
Promise.resolve({

@@ -1079,0 +1079,0 @@ service: _service_,

@@ -204,3 +204,3 @@ /* eslint max-nested-callbacks:0 */

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_BAD_INITIALIZER');

@@ -218,3 +218,3 @@ assert.deepEqual(err.params, ['not_a_function']);

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_ANONYMOUS_ANALYZER');

@@ -235,3 +235,3 @@ assert.deepEqual(err.params, []);

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_BAD_INITIALIZER_TYPE');

@@ -258,3 +258,3 @@ assert.deepEqual(err.params, [

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_UNDEFINED_CONSTANT_INITIALIZER');

@@ -277,3 +277,3 @@ assert.deepEqual(err.params, ['THE_NUMBER']);

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_NON_SINGLETON_CONSTANT_INITIALIZER');

@@ -295,3 +295,3 @@ assert.deepEqual(err.params, ['THE_NUMBER']);

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_BAD_VALUED_NON_CONSTANT_INITIALIZER');

@@ -317,3 +317,3 @@ assert.deepEqual(err.params, ['myService']);

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_BAD_AUTOLOADER');

@@ -337,3 +337,3 @@ assert.deepEqual(err.params, [{}]);

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_CIRCULAR_DEPENDENCY');

@@ -351,3 +351,3 @@ assert.deepEqual(err.params, ['hash']);

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_CIRCULAR_DEPENDENCY');

@@ -368,3 +368,3 @@ assert.deepEqual(err.params, ['hash']);

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_CIRCULAR_DEPENDENCY');

@@ -385,3 +385,3 @@ assert.deepEqual(err.params, ['hash3', 'hash', 'hash3']);

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_CIRCULAR_DEPENDENCY');

@@ -408,3 +408,3 @@ assert.deepEqual(err.params, [

},
err => {
(err) => {
assert.deepEqual(err.code, 'E_CIRCULAR_DEPENDENCY');

@@ -697,3 +697,3 @@ assert.deepEqual(err.params, ['hash3', 'hash>aHash', 'hash3>aHash3']);

},
async () => async serviceName => ({
async () => async (serviceName) => ({
path: '/path/of/debug',

@@ -734,3 +734,3 @@ initializer: initializer(

},
async () => async serviceName => ({
async () => async (serviceName) => ({
path: `/path/to/${serviceName}`,

@@ -779,3 +779,3 @@ initializer: initializer(

},
async () => async serviceName => {
async () => async (serviceName) => {
if ('ENV' === serviceName) {

@@ -815,3 +815,3 @@ throw new YError('E_UNMATCHED_DEPENDENCY');

},
async () => async serviceName => ({
async () => async (serviceName) => ({
path: `/path/to/${serviceName}`,

@@ -862,3 +862,3 @@ initializer: initializer(

},
async () => async serviceName => {
async () => async (serviceName) => {
throw new YError('E_CANNOT_AUTOLOAD', serviceName);

@@ -913,3 +913,3 @@ },

},
async () => async serviceName => ({
async () => async (serviceName) => ({
path: '/path/of/debug',

@@ -948,3 +948,3 @@ initializer: initializer(

},
async () => async serviceName => ({
async () => async (serviceName) => ({
path: '/path/of/debug',

@@ -983,3 +983,3 @@ initializer: initializer(

},
async () => async serviceName => ({
async () => async (serviceName) => ({
path: `/path/of/${serviceName}`,

@@ -1028,3 +1028,3 @@ initializer: initializer(

},
async () => async serviceName => ({
async () => async (serviceName) => ({
path: `/path/of/${serviceName}`,

@@ -1217,3 +1217,3 @@ initializer: initializer(

await Promise.all(
dependenciesBuckets.map(dependencies =>
dependenciesBuckets.map((dependencies) =>
dependencies.$instance.destroy(),

@@ -1295,3 +1295,3 @@ ),

let shutdownResolve;
const shutdownCallPromise = new Promise(resolve => {
const shutdownCallPromise = new Promise((resolve) => {
shutdownCallResolve = resolve;

@@ -1301,3 +1301,3 @@ });

shutdownCallResolve();
return new Promise(resolve => {
return new Promise((resolve) => {
shutdownResolve = resolve;

@@ -1355,3 +1355,3 @@ });

let shutdownResolve;
const shutdownCallPromise = new Promise(resolve => {
const shutdownCallPromise = new Promise((resolve) => {
shutdownCallResolve = resolve;

@@ -1361,3 +1361,3 @@ });

shutdownCallResolve();
return new Promise(resolve => {
return new Promise((resolve) => {
shutdownResolve = resolve;

@@ -1364,0 +1364,0 @@ });

@@ -49,3 +49,3 @@ import YError from 'yerror';

function nodeIsInBatches(batches, node) {
return batches.some(batch => batch.includes(node.__name));
return batches.some((batch) => batch.includes(node.__name));
}

@@ -38,3 +38,3 @@ import YError from 'yerror';

export const ALLOWED_SPECIAL_PROPS = Object.keys(SPECIAL_PROPS).map(
key => SPECIAL_PROPS[key],
(key) => SPECIAL_PROPS[key],
);

@@ -57,3 +57,3 @@ export const DECLARATION_SEPARATOR = '>';

return [...new Set(Object.keys(from).concat(Object.keys(amend)))]
.filter(prop => prop.startsWith(SPECIAL_PROPS_PREFIX))
.filter((prop) => prop.startsWith(SPECIAL_PROPS_PREFIX))
.reduce((fn, prop) => {

@@ -84,3 +84,3 @@ const value =

export function wrapInitializer(wrapper, baseInitializer) {
return reuseSpecialProps(baseInitializer, async services => {
return reuseSpecialProps(baseInitializer, async (services) => {
const baseInstance = await baseInitializer(services);

@@ -192,3 +192,3 @@

.map(
injection =>
(injection) =>
(injection.includes('=') ? '?' : '') +

@@ -201,3 +201,3 @@ injection

)
.filter(injection => !/[)(\][]/.test(injection));
.filter((injection) => !/[)(\][]/.test(injection));
}

@@ -231,3 +231,3 @@

const sameDependencyDeclaration = currentDedupedDepencencies.find(
maybeSameDependencyDeclaration =>
(maybeSameDependencyDeclaration) =>
maybeSameDependencyDeclaration.serviceName ===

@@ -234,0 +234,0 @@ dependencyDeclaration.serviceName,

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc