You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@softarc/sheriff-core

Package Overview
Dependencies
Maintainers
2
Versions
41
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@softarc/sheriff-core - npm Package Compare versions

Comparing version
0.19.2
to
0.19.3
+6
src/lib/config/default-file-extensions.d.ts
/**
* Default list of file extensions that Sheriff will ignore while traversing imports.
* Imports whose module specifier ends with any of these extensions are skipped entirely
* and not added to the dependency graph.
*/
export declare const defaultIgnoreFileExtensions: string[];
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultIgnoreFileExtensions = void 0;
/**
* Default list of file extensions that Sheriff will ignore while traversing imports.
* Imports whose module specifier ends with any of these extensions are skipped entirely
* and not added to the dependency graph.
*/
exports.defaultIgnoreFileExtensions = [
// images
'svg',
'png',
'jpg',
'jpeg',
'gif',
'webp',
'ico',
// styles
'css',
'scss',
'sass',
'less',
// fonts
'woff',
'woff2',
'ttf',
'eot',
'otf',
// audio
'mp3',
'wav',
'ogg',
// video
'mp4',
'webm',
'mov',
// data / misc
'json',
'csv',
'xml',
'txt',
'md',
];
//# sourceMappingURL=default-file-extensions.js.map
{"version":3,"file":"default-file-extensions.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/config/default-file-extensions.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,2BAA2B,GAAa;IACnD,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,SAAS;IACT,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,cAAc;IACd,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;CACL,CAAC"}
/**
* Determines whether an import command is a relative import.
*
* Relative imports are those that start with a dot (e.g. './x', '../y').
* Non-relative imports include:
* - External packages (e.g. 'keycloak-js')
* - Node.js built-in modules (e.g. 'node:url', 'fs', 'path')
*
* Sheriff ESLint rules only report unresolvable imports when they are relative.
* This avoids false positives for external packages and Node built-ins while
* still allowing the core to track all unresolvable imports for data/export.
*
* @param importCommand The raw import string as it appears in source code
* @returns true if the import is relative; otherwise false
*/
export declare function isRelativeImport(importCommand: string): boolean;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isRelativeImport = isRelativeImport;
/**
* Determines whether an import command is a relative import.
*
* Relative imports are those that start with a dot (e.g. './x', '../y').
* Non-relative imports include:
* - External packages (e.g. 'keycloak-js')
* - Node.js built-in modules (e.g. 'node:url', 'fs', 'path')
*
* Sheriff ESLint rules only report unresolvable imports when they are relative.
* This avoids false positives for external packages and Node built-ins while
* still allowing the core to track all unresolvable imports for data/export.
*
* @param importCommand The raw import string as it appears in source code
* @returns true if the import is relative; otherwise false
*/
function isRelativeImport(importCommand) {
return importCommand.startsWith('.');
}
//# sourceMappingURL=is-relative-import.js.map
{"version":3,"file":"is-relative-import.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/eslint/is-relative-import.ts"],"names":[],"mappings":";;AAeA,4CAEC;AAjBD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,gBAAgB,CAAC,aAAqB;IACpD,OAAO,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC"}
+1
-1
{
"name": "@softarc/sheriff-core",
"version": "0.19.2",
"version": "0.19.3",
"homepage": "https://github.com/softarc-consulting/sheriff",

@@ -5,0 +5,0 @@ "license": "MIT",

@@ -9,2 +9,3 @@ import { UserSheriffConfig } from './user-sheriff-config';

entryPoints?: Record<string, string>;
ignoreFileExtensions: string[];
};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultConfig = void 0;
const default_file_extensions_1 = require("./default-file-extensions");
exports.defaultConfig = {

@@ -17,3 +18,4 @@ version: 1,

entryPoints: undefined,
ignoreFileExtensions: default_file_extensions_1.defaultIgnoreFileExtensions,
};
//# sourceMappingURL=default-config.js.map

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

