@tsed/components-scan 6.80.1 → 6.81.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/index.modern.js +2 -2
- package/lib/index.modern.js.map +1 -1
- package/package.json +3 -3
package/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var path = require('path');
|
|
2
1
|
var core = require('@tsed/core');
|
|
2
|
+
var path = require('path');
|
|
3
3
|
var di = require('@tsed/di');
|
|
4
4
|
|
|
5
5
|
function _interopNamespace(e) {
|
|
@@ -68,7 +68,7 @@ async function importFiles(patterns, exclude) {
|
|
|
68
68
|
if (!file.endsWith(".d.ts")) {
|
|
69
69
|
// prevent .d.ts import if the global pattern isn't correctly configured
|
|
70
70
|
try {
|
|
71
|
-
const exports = await
|
|
71
|
+
const exports = await core.importPackage(file);
|
|
72
72
|
Object.keys(exports).forEach(key => symbols.push(exports[key]));
|
|
73
73
|
} catch (er) {
|
|
74
74
|
// istanbul ignore next
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/isTsEnv.ts","../src/normalizePath.ts","../src/cleanGlobPatterns.ts","../src/importFiles.ts","../src/importComponents.ts","../src/importProviders.ts"],"sourcesContent":["export function isTsEnv() {\n return (\n (require && require.extensions && require.extensions[\".ts\"]) ||\n process.env[\"TS_TEST\"] ||\n process.env.JEST_WORKER_ID !== undefined ||\n process.env.NODE_ENV === \"test\"\n );\n}\n","import {isArray, isString} from \"@tsed/core\";\nimport {join} from \"path\";\n\nconst fixPath = require(\"normalize-path\");\n\nexport function normalizePath(item: string, ...paths: string[]): string;\nexport function normalizePath(item: (string | any)[]): (string | any)[];\nexport function normalizePath(item: any, ...paths: string[]) {\n if (isString(item)) {\n const path = join(item, ...paths);\n return fixPath(path);\n }\n\n if (isArray(item)) {\n return item.map((item: any) => normalizePath(item));\n }\n\n return item;\n}\n","import {resolve} from \"path\";\nimport {isTsEnv} from \"./isTsEnv\";\nimport {normalizePath} from \"./normalizePath\";\n\nfunction mapExcludes(excludes: string[]) {\n return excludes.map((s: string) => `!${s.replace(/!/gi, \"\")}`);\n}\n\nfunction mapExtensions(file: string): string {\n if (!isTsEnv()) {\n file = file.replace(/\\.ts$/i, \".js\").replace(/{\\.ts,\\.js}$/i, \".js\");\n }\n\n return file;\n}\n\nexport function cleanGlobPatterns(files: string | string[], excludes: string[]): string[] {\n return []\n .concat(files as never)\n .map((s: string) => resolve(s))\n .concat(mapExcludes(excludes) as never)\n .map(mapExtensions)\n .map((s: string) => normalizePath(s));\n}\n","import {cleanGlobPatterns} from \"./cleanGlobPatterns\";\n\nexport async function importFiles(patterns: string | string[], exclude: string[]): Promise<any[]> {\n const {default: globby} = await import(\"globby\");\n const files = await globby(cleanGlobPatterns(patterns, exclude));\n const symbols: any[] = [];\n\n for (const file of files) {\n if (!file.endsWith(\".d.ts\")) {\n // prevent .d.ts import if the global pattern isn't correctly configured\n try {\n const exports = await import(file);\n Object.keys(exports).forEach((key) => symbols.push(exports[key]));\n } catch (er) {\n // istanbul ignore next\n console.error(er);\n // istanbul ignore next\n process.exit(1);\n }\n }\n }\n\n return symbols;\n}\n","import {isArray, isClass} from \"@tsed/core\";\nimport {importFiles} from \"./importFiles\";\n\nasync function resolveSymbols(item: any, excludes: string[]) {\n if (isClass(item)) {\n return [item];\n }\n /* istanbul ignore else */\n if (!process.env.WEBPACK) {\n return importFiles(item, excludes);\n }\n\n /* istanbul ignore next */\n return [];\n}\n\nexport function mapConfiguration(config: any): {endpoint?: string; values: any[]}[] {\n if (isArray(config)) {\n return config.map((value: any) => {\n return {\n values: [].concat(value)\n };\n });\n }\n\n return Object.keys(config).reduce((list: any[], key: string) => {\n list.push({\n endpoint: key,\n values: [].concat(config[key])\n });\n\n return list;\n }, []);\n}\n\nexport async function importComponents(config: any, excludes: string[]): Promise<{token: string; route?: string}[]> {\n if (!config) {\n return [];\n }\n\n config = mapConfiguration(config);\n\n const promises: any = [];\n\n for (const option of config) {\n promises.push(\n ...option.values.map(async (value: any) => {\n const symbols = await resolveSymbols(value, excludes);\n\n return symbols.filter(isClass).map((symbol) => ({token: symbol, route: option.endpoint}));\n })\n );\n }\n\n const result: {token: string; route?: string}[][] = await Promise.all(promises);\n\n return result.flat();\n}\n","import {GlobalProviders, Provider, ProviderType} from \"@tsed/di\";\nimport {importComponents} from \"./importComponents\";\n\nasync function recursiveImports(providers: {token: string; route?: string}[], settings: Partial<TsED.Configuration>, properties: string[]) {\n const {exclude = []} = settings;\n\n const promises = providers\n .map(({token}) => GlobalProviders.get(token))\n .filter((provider) => provider?.type === ProviderType.MODULE && provider.configuration)\n .map((provider: Provider) => importProviders({exclude, ...provider.configuration}, properties));\n\n return (await Promise.all(promises)).flat();\n}\n\n/**\n * Import providers from given patterns.\n *\n * @param settings\n * @param properties\n */\nexport async function importProviders(\n settings: Partial<TsED.Configuration>,\n properties: string[] = [\"imports\"]\n): Promise<{token: string; route?: string}[]> {\n const {exclude = []} = settings;\n\n const promises = properties.map((key) => importComponents(settings[key], exclude));\n const providers = (await Promise.all(promises)).flat();\n const children = await recursiveImports(providers, settings, properties);\n\n return [...children, ...providers];\n}\n"],"names":["isTsEnv","require","extensions","process","env","JEST_WORKER_ID","undefined","NODE_ENV","fixPath","normalizePath","item","paths","isString","path","join","isArray","map","mapExcludes","excludes","s","replace","mapExtensions","file","cleanGlobPatterns","files","concat","resolve","importFiles","patterns","exclude","default","globby","symbols","endsWith","exports","Object","keys","forEach","key","push","er","console","error","exit","resolveSymbols","isClass","WEBPACK","mapConfiguration","config","value","values","reduce","list","endpoint","importComponents","promises","option","filter","symbol","token","route","result","Promise","all","flat","recursiveImports","providers","settings","properties","GlobalProviders","get","provider","type","ProviderType","MODULE","configuration","importProviders","children"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/isTsEnv.ts","../src/normalizePath.ts","../src/cleanGlobPatterns.ts","../src/importFiles.ts","../src/importComponents.ts","../src/importProviders.ts"],"sourcesContent":["export function isTsEnv() {\n return (\n (require && require.extensions && require.extensions[\".ts\"]) ||\n process.env[\"TS_TEST\"] ||\n process.env.JEST_WORKER_ID !== undefined ||\n process.env.NODE_ENV === \"test\"\n );\n}\n","import {isArray, isString} from \"@tsed/core\";\nimport {join} from \"path\";\n\nconst fixPath = require(\"normalize-path\");\n\nexport function normalizePath(item: string, ...paths: string[]): string;\nexport function normalizePath(item: (string | any)[]): (string | any)[];\nexport function normalizePath(item: any, ...paths: string[]) {\n if (isString(item)) {\n const path = join(item, ...paths);\n return fixPath(path);\n }\n\n if (isArray(item)) {\n return item.map((item: any) => normalizePath(item));\n }\n\n return item;\n}\n","import {resolve} from \"path\";\nimport {isTsEnv} from \"./isTsEnv\";\nimport {normalizePath} from \"./normalizePath\";\n\nfunction mapExcludes(excludes: string[]) {\n return excludes.map((s: string) => `!${s.replace(/!/gi, \"\")}`);\n}\n\nfunction mapExtensions(file: string): string {\n if (!isTsEnv()) {\n file = file.replace(/\\.ts$/i, \".js\").replace(/{\\.ts,\\.js}$/i, \".js\");\n }\n\n return file;\n}\n\nexport function cleanGlobPatterns(files: string | string[], excludes: string[]): string[] {\n return []\n .concat(files as never)\n .map((s: string) => resolve(s))\n .concat(mapExcludes(excludes) as never)\n .map(mapExtensions)\n .map((s: string) => normalizePath(s));\n}\n","import {importPackage} from \"@tsed/core\";\nimport {cleanGlobPatterns} from \"./cleanGlobPatterns\";\n\nexport async function importFiles(patterns: string | string[], exclude: string[]): Promise<any[]> {\n const {default: globby} = await import(\"globby\");\n const files = await globby(cleanGlobPatterns(patterns, exclude));\n const symbols: any[] = [];\n\n for (const file of files) {\n if (!file.endsWith(\".d.ts\")) {\n // prevent .d.ts import if the global pattern isn't correctly configured\n try {\n const exports = await importPackage(file);\n Object.keys(exports).forEach((key) => symbols.push(exports[key]));\n } catch (er) {\n // istanbul ignore next\n console.error(er);\n // istanbul ignore next\n process.exit(1);\n }\n }\n }\n\n return symbols;\n}\n","import {isArray, isClass} from \"@tsed/core\";\nimport {importFiles} from \"./importFiles\";\n\nasync function resolveSymbols(item: any, excludes: string[]) {\n if (isClass(item)) {\n return [item];\n }\n /* istanbul ignore else */\n if (!process.env.WEBPACK) {\n return importFiles(item, excludes);\n }\n\n /* istanbul ignore next */\n return [];\n}\n\nexport function mapConfiguration(config: any): {endpoint?: string; values: any[]}[] {\n if (isArray(config)) {\n return config.map((value: any) => {\n return {\n values: [].concat(value)\n };\n });\n }\n\n return Object.keys(config).reduce((list: any[], key: string) => {\n list.push({\n endpoint: key,\n values: [].concat(config[key])\n });\n\n return list;\n }, []);\n}\n\nexport async function importComponents(config: any, excludes: string[]): Promise<{token: string; route?: string}[]> {\n if (!config) {\n return [];\n }\n\n config = mapConfiguration(config);\n\n const promises: any = [];\n\n for (const option of config) {\n promises.push(\n ...option.values.map(async (value: any) => {\n const symbols = await resolveSymbols(value, excludes);\n\n return symbols.filter(isClass).map((symbol) => ({token: symbol, route: option.endpoint}));\n })\n );\n }\n\n const result: {token: string; route?: string}[][] = await Promise.all(promises);\n\n return result.flat();\n}\n","import {GlobalProviders, Provider, ProviderType} from \"@tsed/di\";\nimport {importComponents} from \"./importComponents\";\n\nasync function recursiveImports(providers: {token: string; route?: string}[], settings: Partial<TsED.Configuration>, properties: string[]) {\n const {exclude = []} = settings;\n\n const promises = providers\n .map(({token}) => GlobalProviders.get(token))\n .filter((provider) => provider?.type === ProviderType.MODULE && provider.configuration)\n .map((provider: Provider) => importProviders({exclude, ...provider.configuration}, properties));\n\n return (await Promise.all(promises)).flat();\n}\n\n/**\n * Import providers from given patterns.\n *\n * @param settings\n * @param properties\n */\nexport async function importProviders(\n settings: Partial<TsED.Configuration>,\n properties: string[] = [\"imports\"]\n): Promise<{token: string; route?: string}[]> {\n const {exclude = []} = settings;\n\n const promises = properties.map((key) => importComponents(settings[key], exclude));\n const providers = (await Promise.all(promises)).flat();\n const children = await recursiveImports(providers, settings, properties);\n\n return [...children, ...providers];\n}\n"],"names":["isTsEnv","require","extensions","process","env","JEST_WORKER_ID","undefined","NODE_ENV","fixPath","normalizePath","item","paths","isString","path","join","isArray","map","mapExcludes","excludes","s","replace","mapExtensions","file","cleanGlobPatterns","files","concat","resolve","importFiles","patterns","exclude","default","globby","symbols","endsWith","exports","importPackage","Object","keys","forEach","key","push","er","console","error","exit","resolveSymbols","isClass","WEBPACK","mapConfiguration","config","value","values","reduce","list","endpoint","importComponents","promises","option","filter","symbol","token","route","result","Promise","all","flat","recursiveImports","providers","settings","properties","GlobalProviders","get","provider","type","ProviderType","MODULE","configuration","importProviders","children"],"mappings":"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"}
|
package/lib/index.modern.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { isString, isArray, importPackage, isClass } from '@tsed/core';
|
|
1
2
|
import { join, resolve } from 'path';
|
|
2
|
-
import { isString, isArray, isClass } from '@tsed/core';
|
|
3
3
|
import { GlobalProviders, ProviderType } from '@tsed/di';
|
|
4
4
|
|
|
5
5
|
function isTsEnv() {
|
|
@@ -48,7 +48,7 @@ async function importFiles(patterns, exclude) {
|
|
|
48
48
|
if (!file.endsWith(".d.ts")) {
|
|
49
49
|
// prevent .d.ts import if the global pattern isn't correctly configured
|
|
50
50
|
try {
|
|
51
|
-
const exports = await
|
|
51
|
+
const exports = await importPackage(file);
|
|
52
52
|
Object.keys(exports).forEach(key => symbols.push(exports[key]));
|
|
53
53
|
} catch (er) {
|
|
54
54
|
// istanbul ignore next
|
package/lib/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/isTsEnv.ts","../src/normalizePath.ts","../src/cleanGlobPatterns.ts","../src/importFiles.ts","../src/importComponents.ts","../src/importProviders.ts"],"sourcesContent":["export function isTsEnv() {\n return (\n (require && require.extensions && require.extensions[\".ts\"]) ||\n process.env[\"TS_TEST\"] ||\n process.env.JEST_WORKER_ID !== undefined ||\n process.env.NODE_ENV === \"test\"\n );\n}\n","import {isArray, isString} from \"@tsed/core\";\nimport {join} from \"path\";\n\nconst fixPath = require(\"normalize-path\");\n\nexport function normalizePath(item: string, ...paths: string[]): string;\nexport function normalizePath(item: (string | any)[]): (string | any)[];\nexport function normalizePath(item: any, ...paths: string[]) {\n if (isString(item)) {\n const path = join(item, ...paths);\n return fixPath(path);\n }\n\n if (isArray(item)) {\n return item.map((item: any) => normalizePath(item));\n }\n\n return item;\n}\n","import {resolve} from \"path\";\nimport {isTsEnv} from \"./isTsEnv\";\nimport {normalizePath} from \"./normalizePath\";\n\nfunction mapExcludes(excludes: string[]) {\n return excludes.map((s: string) => `!${s.replace(/!/gi, \"\")}`);\n}\n\nfunction mapExtensions(file: string): string {\n if (!isTsEnv()) {\n file = file.replace(/\\.ts$/i, \".js\").replace(/{\\.ts,\\.js}$/i, \".js\");\n }\n\n return file;\n}\n\nexport function cleanGlobPatterns(files: string | string[], excludes: string[]): string[] {\n return []\n .concat(files as never)\n .map((s: string) => resolve(s))\n .concat(mapExcludes(excludes) as never)\n .map(mapExtensions)\n .map((s: string) => normalizePath(s));\n}\n","import {cleanGlobPatterns} from \"./cleanGlobPatterns\";\n\nexport async function importFiles(patterns: string | string[], exclude: string[]): Promise<any[]> {\n const {default: globby} = await import(\"globby\");\n const files = await globby(cleanGlobPatterns(patterns, exclude));\n const symbols: any[] = [];\n\n for (const file of files) {\n if (!file.endsWith(\".d.ts\")) {\n // prevent .d.ts import if the global pattern isn't correctly configured\n try {\n const exports = await import(file);\n Object.keys(exports).forEach((key) => symbols.push(exports[key]));\n } catch (er) {\n // istanbul ignore next\n console.error(er);\n // istanbul ignore next\n process.exit(1);\n }\n }\n }\n\n return symbols;\n}\n","import {isArray, isClass} from \"@tsed/core\";\nimport {importFiles} from \"./importFiles\";\n\nasync function resolveSymbols(item: any, excludes: string[]) {\n if (isClass(item)) {\n return [item];\n }\n /* istanbul ignore else */\n if (!process.env.WEBPACK) {\n return importFiles(item, excludes);\n }\n\n /* istanbul ignore next */\n return [];\n}\n\nexport function mapConfiguration(config: any): {endpoint?: string; values: any[]}[] {\n if (isArray(config)) {\n return config.map((value: any) => {\n return {\n values: [].concat(value)\n };\n });\n }\n\n return Object.keys(config).reduce((list: any[], key: string) => {\n list.push({\n endpoint: key,\n values: [].concat(config[key])\n });\n\n return list;\n }, []);\n}\n\nexport async function importComponents(config: any, excludes: string[]): Promise<{token: string; route?: string}[]> {\n if (!config) {\n return [];\n }\n\n config = mapConfiguration(config);\n\n const promises: any = [];\n\n for (const option of config) {\n promises.push(\n ...option.values.map(async (value: any) => {\n const symbols = await resolveSymbols(value, excludes);\n\n return symbols.filter(isClass).map((symbol) => ({token: symbol, route: option.endpoint}));\n })\n );\n }\n\n const result: {token: string; route?: string}[][] = await Promise.all(promises);\n\n return result.flat();\n}\n","import {GlobalProviders, Provider, ProviderType} from \"@tsed/di\";\nimport {importComponents} from \"./importComponents\";\n\nasync function recursiveImports(providers: {token: string; route?: string}[], settings: Partial<TsED.Configuration>, properties: string[]) {\n const {exclude = []} = settings;\n\n const promises = providers\n .map(({token}) => GlobalProviders.get(token))\n .filter((provider) => provider?.type === ProviderType.MODULE && provider.configuration)\n .map((provider: Provider) => importProviders({exclude, ...provider.configuration}, properties));\n\n return (await Promise.all(promises)).flat();\n}\n\n/**\n * Import providers from given patterns.\n *\n * @param settings\n * @param properties\n */\nexport async function importProviders(\n settings: Partial<TsED.Configuration>,\n properties: string[] = [\"imports\"]\n): Promise<{token: string; route?: string}[]> {\n const {exclude = []} = settings;\n\n const promises = properties.map((key) => importComponents(settings[key], exclude));\n const providers = (await Promise.all(promises)).flat();\n const children = await recursiveImports(providers, settings, properties);\n\n return [...children, ...providers];\n}\n"],"names":["isTsEnv","require","extensions","process","env","JEST_WORKER_ID","undefined","NODE_ENV","fixPath","normalizePath","item","paths","isString","path","join","isArray","map","mapExcludes","excludes","s","replace","mapExtensions","file","cleanGlobPatterns","files","concat","resolve","importFiles","patterns","exclude","default","globby","symbols","endsWith","exports","Object","keys","forEach","key","push","er","console","error","exit","resolveSymbols","isClass","WEBPACK","mapConfiguration","config","value","values","reduce","list","endpoint","importComponents","promises","option","filter","symbol","token","route","result","Promise","all","flat","recursiveImports","providers","settings","properties","GlobalProviders","get","provider","type","ProviderType","MODULE","configuration","importProviders","children"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/isTsEnv.ts","../src/normalizePath.ts","../src/cleanGlobPatterns.ts","../src/importFiles.ts","../src/importComponents.ts","../src/importProviders.ts"],"sourcesContent":["export function isTsEnv() {\n return (\n (require && require.extensions && require.extensions[\".ts\"]) ||\n process.env[\"TS_TEST\"] ||\n process.env.JEST_WORKER_ID !== undefined ||\n process.env.NODE_ENV === \"test\"\n );\n}\n","import {isArray, isString} from \"@tsed/core\";\nimport {join} from \"path\";\n\nconst fixPath = require(\"normalize-path\");\n\nexport function normalizePath(item: string, ...paths: string[]): string;\nexport function normalizePath(item: (string | any)[]): (string | any)[];\nexport function normalizePath(item: any, ...paths: string[]) {\n if (isString(item)) {\n const path = join(item, ...paths);\n return fixPath(path);\n }\n\n if (isArray(item)) {\n return item.map((item: any) => normalizePath(item));\n }\n\n return item;\n}\n","import {resolve} from \"path\";\nimport {isTsEnv} from \"./isTsEnv\";\nimport {normalizePath} from \"./normalizePath\";\n\nfunction mapExcludes(excludes: string[]) {\n return excludes.map((s: string) => `!${s.replace(/!/gi, \"\")}`);\n}\n\nfunction mapExtensions(file: string): string {\n if (!isTsEnv()) {\n file = file.replace(/\\.ts$/i, \".js\").replace(/{\\.ts,\\.js}$/i, \".js\");\n }\n\n return file;\n}\n\nexport function cleanGlobPatterns(files: string | string[], excludes: string[]): string[] {\n return []\n .concat(files as never)\n .map((s: string) => resolve(s))\n .concat(mapExcludes(excludes) as never)\n .map(mapExtensions)\n .map((s: string) => normalizePath(s));\n}\n","import {importPackage} from \"@tsed/core\";\nimport {cleanGlobPatterns} from \"./cleanGlobPatterns\";\n\nexport async function importFiles(patterns: string | string[], exclude: string[]): Promise<any[]> {\n const {default: globby} = await import(\"globby\");\n const files = await globby(cleanGlobPatterns(patterns, exclude));\n const symbols: any[] = [];\n\n for (const file of files) {\n if (!file.endsWith(\".d.ts\")) {\n // prevent .d.ts import if the global pattern isn't correctly configured\n try {\n const exports = await importPackage(file);\n Object.keys(exports).forEach((key) => symbols.push(exports[key]));\n } catch (er) {\n // istanbul ignore next\n console.error(er);\n // istanbul ignore next\n process.exit(1);\n }\n }\n }\n\n return symbols;\n}\n","import {isArray, isClass} from \"@tsed/core\";\nimport {importFiles} from \"./importFiles\";\n\nasync function resolveSymbols(item: any, excludes: string[]) {\n if (isClass(item)) {\n return [item];\n }\n /* istanbul ignore else */\n if (!process.env.WEBPACK) {\n return importFiles(item, excludes);\n }\n\n /* istanbul ignore next */\n return [];\n}\n\nexport function mapConfiguration(config: any): {endpoint?: string; values: any[]}[] {\n if (isArray(config)) {\n return config.map((value: any) => {\n return {\n values: [].concat(value)\n };\n });\n }\n\n return Object.keys(config).reduce((list: any[], key: string) => {\n list.push({\n endpoint: key,\n values: [].concat(config[key])\n });\n\n return list;\n }, []);\n}\n\nexport async function importComponents(config: any, excludes: string[]): Promise<{token: string; route?: string}[]> {\n if (!config) {\n return [];\n }\n\n config = mapConfiguration(config);\n\n const promises: any = [];\n\n for (const option of config) {\n promises.push(\n ...option.values.map(async (value: any) => {\n const symbols = await resolveSymbols(value, excludes);\n\n return symbols.filter(isClass).map((symbol) => ({token: symbol, route: option.endpoint}));\n })\n );\n }\n\n const result: {token: string; route?: string}[][] = await Promise.all(promises);\n\n return result.flat();\n}\n","import {GlobalProviders, Provider, ProviderType} from \"@tsed/di\";\nimport {importComponents} from \"./importComponents\";\n\nasync function recursiveImports(providers: {token: string; route?: string}[], settings: Partial<TsED.Configuration>, properties: string[]) {\n const {exclude = []} = settings;\n\n const promises = providers\n .map(({token}) => GlobalProviders.get(token))\n .filter((provider) => provider?.type === ProviderType.MODULE && provider.configuration)\n .map((provider: Provider) => importProviders({exclude, ...provider.configuration}, properties));\n\n return (await Promise.all(promises)).flat();\n}\n\n/**\n * Import providers from given patterns.\n *\n * @param settings\n * @param properties\n */\nexport async function importProviders(\n settings: Partial<TsED.Configuration>,\n properties: string[] = [\"imports\"]\n): Promise<{token: string; route?: string}[]> {\n const {exclude = []} = settings;\n\n const promises = properties.map((key) => importComponents(settings[key], exclude));\n const providers = (await Promise.all(promises)).flat();\n const children = await recursiveImports(providers, settings, properties);\n\n return [...children, ...providers];\n}\n"],"names":["isTsEnv","require","extensions","process","env","JEST_WORKER_ID","undefined","NODE_ENV","fixPath","normalizePath","item","paths","isString","path","join","isArray","map","mapExcludes","excludes","s","replace","mapExtensions","file","cleanGlobPatterns","files","concat","resolve","importFiles","patterns","exclude","default","globby","symbols","endsWith","exports","importPackage","Object","keys","forEach","key","push","er","console","error","exit","resolveSymbols","isClass","WEBPACK","mapConfiguration","config","value","values","reduce","list","endpoint","importComponents","promises","option","filter","symbol","token","route","result","Promise","all","flat","recursiveImports","providers","settings","properties","GlobalProviders","get","provider","type","ProviderType","MODULE","configuration","importProviders","children"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsed/components-scan",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.81.0",
|
|
4
4
|
"description": "Components scan utilities for Ts.ED Framework",
|
|
5
5
|
"private": false,
|
|
6
6
|
"source": "./src/index.ts",
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"test": "cross-env NODE_ENV=test jest"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@tsed/core": "6.
|
|
19
|
-
"@tsed/di": "6.
|
|
18
|
+
"@tsed/core": "6.81.0",
|
|
19
|
+
"@tsed/di": "6.81.0",
|
|
20
20
|
"globby": "11.0.3",
|
|
21
21
|
"normalize-path": "3.0.0",
|
|
22
22
|
"tslib": "2.2.0"
|