@servicetitan/restrict-imports 30.3.0 → 31.0.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/dist/config.js CHANGED
@@ -1,21 +1,45 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InvalidEntry = exports.InvalidConfig = void 0;
4
- exports.validateRawConfig = validateRawConfig;
5
- exports.validateRawEntry = validateRawEntry;
6
- exports.canonicalizeConfig = canonicalizeConfig;
7
- exports.canonicalizeEntry = canonicalizeEntry;
8
- exports.canonicalizeAllow = canonicalizeAllow;
9
1
  /**
10
2
  * validateRawConfig
11
- */
3
+ */ "use strict";
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ function _export(target, all) {
8
+ for(var name in all)Object.defineProperty(target, name, {
9
+ enumerable: true,
10
+ get: Object.getOwnPropertyDescriptor(all, name).get
11
+ });
12
+ }
13
+ _export(exports, {
14
+ get InvalidConfig () {
15
+ return InvalidConfig;
16
+ },
17
+ get InvalidEntry () {
18
+ return InvalidEntry;
19
+ },
20
+ get canonicalizeAllow () {
21
+ return canonicalizeAllow;
22
+ },
23
+ get canonicalizeConfig () {
24
+ return canonicalizeConfig;
25
+ },
26
+ get canonicalizeEntry () {
27
+ return canonicalizeEntry;
28
+ },
29
+ get validateRawConfig () {
30
+ return validateRawConfig;
31
+ },
32
+ get validateRawEntry () {
33
+ return validateRawEntry;
34
+ }
35
+ });
12
36
  function validateRawConfig(maybeConfig) {
13
37
  if (maybeConfig === undefined) {
14
38
  return false;
15
39
  }
16
40
  if (!Array.isArray(maybeConfig)) {
17
41
  if (validateRawEntry(maybeConfig)) {
18
- return exports.InvalidConfig.ExpectedAnArrayOrASingleEntry;
42
+ return InvalidConfig.ExpectedAnArrayOrASingleEntry;
19
43
  }
20
44
  return false;
21
45
  }
@@ -30,45 +54,46 @@ function validateRawConfig(maybeConfig) {
30
54
  return false;
31
55
  // ------------------
32
56
  function isThereInvalidEntry(c0) {
33
- for (let index = 0; index < c0.length; index += 1) {
57
+ for(let index = 0; index < c0.length; index += 1){
34
58
  const entry = c0[index];
35
59
  const error = validateRawEntry(entry);
36
60
  if (error) {
37
- return exports.InvalidConfig.InvalidEntry(index, entry, error);
61
+ return InvalidConfig.InvalidEntry(index, entry, error);
38
62
  }
39
63
  }
40
64
  return false;
41
65
  }
42
66
  function isInvalidEntryOrder(c0) {
43
67
  const available = new Set();
44
- for (let index = 0; index < c0.length; index += 1) {
68
+ for(let index = 0; index < c0.length; index += 1){
45
69
  const entry = c0[index];
46
70
  available.add(entry.name);
47
71
  const allow0 = canonicalizeAllow(entry.allow);
48
- const allow = allow0 === '*' ? [allow0] : allow0;
49
- const unavailable = allow.find(n => !available.has(n) && !available.has('*'));
72
+ const allow = allow0 === '*' ? [
73
+ allow0
74
+ ] : allow0;
75
+ const unavailable = allow.find((n)=>!available.has(n) && !available.has('*'));
50
76
  if (unavailable) {
51
- return exports.InvalidConfig.InvalidOrder(index, entry, unavailable);
77
+ return InvalidConfig.InvalidOrder(index, entry, unavailable);
52
78
  }
53
79
  }
54
80
  return false;
55
81
  }
56
82
  }
57
- exports.InvalidConfig = {
83
+ const InvalidConfig = {
58
84
  ExpectedAnArrayOrASingleEntry: 'Expected an array of config entries, or a single entry',
59
- InvalidEntry: (index, entry, error) => `Invalid entry #${index} (${JSON.stringify(entry)}): ${error}`,
60
- InvalidOrder: (index, entry, unavailable) => `Invalid entries order, #${index} (${JSON.stringify(entry)}):` +
61
- ` '${unavailable}' is used before its description`,
85
+ InvalidEntry: (index, entry, error)=>`Invalid entry #${index} (${JSON.stringify(entry)}): ${error}`,
86
+ InvalidOrder: (index, entry, unavailable)=>`Invalid entries order, #${index} (${JSON.stringify(entry)}):` + ` '${unavailable}' is used before its description`
62
87
  };
63
88
  function validateRawEntry(e) {
64
89
  if (!isPlainObject(e)) {
65
- return InvalidEntry.ExpectedAPlainObject;
90
+ return "Expected a plain object with fields `name` and `allow`";
66
91
  }
67
92
  if (!isValidName(e.name)) {
68
- return InvalidEntry.InvalidName;
93
+ return "The `name` field is expected to be `string`";
69
94
  }
70
95
  if (!isValidAllow(e.allow)) {
71
- return InvalidEntry.InvalidAllow;
96
+ return "The `allow` field is expected to be `string|string[]|undefined`";
72
97
  }
73
98
  return false;
74
99
  // ------------------
@@ -86,35 +111,37 @@ function validateRawEntry(e) {
86
111
  if (!Array.isArray(allow)) {
87
112
  return false;
88
113
  }
89
- return !allow.some(v => typeof v !== 'string');
114
+ return !allow.some((v)=>typeof v !== 'string');
90
115
  }
91
116
  }
92
- var InvalidEntry;
93
- (function (InvalidEntry) {
117
+ var InvalidEntry = /*#__PURE__*/ function(InvalidEntry) {
94
118
  InvalidEntry["ExpectedAPlainObject"] = "Expected a plain object with fields `name` and `allow`";
95
119
  InvalidEntry["InvalidName"] = "The `name` field is expected to be `string`";
96
120
  InvalidEntry["InvalidAllow"] = "The `allow` field is expected to be `string|string[]|undefined`";
97
- })(InvalidEntry || (exports.InvalidEntry = InvalidEntry = {}));
98
- /**
99
- * canonicalizeConfig
100
- */
121
+ return InvalidEntry;
122
+ }({});
101
123
  function canonicalizeConfig(c = []) {
102
124
  if (Array.isArray(c)) {
103
125
  return c.map(canonicalizeEntry);
104
126
  }
105
- return [canonicalizeEntry(c)];
127
+ return [
128
+ canonicalizeEntry(c)
129
+ ];
106
130
  }
107
131
  function canonicalizeEntry(e) {
108
132
  return {
109
133
  name: e.name,
110
- allow: canonicalizeAllow(e.allow),
134
+ allow: canonicalizeAllow(e.allow)
111
135
  };
112
136
  }
113
137
  function canonicalizeAllow(a) {
114
- const allow = Array.isArray(a) ? a : a ? [a] : [];
138
+ const allow = Array.isArray(a) ? a : a ? [
139
+ a
140
+ ] : [];
115
141
  if (allow.includes('*')) {
116
142
  return '*';
117
143
  }
118
144
  return allow;
119
145
  }
146
+
120
147
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../src/config.ts"],"sourcesContent":["/**\n * validateRawConfig\n */\nexport function validateRawConfig(maybeConfig: any): false | string {\n if (maybeConfig === undefined) {\n return false;\n }\n\n if (!Array.isArray(maybeConfig)) {\n if (validateRawEntry(maybeConfig)) {\n return InvalidConfig.ExpectedAnArrayOrASingleEntry;\n }\n\n return false;\n }\n\n const invalidEntryError = isThereInvalidEntry(maybeConfig);\n if (invalidEntryError) {\n return invalidEntryError;\n }\n\n const invalidOrderError = isInvalidEntryOrder(maybeConfig);\n if (invalidOrderError) {\n return invalidOrderError;\n }\n\n return false;\n\n // ------------------\n\n function isThereInvalidEntry(c0: any[]): false | string {\n for (let index = 0; index < c0.length; index += 1) {\n const entry = c0[index];\n const error = validateRawEntry(entry);\n if (error) {\n return InvalidConfig.InvalidEntry(index, entry, error);\n }\n }\n\n return false;\n }\n\n function isInvalidEntryOrder(c0: RawEntry[]): false | string {\n const available = new Set<string>();\n\n for (let index = 0; index < c0.length; index += 1) {\n const entry = c0[index];\n\n available.add(entry.name);\n\n const allow0 = canonicalizeAllow(entry.allow);\n const allow = allow0 === '*' ? [allow0] : allow0;\n\n const unavailable = allow.find(n => !available.has(n) && !available.has('*'));\n if (unavailable) {\n return InvalidConfig.InvalidOrder(index, entry, unavailable);\n }\n }\n\n return false;\n }\n}\n\nexport const InvalidConfig = {\n ExpectedAnArrayOrASingleEntry: 'Expected an array of config entries, or a single entry',\n\n InvalidEntry: (index: number, entry: any, error: string) =>\n `Invalid entry #${index} (${JSON.stringify(entry)}): ${error}`,\n\n InvalidOrder: (index: number, entry: RawEntry, unavailable: string) =>\n `Invalid entries order, #${index} (${JSON.stringify(entry)}):` +\n ` '${unavailable}' is used before its description`,\n};\n\nexport function validateRawEntry(e: any): false | InvalidEntry {\n if (!isPlainObject(e)) {\n return InvalidEntry.ExpectedAPlainObject;\n }\n\n if (!isValidName(e.name)) {\n return InvalidEntry.InvalidName;\n }\n\n if (!isValidAllow(e.allow)) {\n return InvalidEntry.InvalidAllow;\n }\n\n return false;\n\n // ------------------\n\n // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types\n function isPlainObject(v: any): v is Object {\n return v != null && typeof v === 'object' && Object.getPrototypeOf(v) === Object.prototype;\n }\n\n function isValidName(name: any): name is string {\n return typeof name === 'string';\n }\n\n function isValidAllow(allow: any): allow is RawAllow {\n if (typeof allow === 'string' || allow === undefined) {\n return true;\n }\n\n if (!Array.isArray(allow)) {\n return false;\n }\n\n return !allow.some(v => typeof v !== 'string');\n }\n}\n\nexport enum InvalidEntry {\n ExpectedAPlainObject = 'Expected a plain object with fields `name` and `allow`',\n InvalidName = 'The `name` field is expected to be `string`',\n InvalidAllow = 'The `allow` field is expected to be `string|string[]|undefined`',\n}\n\n/**\n * RawConfig\n */\nexport type RawConfig = RawEntry | RawEntry[] | undefined;\n\nexport interface RawEntry {\n name: string;\n allow?: string | string[];\n}\n\nexport type RawAllow = RawEntry['allow'];\n\n/**\n * Config\n */\nexport type Config = Entry[];\n\nexport interface Entry extends RawEntry {\n name: string;\n allow: Allow;\n}\n\nexport type Allow = '*' | string[];\n\n/**\n * canonicalizeConfig\n */\nexport function canonicalizeConfig(c: RawConfig = []): Config {\n if (Array.isArray(c)) {\n return c.map(canonicalizeEntry);\n }\n return [canonicalizeEntry(c)];\n}\n\nexport function canonicalizeEntry(e: RawEntry): Entry {\n return {\n name: e.name,\n allow: canonicalizeAllow(e.allow),\n };\n}\n\nexport function canonicalizeAllow(a: RawAllow): Allow {\n const allow = Array.isArray(a) ? a : a ? [a] : [];\n\n if (allow.includes('*')) {\n return '*';\n }\n\n return allow;\n}\n"],"names":["InvalidConfig","InvalidEntry","canonicalizeAllow","canonicalizeConfig","canonicalizeEntry","validateRawConfig","validateRawEntry","maybeConfig","undefined","Array","isArray","ExpectedAnArrayOrASingleEntry","invalidEntryError","isThereInvalidEntry","invalidOrderError","isInvalidEntryOrder","c0","index","length","entry","error","available","Set","add","name","allow0","allow","unavailable","find","n","has","InvalidOrder","JSON","stringify","e","isPlainObject","isValidName","isValidAllow","v","Object","getPrototypeOf","prototype","some","c","map","a","includes"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- export { RawConfig as Config, RawEntry as Entry } from './config';
2
- export { restrictImports, RestrictionZone } from './restrict-imports';
1
+ export type { RawConfig as Config, RawEntry as Entry } from './config';
2
+ export type { RestrictionZone } from './restrict-imports';
3
+ export { restrictImports } from './restrict-imports';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,QAAQ,IAAI,KAAK,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,IAAI,MAAM,EAAE,QAAQ,IAAI,KAAK,EAAE,MAAM,UAAU,CAAC;AACvE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.restrictImports = void 0;
4
- var restrict_imports_1 = require("./restrict-imports");
5
- Object.defineProperty(exports, "restrictImports", { enumerable: true, get: function () { return restrict_imports_1.restrictImports; } });
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "restrictImports", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _restrictimports.restrictImports;
9
+ }
10
+ });
11
+ const _restrictimports = require("./restrict-imports");
12
+
6
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,uDAAsE;AAA7D,mHAAA,eAAe,OAAA"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export type { RawConfig as Config, RawEntry as Entry } from './config';\nexport type { RestrictionZone } from './restrict-imports';\nexport { restrictImports } from './restrict-imports';\n"],"names":["restrictImports"],"mappings":";;;;+BAESA;;;eAAAA,gCAAe;;;iCAAQ"}
@@ -1,73 +1,74 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.restrictImports = restrictImports;
4
- exports.restrictImports_ = restrictImports_;
5
- exports.getAllow = getAllow;
6
- exports.getDisallow = getDisallow;
7
- exports.allowZone = allowZone;
8
- exports.disallowZone = disallowZone;
9
- const config_1 = require("./config");
10
- /**
11
- * @param {string} base an absolute path
12
- * @param {Array<string>} modules
13
- * @param {Object} [config] describes import restrictions between modules
14
- *
15
- * @example
16
- * [
17
- * // 'common' is self-containing, imports from other modules is restricted
18
- * { name: 'common' },
19
- *
20
- * // 'ach' can import only from 'common' module
21
- * { name: 'ach-modal', allow: 'common' },
22
- *
23
- * // both 'accounting' and 'onboarding' can import only from 'common' and 'ach-modal' modules
24
- * { name: 'accounting', allow: ['common', 'ach-modal'] },
25
- * { name: 'onboarding', allow: ['common', 'ach-modal'] },
26
- *
27
- * // '*' describes any module which has no a special config entry
28
- * { name: '*', allow: 'common' },
29
- *
30
- * // 'header' can import from every module, except for 'settings'
31
- * { name: 'header', allow: '*' },
32
- *
33
- * // 'settings' can import from every module
34
- * { name: 'settings', allow: '*' },
35
- * ]
36
- *
37
- * @description Config should follow the next rules:
38
- * 1. The only available mask for both `name` and `allow` fields is '*'
39
- * 2. Order of entries is important to avoid circular dependencies between modules, module's dependency should be described *above* the module description. In the example, the 'common' module should be described *above* other modules. This rule also applies to the '*' mask, it should be described *before* it is using in other config entries.
40
- */
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get allowZone () {
13
+ return allowZone;
14
+ },
15
+ get disallowZone () {
16
+ return disallowZone;
17
+ },
18
+ get getAllow () {
19
+ return getAllow;
20
+ },
21
+ get getDisallow () {
22
+ return getDisallow;
23
+ },
24
+ get restrictImports () {
25
+ return restrictImports;
26
+ },
27
+ get restrictImports_ () {
28
+ return restrictImports_;
29
+ }
30
+ });
31
+ const _config = require("./config");
41
32
  function restrictImports(base, modules, config) {
42
- const validationError = (0, config_1.validateRawConfig)(config);
33
+ const validationError = (0, _config.validateRawConfig)(config);
43
34
  if (validationError) {
44
35
  throw new Error(validationError);
45
36
  }
46
- return restrictImports_(base, modules, (0, config_1.canonicalizeConfig)(config));
37
+ return restrictImports_(base, modules, (0, _config.canonicalizeConfig)(config));
47
38
  }