{"version":3,"file":"default-config.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/config/default-config.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAkB;IAC1C,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,KAAK;IAClB,gBAAgB,EAAE,KAAK;IACvB,oBAAoB,EAAE,UAAU;IAChC,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,EAAE;IACb,mBAAmB,EAAE,KAAK;IAC1B,cAAc,EAAE,UAAU;IAC1B,WAAW,EAAE,SAAS;CACvB,CAAC"}
{"version":3,"file":"default-config.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/config/default-config.ts"],"names":[],"mappings":";;;AACA,uEAAwE;AAE3D,QAAA,aAAa,GAAkB;IAC1C,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,KAAK;IAClB,gBAAgB,EAAE,KAAK;IACvB,oBAAoB,EAAE,UAAU;IAChC,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,EAAE;IACb,mBAAmB,EAAE,KAAK;IAC1B,cAAc,EAAE,UAAU;IAC1B,WAAW,EAAE,SAAS;IACtB,oBAAoB,EAAE,qDAA2B;CAClD,CAAC"}

@@ -77,5 +77,13 @@ "use strict";

}
return Object.assign(Object.assign({}, default_config_1.defaultConfig), rest);
const mergedConfig = Object.assign(Object.assign({}, default_config_1.defaultConfig), rest);
const ignoreFileExtensions = getIgnoreFileExtensions(mergedConfig.ignoreFileExtensions);
return Object.assign(Object.assign({}, mergedConfig), { ignoreFileExtensions });
};
exports.parseConfig = parseConfig;
function getIgnoreFileExtensions(ignoreFileExtensions) {
const extensions = typeof ignoreFileExtensions === 'function'
? ignoreFileExtensions(default_config_1.defaultConfig.ignoreFileExtensions)
: ignoreFileExtensions;
return Array.from(new Set(extensions.map((ext) => ext.toLowerCase())));
}
//# sourceMappingURL=parse-config.js.map

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

{"version":3,"file":"parse-config.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/config/parse-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAiC;AAEjC,wDAAgC;AAEhC,oDAM6B;AAC7B,qDAAiD;AACjD,6DAAwD;AAEjD,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAiB,EAAE;IAC/D,MAAM,MAAM,GAAG,IAAA,eAAK,GAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE5C,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE;QAChD,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE;KACpD,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAsB,CAAC;IAEhE,IAAI,iBAAiB,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,IAAI,mCAAsB,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC9B,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;IACxD,CAAC;IAED,IAAI,iBAAiB,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC1E,MAAM,IAAI,kDAAqC,EAAE,CAAC;IACpD,CAAC;IAED,IACE,iBAAiB,CAAC,oBAAoB,KAAK,SAAS;QACpD,iBAAiB,CAAC,mCAAmC,KAAK,SAAS,EACnE,CAAC;QACD,MAAM,IAAI,2CAA8B,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,iBAAiB,CAAC,mCAAmC,EAAE,CAAC;QAC1D,iBAAiB,CAAC,oBAAoB;YACpC,iBAAiB,CAAC,mCAAmC,CAAC;IAC1D,CAAC;IAED,MAAM,EACJ,OAAO,EAAE,EAAE,EACX,mCAAmC,EAAE,EAAE,KAErC,iBAAiB,EADhB,IAAI,UACL,iBAAiB,EAJf,kDAIL,CAAoB,CAAC;IAEpB,IAAI,iBAAiB,CAAC,SAAS,IAAI,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACnE,MAAM,IAAI,mCAAsB,EAAE,CAAC;IACrC,CAAC;IAED,IACE,iBAAiB,CAAC,WAAW;QAC7B,IAAA,+BAAa,EAAC,iBAAiB,CAAC,WAAW,CAAC,EAC5C,CAAC;QACD,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;IAED,uCAAY,8BAAa,GAAK,IAAI,EAAG;AACvC,CAAC,CAAC;AAlDW,QAAA,WAAW,eAkDtB"}
{"version":3,"file":"parse-config.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/config/parse-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAiC;AAEjC,wDAAgC;AAEhC,oDAM6B;AAC7B,qDAAiD;AACjD,6DAAwD;AAEjD,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAiB,EAAE;IAC/D,MAAM,MAAM,GAAG,IAAA,eAAK,GAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE5C,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE;QAChD,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE;KACpD,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAsB,CAAC;IAEhE,IAAI,iBAAiB,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,IAAI,mCAAsB,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC9B,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;IACxD,CAAC;IAED,IAAI,iBAAiB,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC1E,MAAM,IAAI,kDAAqC,EAAE,CAAC;IACpD,CAAC;IAED,IACE,iBAAiB,CAAC,oBAAoB,KAAK,SAAS;QACpD,iBAAiB,CAAC,mCAAmC,KAAK,SAAS,EACnE,CAAC;QACD,MAAM,IAAI,2CAA8B,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,iBAAiB,CAAC,mCAAmC,EAAE,CAAC;QAC1D,iBAAiB,CAAC,oBAAoB;YACpC,iBAAiB,CAAC,mCAAmC,CAAC;IAC1D,CAAC;IAED,MAAM,EACJ,OAAO,EAAE,EAAE,EACX,mCAAmC,EAAE,EAAE,KAErC,iBAAiB,EADhB,IAAI,UACL,iBAAiB,EAJf,kDAIL,CAAoB,CAAC;IAEtB,IAAI,iBAAiB,CAAC,SAAS,IAAI,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,IAAI,mCAAsB,EAAE,CAAC;IACrC,CAAC;IAED,IACE,iBAAiB,CAAC,WAAW;QAC7B,IAAA,+BAAa,EAAC,iBAAiB,CAAC,WAAW,CAAC,EAC5C,CAAC;QACD,MAAM,IAAI,oCAAuB,EAAE,CAAC;IACtC,CAAC;IACD,MAAM,YAAY,mCAAQ,8BAAa,GAAK,IAAI,CAAE,CAAC;IAEnD,MAAM,oBAAoB,GAAG,uBAAuB,CAClD,YAAY,CAAC,oBAAoB,CAClC,CAAC;IAEF,uCACK,YAAY,KACf,oBAAoB,IACpB;AACJ,CAAC,CAAC;AA1DW,QAAA,WAAW,eA0DtB;AAEF,SAAS,uBAAuB,CAC9B,oBAAmE;IAEnE,MAAM,UAAU,GACd,OAAO,oBAAoB,KAAK,UAAU;QACxC,CAAC,CAAC,oBAAoB,CAAC,8BAAa,CAAC,oBAAoB,CAAC;QAC1D,CAAC,CAAC,oBAAoB,CAAC;IAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC"}

