Comparing version 10.0.2 to 11.0.0
@@ -15,3 +15,3 @@ /****************************************************************************** | ||
***************************************************************************** */ | ||
/* global Reflect, Promise, SuppressedError, Symbol */ | ||
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ | ||
@@ -45,4 +45,4 @@ var extendStatics = function(d, b) { | ||
function __generator(thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); | ||
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
@@ -328,3 +328,2 @@ function step(op) { | ||
type = 'EOF'; | ||
// eslint-disable-next-line no-constant-condition | ||
while (true) { | ||
@@ -590,5 +589,4 @@ if (pos >= end) { | ||
function isClass( | ||
// eslint-disable-next-line @typescript-eslint/ban-types | ||
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type | ||
fn) { | ||
/*tslint:disable-next-line*/ | ||
if (typeof fn !== 'function') { | ||
@@ -764,3 +762,3 @@ return false; | ||
// We parse the signature of any `Function`, so we want to allow `Function` types. | ||
/* eslint-disable @typescript-eslint/ban-types */ | ||
/* eslint-disable @typescript-eslint/no-unsafe-function-type */ | ||
/** | ||
@@ -1231,3 +1229,2 @@ * RESOLVER symbol can be used by modules loaded by | ||
/* removed in browser build */ | ||
// tslint:disable-next-line | ||
_a[ROLL_UP_REGISTRATIONS] = rollUpRegistrations, | ||
@@ -1234,0 +1231,0 @@ Object.defineProperty(_a, "registrations", { |
@@ -21,3 +21,3 @@ (function (global, factory) { | ||
***************************************************************************** */ | ||
/* global Reflect, Promise, SuppressedError, Symbol */ | ||
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ | ||
@@ -51,4 +51,4 @@ var extendStatics = function(d, b) { | ||
function __generator(thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); | ||
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
@@ -334,3 +334,2 @@ function step(op) { | ||
type = 'EOF'; | ||
// eslint-disable-next-line no-constant-condition | ||
while (true) { | ||
@@ -596,5 +595,4 @@ if (pos >= end) { | ||
function isClass( | ||
// eslint-disable-next-line @typescript-eslint/ban-types | ||
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type | ||
fn) { | ||
/*tslint:disable-next-line*/ | ||
if (typeof fn !== 'function') { | ||
@@ -770,3 +768,3 @@ return false; | ||
// We parse the signature of any `Function`, so we want to allow `Function` types. | ||
/* eslint-disable @typescript-eslint/ban-types */ | ||
/* eslint-disable @typescript-eslint/no-unsafe-function-type */ | ||
/** | ||
@@ -1237,3 +1235,2 @@ * RESOLVER symbol can be used by modules loaded by | ||
/* removed in browser build */ | ||
// tslint:disable-next-line | ||
_a[ROLL_UP_REGISTRATIONS] = rollUpRegistrations, | ||
@@ -1240,0 +1237,0 @@ Object.defineProperty(_a, "registrations", { |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createContainer = void 0; | ||
exports.createContainer = createContainer; | ||
const util = require("util"); | ||
@@ -41,5 +41,8 @@ const errors_1 = require("./errors"); | ||
} | ||
exports.createContainer = createContainer; | ||
function createContainerInternal(options, parentContainer, parentResolutionStack) { | ||
options = Object.assign({ injectionMode: injection_mode_1.InjectionMode.PROXY, strict: false }, options); | ||
options = { | ||
injectionMode: injection_mode_1.InjectionMode.PROXY, | ||
strict: false, | ||
...options, | ||
}; | ||
/** | ||
@@ -49,3 +52,3 @@ * Tracks the names and lifetimes of the modules being resolved. Used to detect circular | ||
*/ | ||
const resolutionStack = parentResolutionStack !== null && parentResolutionStack !== void 0 ? parentResolutionStack : []; | ||
const resolutionStack = parentResolutionStack ?? []; | ||
// Internal registration store for this container. | ||
@@ -118,3 +121,2 @@ const registrations = {}; | ||
[util.inspect.custom]: inspect, | ||
// tslint:disable-next-line | ||
[ROLL_UP_REGISTRATIONS]: rollUpRegistrations, | ||
@@ -154,3 +156,6 @@ get registrations() { | ||
function rollUpRegistrations() { | ||
return Object.assign(Object.assign({}, (parentContainer && parentContainer[ROLL_UP_REGISTRATIONS]())), registrations); | ||
return { | ||
...(parentContainer && parentContainer[ROLL_UP_REGISTRATIONS]()), | ||
...registrations, | ||
}; | ||
} | ||
@@ -378,2 +383,3 @@ /** | ||
function (uri) { | ||
// eslint-disable-next-line @typescript-eslint/no-require-imports | ||
return require(uri); | ||
@@ -384,3 +390,3 @@ }, | ||
}; | ||
if (opts === null || opts === void 0 ? void 0 : opts.esModules) { | ||
if (opts?.esModules) { | ||
_loadModulesDeps.require = load_module_native_js_1.importModule; | ||
@@ -387,0 +393,0 @@ return (0, load_modules_1.loadModules)(_loadModulesDeps, globPatterns, opts).then(() => container); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createTokenizer = void 0; | ||
exports.createTokenizer = createTokenizer; | ||
/** | ||
@@ -37,3 +37,2 @@ * Creates a tokenizer for the specified source. | ||
type = 'EOF'; | ||
// eslint-disable-next-line no-constant-condition | ||
while (true) { | ||
@@ -213,3 +212,2 @@ if (pos >= end) { | ||
} | ||
exports.createTokenizer = createTokenizer; | ||
/** | ||
@@ -216,0 +214,0 @@ * Determines if the given character is a whitespace character. |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.isLifetimeLonger = exports.Lifetime = void 0; | ||
exports.Lifetime = void 0; | ||
exports.isLifetimeLonger = isLifetimeLonger; | ||
/** | ||
@@ -31,3 +32,2 @@ * Lifetime types. | ||
} | ||
exports.isLifetimeLonger = isLifetimeLonger; | ||
//# sourceMappingURL=lifetime.js.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.listModules = void 0; | ||
exports.listModules = listModules; | ||
const glob = require("fast-glob"); | ||
@@ -25,3 +25,3 @@ const path = require("path"); | ||
function _listModules(globPattern, opts) { | ||
opts = Object.assign({ cwd: process.cwd(), glob: glob.sync }, opts); | ||
opts = { cwd: process.cwd(), glob: glob.sync, ...opts }; | ||
let patternOpts = null; | ||
@@ -63,3 +63,2 @@ if (Array.isArray(globPattern)) { | ||
} | ||
exports.listModules = listModules; | ||
//# sourceMappingURL=list-modules.js.map |
"use strict"; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.loadModules = void 0; | ||
exports.loadModules = loadModules; | ||
const camel_case_1 = require("camel-case"); | ||
@@ -51,3 +42,3 @@ const url_1 = require("url"); | ||
function loadModules(dependencies, globPatterns, opts) { | ||
opts !== null && opts !== void 0 ? opts : (opts = {}); | ||
opts ??= {}; | ||
const container = dependencies.container; | ||
@@ -67,3 +58,2 @@ opts = optsWithDefaults(opts); | ||
} | ||
exports.loadModules = loadModules; | ||
/** | ||
@@ -75,16 +65,14 @@ * Loads the modules using native ES6 modules and the async import() | ||
*/ | ||
function loadEsModules(dependencies, container, modules, opts) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const importPromises = []; | ||
for (const m of modules) { | ||
const fileUrl = (0, url_1.pathToFileURL)(m.path).toString(); | ||
importPromises.push(dependencies.require(fileUrl)); | ||
} | ||
const imports = yield Promise.all(importPromises); | ||
const result = []; | ||
for (let i = 0; i < modules.length; i++) { | ||
result.push(parseLoadedModule(imports[i], modules[i])); | ||
} | ||
return registerModules(result, container, modules, opts); | ||
}); | ||
async function loadEsModules(dependencies, container, modules, opts) { | ||
const importPromises = []; | ||
for (const m of modules) { | ||
const fileUrl = (0, url_1.pathToFileURL)(m.path).toString(); | ||
importPromises.push(dependencies.require(fileUrl)); | ||
} | ||
const imports = await Promise.all(importPromises); | ||
const result = []; | ||
for (let i = 0; i < modules.length; i++) { | ||
result.push(parseLoadedModule(imports[i], modules[i])); | ||
} | ||
return registerModules(result, container, modules, opts); | ||
} | ||
@@ -161,5 +149,10 @@ /** | ||
function optsWithDefaults(opts) { | ||
return Object.assign({ | ||
return { | ||
// Does a somewhat-deep merge on the registration options. | ||
resolverOptions: Object.assign({ lifetime: lifetime_1.Lifetime.TRANSIENT }, (opts && opts.resolverOptions)) }, opts); | ||
resolverOptions: { | ||
lifetime: lifetime_1.Lifetime.TRANSIENT, | ||
...(opts && opts.resolverOptions), | ||
}, | ||
...opts, | ||
}; | ||
} | ||
@@ -192,4 +185,8 @@ /** | ||
} | ||
const regOpts = Object.assign(Object.assign(Object.assign({}, opts.resolverOptions), moduleDescriptorOpts), inlineConfig); | ||
// eslint-disable-next-line @typescript-eslint/ban-types | ||
const regOpts = { | ||
...opts.resolverOptions, | ||
...moduleDescriptorOpts, | ||
...inlineConfig, | ||
}; | ||
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type | ||
const reg = regOpts.register | ||
@@ -196,0 +193,0 @@ ? regOpts.register |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.parseParameterList = void 0; | ||
exports.parseParameterList = parseParameterList; | ||
const function_tokenizer_1 = require("./function-tokenizer"); | ||
@@ -130,3 +130,2 @@ /* | ||
} | ||
exports.parseParameterList = parseParameterList; | ||
//# sourceMappingURL=param-parser.js.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createDisposableResolver = exports.createBuildResolver = exports.aliasTo = exports.asClass = exports.asFunction = exports.asValue = exports.RESOLVER = void 0; | ||
exports.RESOLVER = void 0; | ||
exports.asValue = asValue; | ||
exports.asFunction = asFunction; | ||
exports.asClass = asClass; | ||
exports.aliasTo = aliasTo; | ||
exports.createBuildResolver = createBuildResolver; | ||
exports.createDisposableResolver = createDisposableResolver; | ||
const errors_1 = require("./errors"); | ||
@@ -10,3 +16,3 @@ const injection_mode_1 = require("./injection-mode"); | ||
// We parse the signature of any `Function`, so we want to allow `Function` types. | ||
/* eslint-disable @typescript-eslint/ban-types */ | ||
/* eslint-disable @typescript-eslint/no-unsafe-function-type */ | ||
/** | ||
@@ -34,3 +40,2 @@ * RESOLVER symbol can be used by modules loaded by | ||
} | ||
exports.asValue = asValue; | ||
/** | ||
@@ -61,6 +66,8 @@ * Creates a factory resolver, where the given factory function | ||
const resolve = generateResolve(fn); | ||
const result = Object.assign({ resolve }, opts); | ||
const result = { | ||
resolve, | ||
...opts, | ||
}; | ||
return createDisposableResolver(createBuildResolver(result)); | ||
} | ||
exports.asFunction = asFunction; | ||
/** | ||
@@ -94,5 +101,7 @@ * Like a factory resolver, but for classes that require `new`. | ||
const resolve = generateResolve(newClass, Type); | ||
return createDisposableResolver(createBuildResolver(Object.assign(Object.assign({}, opts), { resolve }))); | ||
return createDisposableResolver(createBuildResolver({ | ||
...opts, | ||
resolve, | ||
})); | ||
} | ||
exports.asClass = asClass; | ||
/** | ||
@@ -110,3 +119,2 @@ * Resolves to the specified registration. Marked as leak-safe since the alias target is what should | ||
} | ||
exports.aliasTo = aliasTo; | ||
/** | ||
@@ -124,9 +132,18 @@ * Given an options object, creates a fluid interface | ||
function setLifetime(value) { | ||
return createBuildResolver(Object.assign(Object.assign({}, this), { lifetime: value })); | ||
return createBuildResolver({ | ||
...this, | ||
lifetime: value, | ||
}); | ||
} | ||
function setInjectionMode(value) { | ||
return createBuildResolver(Object.assign(Object.assign({}, this), { injectionMode: value })); | ||
return createBuildResolver({ | ||
...this, | ||
injectionMode: value, | ||
}); | ||
} | ||
function inject(injector) { | ||
return createBuildResolver(Object.assign(Object.assign({}, this), { injector })); | ||
return createBuildResolver({ | ||
...this, | ||
injector, | ||
}); | ||
} | ||
@@ -144,3 +161,2 @@ return updateResolver(obj, { | ||
} | ||
exports.createBuildResolver = createBuildResolver; | ||
/** | ||
@@ -153,3 +169,6 @@ * Given a resolver, returns an object with methods to manage the disposer | ||
function disposer(dispose) { | ||
return createDisposableResolver(Object.assign(Object.assign({}, this), { dispose })); | ||
return createDisposableResolver({ | ||
...this, | ||
dispose, | ||
}); | ||
} | ||
@@ -160,3 +179,2 @@ return updateResolver(obj, { | ||
} | ||
exports.createDisposableResolver = createDisposableResolver; | ||
/** | ||
@@ -191,3 +209,6 @@ * Partially apply arguments to the given function. | ||
function updateResolver(source, target) { | ||
const result = Object.assign(Object.assign({}, source), target); | ||
const result = { | ||
...source, | ||
...target, | ||
}; | ||
return result; | ||
@@ -194,0 +215,0 @@ } |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.uniq = exports.isFunction = exports.isClass = exports.last = exports.nameValueToObject = exports.flatten = void 0; | ||
exports.flatten = flatten; | ||
exports.nameValueToObject = nameValueToObject; | ||
exports.last = last; | ||
exports.isClass = isClass; | ||
exports.isFunction = isFunction; | ||
exports.uniq = uniq; | ||
const function_tokenizer_1 = require("./function-tokenizer"); | ||
@@ -23,3 +28,2 @@ /** | ||
} | ||
exports.flatten = flatten; | ||
/** | ||
@@ -43,3 +47,2 @@ * Creates a { name: value } object if the input isn't already in that format. | ||
} | ||
exports.nameValueToObject = nameValueToObject; | ||
/** | ||
@@ -57,3 +60,2 @@ * Returns the last item in the array. | ||
} | ||
exports.last = last; | ||
/** | ||
@@ -66,5 +68,4 @@ * Determines if the given function is a class. | ||
function isClass( | ||
// eslint-disable-next-line @typescript-eslint/ban-types | ||
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type | ||
fn) { | ||
/*tslint:disable-next-line*/ | ||
if (typeof fn !== 'function') { | ||
@@ -87,3 +88,2 @@ return false; | ||
} | ||
exports.isClass = isClass; | ||
/** | ||
@@ -101,3 +101,2 @@ * Determines if the given value is a function. | ||
} | ||
exports.isFunction = isFunction; | ||
/** | ||
@@ -115,3 +114,2 @@ * Returns the unique items in the array. | ||
} | ||
exports.uniq = uniq; | ||
//# sourceMappingURL=utils.js.map |
{ | ||
"name": "awilix", | ||
"version": "10.0.2", | ||
"version": "11.0.0", | ||
"description": "Extremely powerful dependency injection container.", | ||
@@ -13,3 +13,3 @@ "main": "lib/awilix.js", | ||
"engines": { | ||
"node": ">=14.0.0" | ||
"node": ">=16.3.0" | ||
}, | ||
@@ -53,19 +53,16 @@ "scripts": { | ||
"devDependencies": { | ||
"@babel/core": "^7.23.7", | ||
"@babel/plugin-transform-runtime": "^7.23.7", | ||
"@babel/preset-env": "^7.23.7", | ||
"@babel/runtime": "^7.23.7", | ||
"@types/jest": "^29.5.11", | ||
"@types/node": "^20.10.7", | ||
"@typescript-eslint/eslint-plugin": "^6.18.0", | ||
"@typescript-eslint/parser": "^6.18.0", | ||
"@babel/core": "^7.25.2", | ||
"@babel/plugin-transform-runtime": "^7.25.4", | ||
"@babel/preset-env": "^7.25.4", | ||
"@babel/runtime": "^7.25.4", | ||
"@types/jest": "^29.5.12", | ||
"@types/node": "^22.5.0", | ||
"babel-jest": "^29.7.0", | ||
"eslint": "^8.56.0", | ||
"eslint-config-prettier": "^9.1.0", | ||
"husky": "^8.0.3", | ||
"eslint": "^9.9.1", | ||
"husky": "^9.1.5", | ||
"jest": "^29.7.0", | ||
"lint-staged": "^13.2.0", | ||
"prettier": "^3.1.1", | ||
"rimraf": "^5.0.5", | ||
"rollup": "^3.20.2", | ||
"lint-staged": "^15.2.9", | ||
"prettier": "^3.3.3", | ||
"rimraf": "^6.0.1", | ||
"rollup": "^4.21.0", | ||
"rollup-plugin-commonjs": "^10.1.0", | ||
@@ -77,5 +74,6 @@ "rollup-plugin-copy": "^3.5.0", | ||
"smid": "^0.1.1", | ||
"ts-jest": "^29.1.1", | ||
"tslib": "^2.6.2", | ||
"typescript": "^5.3.3" | ||
"ts-jest": "^29.2.5", | ||
"tslib": "^2.7.0", | ||
"typescript": "^5.5.4", | ||
"typescript-eslint": "^8.2.0" | ||
}, | ||
@@ -82,0 +80,0 @@ "dependencies": { |
@@ -1413,2 +1413,3 @@ # Awilix | ||
- [`fastify-awilix`](https://github.com/fastify/fastify-awilix): Bindings for the Fastify framework. | ||
- [`awilix-vite`](https://github.com/kvist-no/awilix-vite): Use Awilix in Vite projects. | ||
@@ -1415,0 +1416,0 @@ # Contributing |
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
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
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
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
24
7064
1427
325812