48
- // suppose we have '*' entry in the `config`
49
- // eslint-disable-next-line @typescript-eslint/naming-convention
50
39
  function restrictImports_(base, modules, config) {
51
40
  // eslint-disable-next-line @typescript-eslint/naming-convention
52
41
  const getAllow_ = getAllow(config);
53
- return modules.reduce((acc, name) => {
42
+ return modules.reduce((acc, name)=>{
54
43
  const allow = getAllow_(name);
55
44
  if (allow !== '*') {
56
- return [...acc, allowZone(base, name, allow)];
45
+ return [
46
+ ...acc,
47
+ allowZone(base, name, allow)
48
+ ];
57
49
  }
58
50
  const disallow = getDisallow(config, name);
59
51
  if (disallow.length > 0) {
60
- return [...acc, disallowZone(base, name, disallow)];
52
+ return [
53
+ ...acc,
54
+ disallowZone(base, name, disallow)
55
+ ];
61
56
  }
62
57
  return acc;
63
58
  }, []);
64
59
  }
65
60
  function getAllow(c) {
66
- const m = new Map(c.map(e => [e.name, e.allow]));
67
- return (name) => { var _a, _b; return (_b = (_a = m.get(name)) !== null && _a !== void 0 ? _a : m.get('*')) !== null && _b !== void 0 ? _b : []; };
61
+ const m = new Map(c.map((e)=>[
62
+ e.name,
63
+ e.allow
64
+ ]));
65
+ return (name)=>{
66
+ var _m_get, _ref;
67
+ return (_ref = (_m_get = m.get(name)) !== null && _m_get !== void 0 ? _m_get : m.get('*')) !== null && _ref !== void 0 ? _ref : [];
68
+ };
68
69
  }
69
70
  function getDisallow(c, name) {
70
- const names = c.map(c => c.name);
71
+ const names = c.map((c)=>c.name);
71
72
  const index = names.indexOf(name);
72
73
  return names.slice(index + 1);
73
74
  }
@@ -75,16 +76,21 @@ function allowZone(base, dirName, allow = []) {
75
76
  return {
76
77
  target: base + dirName,
77
78
  from: `${base}**/*`,
78
- except: [`${base}${toGlobList([dirName, ...allow])}/**/*`],
79
+ except: [
80
+ `${base}${toGlobList([
81
+ dirName,
82
+ ...allow
83
+ ])}/**/*`
84
+ ]
79
85
  };
80
86
  }
81
87
  function disallowZone(base, dirName, disallow) {
82
88
  return {
83
89
  target: base + dirName,
84
- from: `${base}${toGlobList(disallow)}/**/*`,
90
+ from: `${base}${toGlobList(disallow)}/**/*`
85
91
  };
86
92
  }
87
- const toGlobList = (items) => {
93
+ const toGlobList = (items)=>{
88
94
  if (!items.length) {
89
95
  return '';
90
96
  }
@@ -94,4 +100,5 @@ const toGlobList = (items) => {
94
100
  }
95
101
  return `{${uniqueItems.join(',')}}`;
96
102
  };
103
+
97
104
  //# sourceMappingURL=restrict-imports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"restrict-imports.js","sourceRoot":"","sources":["../src/restrict-imports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../src/restrict-imports.ts"],"sourcesContent":["import { canonicalizeConfig, Config, RawConfig, validateRawConfig } from './config';\n\n/**\n * @param {string} base an absolute path\n * @param {Array<string>} modules\n * @param {Object} [config] describes import restrictions between modules\n *\n * @example\n * [\n * // 'common' is self-containing, imports from other modules is restricted\n * { name: 'common' },\n *\n * // 'ach' can import only from 'common' module\n * { name: 'ach-modal', allow: 'common' },\n *\n * // both 'accounting' and 'onboarding' can import only from 'common' and 'ach-modal' modules\n * { name: 'accounting', allow: ['common', 'ach-modal'] },\n * { name: 'onboarding', allow: ['common', 'ach-modal'] },\n *\n * // '*' describes any module which has no a special config entry\n * { name: '*', allow: 'common' },\n *\n * // 'header' can import from every module, except for 'settings'\n * { name: 'header', allow: '*' },\n *\n * // 'settings' can import from every module\n * { name: 'settings', allow: '*' },\n * ]\n *\n * @description Config should follow the next rules:\n * 1. The only available mask for both `name` and `allow` fields is '*'\n * 2. Order of entries is important to avoid circular dependencies between modules, module's dependency should be described *above* the module description. In the example, the 'common' module should be described *above* other modules. This rule also applies to the '*' mask, it should be described *before* it is using in other config entries.\n */\n\nexport function restrictImports(\n base: string,\n modules: string[],\n config?: RawConfig\n): RestrictionZone[] {\n const validationError = validateRawConfig(config);\n if (validationError) {\n throw new Error(validationError);\n }\n\n return restrictImports_(base, modules, canonicalizeConfig(config));\n}\n\n// suppose we have '*' entry in the `config`\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function restrictImports_(base: string, modules: string[], config: Config) {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const getAllow_ = getAllow(config);\n\n return modules.reduce<RestrictionZone[]>((acc, name) => {\n const allow = getAllow_(name);\n if (allow !== '*') {\n return [...acc, allowZone(base, name, allow)];\n }\n\n const disallow = getDisallow(config, name);\n if (disallow.length > 0) {\n return [...acc, disallowZone(base, name, disallow)];\n }\n\n return acc;\n }, []);\n}\n\nexport function getAllow(c: Config) {\n const m = new Map(c.map(e => [e.name, e.allow]));\n\n return (name: string) => m.get(name) ?? m.get('*') ?? [];\n}\n\nexport function getDisallow(c: Config, name: string) {\n const names = c.map(c => c.name);\n const index = names.indexOf(name);\n\n return names.slice(index + 1);\n}\n\nexport function allowZone(base: string, dirName: string, allow: string[] = []): RestrictionZone {\n return {\n target: base + dirName,\n from: `${base}**/*`,\n except: [`${base}${toGlobList([dirName, ...allow])}/**/*`],\n };\n}\n\nexport function disallowZone(base: string, dirName: string, disallow: string[]): RestrictionZone {\n return {\n target: base + dirName,\n from: `${base}${toGlobList(disallow)}/**/*`,\n };\n}\n\nconst toGlobList = (items: string[]) => {\n if (!items.length) {\n return '';\n }\n\n const uniqueItems = Array.from(new Set(items));\n\n if (uniqueItems.length === 1) {\n return uniqueItems[0];\n }\n\n return `{${uniqueItems.join(',')}}`;\n};\n\nexport interface RestrictionZone {\n target: string;\n from: string;\n except?: string[];\n}\n"],"names":["allowZone","disallowZone","getAllow","getDisallow","restrictImports","restrictImports_","base","modules","config","validationError","validateRawConfig","Error","canonicalizeConfig","getAllow_","reduce","acc","name","allow","disallow","length","c","m","Map","map","e","get","names","index","indexOf","slice","dirName","target","from","except","toGlobList","items","uniqueItems","Array","Set","join"],"mappings":";;;;;;;;;;;QAiFgBA;eAAAA;;QAQAC;eAAAA;;QArBAC;eAAAA;;QAMAC;eAAAA;;QAxCAC;eAAAA;;QAeAC;eAAAA;;;wBAjDyD;AAkClE,SAASD,gBACZE,IAAY,EACZC,OAAiB,EACjBC,MAAkB;IAElB,MAAMC,kBAAkBC,IAAAA,yBAAiB,EAACF;IAC1C,IAAIC,iBAAiB;QACjB,MAAM,IAAIE,MAAMF;IACpB;IAEA,OAAOJ,iBAAiBC,MAAMC,SAASK,IAAAA,0BAAkB,EAACJ;AAC9D;AAIO,SAASH,iBAAiBC,IAAY,EAAEC,OAAiB,EAAEC,MAAc;IAC5E,gEAAgE;IAChE,MAAMK,YAAYX,SAASM;IAE3B,OAAOD,QAAQO,MAAM,CAAoB,CAACC,KAAKC;QAC3C,MAAMC,QAAQJ,UAAUG;QACxB,IAAIC,UAAU,KAAK;YACf,OAAO;mBAAIF;gBAAKf,UAAUM,MAAMU,MAAMC;aAAO;QACjD;QAEA,MAAMC,WAAWf,YAAYK,QAAQQ;QACrC,IAAIE,SAASC,MAAM,GAAG,GAAG;YACrB,OAAO;mBAAIJ;gBAAKd,aAAaK,MAAMU,MAAME;aAAU;QACvD;QAEA,OAAOH;IACX,GAAG,EAAE;AACT;AAEO,SAASb,SAASkB,CAAS;IAC9B,MAAMC,IAAI,IAAIC,IAAIF,EAAEG,GAAG,CAACC,CAAAA,IAAK;YAACA,EAAER,IAAI;YAAEQ,EAAEP,KAAK;SAAC;IAE9C,OAAO,CAACD;YAAiBK,QAAAA;eAAAA,CAAAA,OAAAA,CAAAA,SAAAA,EAAEI,GAAG,CAACT,mBAANK,oBAAAA,SAAeA,EAAEI,GAAG,CAAC,kBAArBJ,kBAAAA,OAA6B,EAAE;;AAC5D;AAEO,SAASlB,YAAYiB,CAAS,EAAEJ,IAAY;IAC/C,MAAMU,QAAQN,EAAEG,GAAG,CAACH,CAAAA,IAAKA,EAAEJ,IAAI;IAC/B,MAAMW,QAAQD,MAAME,OAAO,CAACZ;IAE5B,OAAOU,MAAMG,KAAK,CAACF,QAAQ;AAC/B;AAEO,SAAS3B,UAAUM,IAAY,EAAEwB,OAAe,EAAEb,QAAkB,EAAE;IACzE,OAAO;QACHc,QAAQzB,OAAOwB;QACfE,MAAM,GAAG1B,KAAK,IAAI,CAAC;QACnB2B,QAAQ;YAAC,GAAG3B,OAAO4B,WAAW;gBAACJ;mBAAYb;aAAM,EAAE,KAAK,CAAC;SAAC;IAC9D;AACJ;AAEO,SAAShB,aAAaK,IAAY,EAAEwB,OAAe,EAAEZ,QAAkB;IAC1E,OAAO;QACHa,QAAQzB,OAAOwB;QACfE,MAAM,GAAG1B,OAAO4B,WAAWhB,UAAU,KAAK,CAAC;IAC/C;AACJ;AAEA,MAAMgB,aAAa,CAACC;IAChB,IAAI,CAACA,MAAMhB,MAAM,EAAE;QACf,OAAO;IACX;IAEA,MAAMiB,cAAcC,MAAML,IAAI,CAAC,IAAIM,IAAIH;IAEvC,IAAIC,YAAYjB,MAAM,KAAK,GAAG;QAC1B,OAAOiB,WAAW,CAAC,EAAE;IACzB;IAEA,OAAO,CAAC,CAAC,EAAEA,YAAYG,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/restrict-imports",
3
- "version": "30.3.0",
3
+ "version": "31.0.0",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,5 +19,5 @@
19
19
  "cli": {
20
20
  "webpack": false
21
21
  },
22
- "gitHead": "7521e8d9534299652c39fb5e71348c68120aee70"
22
+ "gitHead": "c52e188a1217df74052774a2eea6a5126089e3d5"
23
23
  }
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
- export { RawConfig as Config, RawEntry as Entry } from './config';
2
- export { restrictImports, RestrictionZone } from './restrict-imports';
1
+ export type { RawConfig as Config, RawEntry as Entry } from './config';
2
+ export type { RestrictionZone } from './restrict-imports';
3
+ export { restrictImports } from './restrict-imports';