@@ -249,2 +249,21 @@ import { ModuleConfig } from './module-config';

entryPoints?: Record<string, string>;
/**
* List of file extensions to ignore.
* Can be either:
* - An array of strings (replaces defaults completely)
* - A function that receives the default extensions and returns a new list
*
* @example
* ```typescript
* // would add 'env' and 'yaml' to the defaults
* ignoreFileExtensions: (defaults) => [...defaults, 'env', 'yaml']
* ```
*
* @example
* ```typescript
* // would override defaults as well
* ignoreFileExtensions: ['env', 'yaml']
* ```
*/
ignoreFileExtensions?: string[] | ((defaults: string[]) => string[]);
}

@@ -12,2 +12,3 @@ "use strict";

const check_for_dependency_rule_violation_1 = require("../checks/check-for-dependency-rule-violation");
const is_relative_import_1 = require("./is-relative-import");
let cache = {};

@@ -48,3 +49,4 @@ let cacheActive = false;

}
if ((0, throw_if_null_1.default)(fileInfo).isUnresolvableImport(importCommand)) {
if ((0, throw_if_null_1.default)(fileInfo).isUnresolvableImport(importCommand) &&
(0, is_relative_import_1.isRelativeImport)(importCommand)) {
return `import ${importCommand} cannot be resolved`;

@@ -51,0 +53,0 @@ }

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

{"version":3,"file":"violates-dependency-rule.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/eslint/violates-dependency-rule.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAwD;AACxD,0EAAgD;AAChD,gCAAgC;AAChC,uCAAoC;AACpC,uGAGuD;AAGvD,IAAI,KAAK,GAA2B,EAAE,CAAC;AACvC,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,QAA8B,CAAC;AACnC,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,MAAM,GAAG,GAAG,IAAA,YAAM,EAAC,8BAA8B,CAAC,CAAC;AAE5C,MAAM,sBAAsB,GAAG,CACpC,QAAgB,EAChB,aAAqB,EACrB,UAAmB,EACnB,WAAmB,EACX,EAAE;;IACV,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,GAAG,EAAE,CAAC;QACX,QAAQ,GAAG,SAAS,CAAC;QACrB,WAAW,GAAG,KAAK,CAAC;QACpB,mBAAmB,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,IAAI,CAAC;QACnB,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,IAAA,kBAAQ,EAAC,QAAQ,CAAC,EAAE;YAC3C,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,WAAW;YAC7B,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACzC,mBAAmB,GAAG,IAAI,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QAChC,MAAM,UAAU,GAAG,IAAA,qEAA+B,EAChD,IAAA,kBAAQ,EAAC,QAAQ,CAAC,EAClB,WAAW,CACZ,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,IAAI,IAAA,uBAAW,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9D,OAAO,UAAU,aAAa,qBAAqB,CAAC;IACtD,CAAC;IAED,OAAO,MAAA,KAAK,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAC;AACpC,CAAC,CAAC;AA9CW,QAAA,sBAAsB,0BA8CjC;AAEF,SAAS,eAAe,CACtB,SAAkC,EAClC,OAAe;IAEf,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACpE,OAAO,UAAU,cAAc,CAAC,SAAS,CACvC,OAAO,CAAC,MAAM,CACf,kBAAkB,YAAY,CAAC,SAAS,CACvC,OAAO,CAAC,MAAM,CACf,SAAS,OAAO,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACrE,CAAC"}
{"version":3,"file":"violates-dependency-rule.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/eslint/violates-dependency-rule.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAwD;AACxD,0EAAgD;AAChD,gCAAgC;AAChC,uCAAoC;AACpC,uGAGuD;AAEvD,6DAAwD;AAExD,IAAI,KAAK,GAA2B,EAAE,CAAC;AACvC,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,QAA8B,CAAC;AACnC,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,MAAM,GAAG,GAAG,IAAA,YAAM,EAAC,8BAA8B,CAAC,CAAC;AAE5C,MAAM,sBAAsB,GAAG,CACpC,QAAgB,EAChB,aAAqB,EACrB,UAAmB,EACnB,WAAmB,EACX,EAAE;;IACV,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,GAAG,EAAE,CAAC;QACX,QAAQ,GAAG,SAAS,CAAC;QACrB,WAAW,GAAG,KAAK,CAAC;QACpB,mBAAmB,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,IAAI,CAAC;QACnB,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,IAAA,kBAAQ,EAAC,QAAQ,CAAC,EAAE;YAC3C,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,WAAW;YAC7B,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACzC,mBAAmB,GAAG,IAAI,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QAChC,MAAM,UAAU,GAAG,IAAA,qEAA+B,EAChD,IAAA,kBAAQ,EAAC,QAAQ,CAAC,EAClB,WAAW,CACZ,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,IACE,IAAA,uBAAW,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC;QACzD,IAAA,qCAAgB,EAAC,aAAa,CAAC,EAC/B,CAAC;QACD,OAAO,UAAU,aAAa,qBAAqB,CAAC;IACtD,CAAC;IAED,OAAO,MAAA,KAAK,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAC;AACpC,CAAC,CAAC;AAjDW,QAAA,sBAAsB,0BAiDjC;AAEF,SAAS,eAAe,CACtB,SAAkC,EAClC,OAAe;IAEf,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACpE,OAAO,UAAU,cAAc,CAAC,SAAS,CACvC,OAAO,CAAC,MAAM,CACf,kBAAkB,YAAY,CAAC,SAAS,CACvC,OAAO,CAAC,MAAM,CACf,SAAS,OAAO,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACrE,CAAC"}

@@ -7,2 +7,3 @@ "use strict";

const has_encapsulation_violations_1 = require("../checks/has-encapsulation-violations");
const is_relative_import_1 = require("./is-relative-import");
let cache = {};

@@ -43,3 +44,4 @@ let cachedFileInfo;

}
if (cachedFileInfo.isUnresolvableImport(importCommand)) {
if (cachedFileInfo.isUnresolvableImport(importCommand) &&
(0, is_relative_import_1.isRelativeImport)(importCommand)) {
return `import ${importCommand} cannot be resolved`;

@@ -46,0 +48,0 @@ }

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

{"version":3,"file":"violates-encapsulation-rule.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/eslint/violates-encapsulation-rule.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAChD,uCAAoC;AACpC,yFAAoF;AAGpF,IAAI,KAAK,GAA6B,EAAE,CAAC;AACzC,IAAI,cAAoC,CAAC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACI,MAAM,yBAAyB,GAAG,CACvC,QAAgB,EAChB,aAAqB,EACrB,UAAmB,EACnB,WAAmB,EACnB,kBAA2B,EACnB,EAAE;IACV,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,GAAG,EAAE,CAAC;QACX,cAAc,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE;YAC/B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,WAAW;SAC9B,CAAC,CAAC;QAEH,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC;QACtC,KAAK,GAAG,IAAA,yDAA0B,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,cAAc,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;QACvD,OAAO,UAAU,aAAa,qBAAqB,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,gEAAgE,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5C,OAAO,cAAc,CAAC,UAAU,CAAC,SAAS;YACxC,CAAC,CAAC,IAAI,aAAa,2FAA2F;YAC9G,CAAC,CAAE,IAAI,aAAa,2CAA2C,CAAC;IACpE,CAAC;AACH,CAAC,CAAC;AAxCW,QAAA,yBAAyB,6BAwCpC"}
{"version":3,"file":"violates-encapsulation-rule.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/eslint/violates-encapsulation-rule.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAChD,uCAAoC;AACpC,yFAAoF;AAEpF,6DAAwD;AAExD,IAAI,KAAK,GAA6B,EAAE,CAAC;AACzC,IAAI,cAAoC,CAAC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACI,MAAM,yBAAyB,GAAG,CACvC,QAAgB,EAChB,aAAqB,EACrB,UAAmB,EACnB,WAAmB,EACnB,kBAA2B,EACnB,EAAE;IACV,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,GAAG,EAAE,CAAC;QACX,cAAc,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE;YAC/B,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,WAAW;SAC9B,CAAC,CAAC;QAEH,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC;QACtC,KAAK,GAAG,IAAA,yDAA0B,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,IACE,cAAc,CAAC,oBAAoB,CAAC,aAAa,CAAC;QAClD,IAAA,qCAAgB,EAAC,aAAa,CAAC,EAC/B,CAAC;QACD,OAAO,UAAU,aAAa,qBAAqB,CAAC;IACtD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,gEAAgE,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5C,OAAO,cAAc,CAAC,UAAU,CAAC,SAAS;YACxC,CAAC,CAAC,IAAI,aAAa,2FAA2F;YAC9G,CAAC,CAAE,IAAI,aAAa,2CAA2C,CAAC;IACpE,CAAC;AACH,CAAC,CAAC;AA3CW,QAAA,yBAAyB,6BA2CpC"}

@@ -11,4 +11,5 @@ import { UnassignedFileInfo } from './unassigned-file-info';

* @param tsData misc. data around TS config
* @param ignoreFileExtensions array of file extensions to ignore
* @param fileContent optional file content (used by ESLint in IDE)
*/
export declare const generateUnassignedFileInfo: (fsPath: FsPath, runOnce: boolean | undefined, tsData: TsData, fileContent?: string) => UnassignedFileInfo;
export declare function generateUnassignedFileInfo(fsPath: FsPath, runOnce: boolean | undefined, tsData: TsData, ignoreFileExtensions: string[], fileContent?: string): UnassignedFileInfo;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateUnassignedFileInfo = void 0;
exports.generateUnassignedFileInfo = generateUnassignedFileInfo;
const format_file_info_1 = require("./format-file-info");

@@ -15,11 +15,11 @@ const log_1 = require("../log");

* @param tsData misc. data around TS config
* @param ignoreFileExtensions array of file extensions to ignore
* @param fileContent optional file content (used by ESLint in IDE)
*/
const generateUnassignedFileInfo = (fsPath, runOnce = false, tsData, fileContent) => {
function generateUnassignedFileInfo(fsPath, runOnce = false, tsData, ignoreFileExtensions, fileContent) {
const fileInfoDict = new Map();
const fileInfo = (0, traverse_filesystem_1.traverseFilesystem)(fsPath, fileInfoDict, tsData, runOnce, fileContent);
const fileInfo = (0, traverse_filesystem_1.traverseFilesystem)(fsPath, fileInfoDict, tsData, ignoreFileExtensions, runOnce, fileContent);
log.info((0, format_file_info_1.formatFileInfo)(fileInfo));
return fileInfo;
};
exports.generateUnassignedFileInfo = generateUnassignedFileInfo;
}
//# sourceMappingURL=generate-unassigned-file-info.js.map

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

{"version":3,"file":"generate-unassigned-file-info.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/file-info/generate-unassigned-file-info.ts"],"names":[],"mappings":";;;AAEA,yDAAoD;AACpD,gCAAgC;AAEhC,+DAA2D;AAE3D,MAAM,GAAG,GAAG,IAAA,YAAM,EAAC,sCAAsC,CAAC,CAAC;AAE3D;;;;;;;;GAQG;AACI,MAAM,0BAA0B,GAAG,CACxC,MAAc,EACd,OAAO,GAAG,KAAK,EACf,MAAc,EACd,WAAoB,EACA,EAAE;IACtB,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE3D,MAAM,QAAQ,GAAG,IAAA,wCAAkB,EACjC,MAAM,EACN,YAAY,EACZ,MAAM,EACN,OAAO,EACP,WAAW,CACZ,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,IAAA,iCAAc,EAAC,QAAQ,CAAC,CAAC,CAAC;IAEnC,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAnBW,QAAA,0BAA0B,8BAmBrC"}
{"version":3,"file":"generate-unassigned-file-info.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/file-info/generate-unassigned-file-info.ts"],"names":[],"mappings":";;AAmBA,gEAqBC;AAtCD,yDAAoD;AACpD,gCAAgC;AAEhC,+DAA2D;AAE3D,MAAM,GAAG,GAAG,IAAA,YAAM,EAAC,sCAAsC,CAAC,CAAC;AAE3D;;;;;;;;;GASG;AACH,SAAgB,0BAA0B,CACxC,MAAc,EACd,OAAO,GAAG,KAAK,EACf,MAAc,EACd,oBAA8B,EAC9B,WAAoB;IAEpB,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE3D,MAAM,QAAQ,GAAG,IAAA,wCAAkB,EACjC,MAAM,EACN,YAAY,EACZ,MAAM,EACN,oBAAoB,EACpB,OAAO,EACP,WAAW,CACZ,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,IAAA,iCAAc,EAAC,QAAQ,CAAC,CAAC,CAAC;IAEnC,OAAO,QAAQ,CAAC;AAClB,CAAC"}

@@ -23,2 +23,3 @@ import { UnassignedFileInfo } from './unassigned-file-info';

* @param tsData
* @param ignoreFileExtensions Array of file extensions to ignore
* @param runOnce traverse only once. needed for ESLint mode

@@ -28,2 +29,2 @@ * @param fileContent if passed, is used instead the content of @fsPath.

*/
export declare function traverseFilesystem(fsPath: FsPath, fileInfoDict: Map<FsPath, UnassignedFileInfo>, tsData: TsData, runOnce?: boolean, fileContent?: string): UnassignedFileInfo;
export declare function traverseFilesystem(fsPath: FsPath, fileInfoDict: Map<FsPath, UnassignedFileInfo>, tsData: TsData, ignoreFileExtensions: string[], runOnce?: boolean, fileContent?: string): UnassignedFileInfo;

@@ -53,2 +53,3 @@ "use strict";

* @param tsData
* @param ignoreFileExtensions Array of file extensions to ignore
* @param runOnce traverse only once. needed for ESLint mode

@@ -58,3 +59,4 @@ * @param fileContent if passed, is used instead the content of @fsPath.

*/
function traverseFilesystem(fsPath, fileInfoDict, tsData, runOnce = false, fileContent) {
function traverseFilesystem(fsPath, fileInfoDict, tsData, ignoreFileExtensions, runOnce = false, fileContent) {
var _a;
const { paths, sys, rootDir, baseUrl, configObject } = tsData;

@@ -70,8 +72,9 @@ const fileInfo = new unassigned_file_info_1.UnassignedFileInfo(fsPath, []);

const { fileName } = importedFile;
// skip configured ignored extensions early
const fileExtension = (_a = fileName.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
if (fileExtension && ignoreFileExtensions.includes(fileExtension)) {
continue;
}
const resolvedImport = resolveFn(fileName);
let importPath;
// skip json imports
if (fileName.endsWith('.json')) {
continue;
}
// alias/path resolving has priority

@@ -110,3 +113,3 @@ const resolvedTsPath = (0, resolve_potential_ts_path_1.resolvePotentialTsPath)(fileName, paths, resolveFn);

else {
fileInfo.addImport(traverseFilesystem(importPath, fileInfoDict, tsData), fileName);
fileInfo.addImport(traverseFilesystem(importPath, fileInfoDict, tsData, ignoreFileExtensions), fileName);
}

@@ -113,0 +116,0 @@ }

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

{"version":3,"file":"traverse-filesystem.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/file-info/traverse-filesystem.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"traverse-filesystem.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/file-info/traverse-filesystem.ts"],"names":[],"mappings":"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"}

@@ -14,3 +14,3 @@ "use strict";

const parseProject = (entryFile, traverse, tsData, config, fileContent) => {
const unassignedFileInfo = (0, generate_unassigned_file_info_1.generateUnassignedFileInfo)(entryFile, !traverse, tsData, fileContent);
const unassignedFileInfo = (0, generate_unassigned_file_info_1.generateUnassignedFileInfo)(entryFile, !traverse, tsData, config.ignoreFileExtensions, fileContent);
const rootDir = tsData.rootDir;

@@ -17,0 +17,0 @@ const projectDirs = (0, get_project_dirs_from_file_info_1.getProjectDirsFromFileInfo)(unassignedFileInfo, rootDir);

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

{"version":3,"file":"parse-project.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/main/parse-project.ts"],"names":[],"mappings":";;;;;;AAEA,8FAAwF;AACxF,gGAAwF;AACxF,8DAA0D;AAC1D,sEAAgE;AAChE,0EAAgD;AAIhD,oEAA+D;AASxD,MAAM,YAAY,GAAG,CAC1B,SAAiB,EACjB,QAAiB,EACjB,MAAc,EACd,MAAqB,EACrB,WAAoB,EACN,EAAE;IAChB,MAAM,kBAAkB,GAAG,IAAA,0DAA0B,EACnD,SAAS,EACT,CAAC,QAAQ,EACT,MAAM,EACN,WAAW,CACZ,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAE/B,MAAM,WAAW,GAAG,IAAA,4DAA0B,EAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAE5E,MAAM,WAAW,GAA0B,IAAI,GAAG,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CACnC,IAAA,uBAAW,EAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,4BAA4B,IAAI,EAAE,CAAC,CAAC;IAEzE,MAAM,WAAW,GAAG,IAAA,mCAAe,EACjC,WAAW,EACX,OAAO,EACP,MAAM,CACP,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,8BAAa,EAC3B,WAAW,EACX,WAAW,EACX,WAAW,EACX;QACE,aAAa,EAAE,kBAAkB;QACjC,OAAO;QACP,UAAU,EAAE,MAAM,CAAC,cAAc;KAClC,CACF,CAAA;IACD,IAAA,oCAAe,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEtD,OAAO;QACL,QAAQ;QACR,OAAO;QACP,WAAW;QACX,OAAO;KACR,CAAC;AACJ,CAAC,CAAC;AA/CW,QAAA,YAAY,gBA+CvB"}
{"version":3,"file":"parse-project.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/main/parse-project.ts"],"names":[],"mappings":";;;;;;AAEA,8FAAwF;AACxF,gGAAwF;AACxF,8DAA0D;AAC1D,sEAAgE;AAChE,0EAAgD;AAIhD,oEAA+D;AASxD,MAAM,YAAY,GAAG,CAC1B,SAAiB,EACjB,QAAiB,EACjB,MAAc,EACd,MAAqB,EACrB,WAAoB,EACN,EAAE;IAChB,MAAM,kBAAkB,GAAG,IAAA,0DAA0B,EACnD,SAAS,EACT,CAAC,QAAQ,EACT,MAAM,EACN,MAAM,CAAC,oBAAoB,EAC3B,WAAW,CACZ,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAE/B,MAAM,WAAW,GAAG,IAAA,4DAA0B,EAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAE5E,MAAM,WAAW,GAA0B,IAAI,GAAG,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CACnC,IAAA,uBAAW,EAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,4BAA4B,IAAI,EAAE,CAAC,CAAC;IAEzE,MAAM,WAAW,GAAG,IAAA,mCAAe,EAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAElE,MAAM,OAAO,GAAG,IAAA,8BAAa,EAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE;QACnE,aAAa,EAAE,kBAAkB;QACjC,OAAO;QACP,UAAU,EAAE,MAAM,CAAC,cAAc;KAClC,CAAC,CAAC;IACH,IAAA,oCAAe,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAEtD,OAAO;QACL,QAAQ;QACR,OAAO;QACP,WAAW;QACX,OAAO;KACR,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,YAAY,gBAuCvB"}

@@ -63,3 +63,3 @@ "use strict";

else if ((0, project_configurator_1.isSheriffConfigContent)(value)) {
let serializedConfig = JSON.stringify(serializeEncapsulationPattern(serializeDepRules(Object.assign(Object.assign({}, default_config_1.defaultConfig), value.content))));
let serializedConfig = JSON.stringify(serializeEncapsulationPattern(serializeDepRules(value.content)));
if (value.content.encapsulationPattern instanceof RegExp) {

@@ -79,3 +79,7 @@ serializedConfig = serializedConfig.replace(/"Δ.*Δ"/, value.content.encapsulationPattern.toString());

function serializeDepRules(config) {
return Object.assign(Object.assign({}, config), { depRules: Object.entries(config.depRules).reduce((current, [from, tos]) => (Object.assign(Object.assign({}, current), { [from]: (Array.isArray(tos) ? tos : [tos]).map((matcher) => typeof matcher === 'function' ? `α${matcher.toString()}ω` : matcher) })), {}) });
const mergedConfig = Object.assign(Object.assign({}, default_config_1.defaultConfig), config);
const ignoreFileExtensions = typeof mergedConfig.ignoreFileExtensions === 'function'
? mergedConfig.ignoreFileExtensions(default_config_1.defaultConfig.ignoreFileExtensions)
: mergedConfig.ignoreFileExtensions;
return Object.assign(Object.assign({}, mergedConfig), { depRules: Object.entries(mergedConfig.depRules).reduce((current, [from, tos]) => (Object.assign(Object.assign({}, current), { [from]: (Array.isArray(tos) ? tos : [tos]).map((matcher) => typeof matcher === 'function' ? `α${matcher.toString()}ω` : matcher) })), {}), ignoreFileExtensions });
}

@@ -82,0 +86,0 @@ function serializeEncapsulationPattern(config) {

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

{"version":3,"file":"project-creator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/test/project-creator.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"project-creator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/test/project-creator.ts"],"names":[],"mappings":"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"}

@@ -35,2 +35,3 @@ "use strict";

const fs_path_1 = require("./lib/file-info/fs-path");
const default_file_extensions_1 = require("./lib/config/default-file-extensions");
(0, vitest_1.describe)('integration test', () => {

@@ -41,3 +42,3 @@ for (const project of ['angular-i', 'angular-ii']) {

const { tsData } = (0, init_1.init)((0, fs_path_1.toFsPath)(angularMain1), { traverse: true });
(0, generate_unassigned_file_info_1.generateUnassignedFileInfo)((0, fs_path_1.toFsPath)(angularMain1), false, tsData);
(0, generate_unassigned_file_info_1.generateUnassignedFileInfo)((0, fs_path_1.toFsPath)(angularMain1), false, tsData, default_file_extensions_1.defaultIgnoreFileExtensions);
});

@@ -44,0 +45,0 @@ }

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

{"version":3,"file":"sheriff.full-spec.js","sourceRoot":"","sources":["../../../../packages/core/src/sheriff.full-spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;IAGI;AACJ,mCAAsC;AACtC,2CAA6B;AAC7B,iGAA2F;AAC3F,0CAAuC;AACvC,qDAAmD;AAEnD,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,KAAK,MAAM,OAAO,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;QAClD,IAAA,WAAE,EAAC,eAAe,OAAO,EAAE,EAAE,GAAG,EAAE;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,aAAa,CACd,CAAC;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,WAAI,EAAC,IAAA,kBAAQ,EAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,IAAA,0DAA0B,EAAC,IAAA,kBAAQ,EAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
{"version":3,"file":"sheriff.full-spec.js","sourceRoot":"","sources":["../../../../packages/core/src/sheriff.full-spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;IAGI;AACJ,mCAAsC;AACtC,2CAA6B;AAC7B,iGAA2F;AAC3F,0CAAuC;AACvC,qDAAmD;AACnD,kFAAmF;AAEnF,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,KAAK,MAAM,OAAO,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;QAClD,IAAA,WAAE,EAAC,eAAe,OAAO,EAAE,EAAE,GAAG,EAAE;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,aAAa,CACd,CAAC;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,WAAI,EAAC,IAAA,kBAAQ,EAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,IAAA,0DAA0B,EACxB,IAAA,kBAAQ,EAAC,YAAY,CAAC,EACtB,KAAK,EACL,MAAM,EACN,qDAA2B,CAC5B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}