@next-core/supply 1.1.1-alpha.0 → 2.0.3

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/cjs/index.js CHANGED
@@ -1,38 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.supply = supply;
9
-
10
8
  var _lodash = _interopRequireDefault(require("lodash"));
11
-
12
9
  var _moment = _interopRequireDefault(require("moment"));
13
-
14
10
  var _pipes = require("@next-core/pipes");
15
-
16
- function supply(attemptToVisitGlobals, providedGlobalVariables) {
17
- const globalVariables = { ...providedGlobalVariables
18
- }; // Allow limited browser builtin values.
19
-
11
+ function supply(attemptToVisitGlobals, providedGlobalVariables, mock) {
12
+ const globalVariables = {
13
+ ...providedGlobalVariables
14
+ };
15
+ // Allow limited browser builtin values.
20
16
  globalVariables["undefined"] = undefined;
21
-
22
17
  for (const variableName of attemptToVisitGlobals) {
23
18
  if (!Object.prototype.hasOwnProperty.call(globalVariables, variableName)) {
24
- const variable = supplyIndividual(variableName);
25
-
19
+ const variable = supplyIndividual(variableName, mock);
26
20
  if (variable !== undefined) {
27
21
  globalVariables[variableName] = variable;
28
22
  }
29
23
  }
30
24
  }
31
-
32
25
  return globalVariables;
33
26
  }
34
-
35
- const shouldOmitInLodash = new Set([// Omit all mutable methods from lodash.
27
+ const shouldOmitInLodash = new Set([
28
+ // Omit all mutable methods from lodash.
36
29
  // But allow sequence methods like `_.chain`.
37
30
  "fill", "pull", "pullAll", "pullAllBy", "pullAllWith", "pullAt", "remove", "reverse", "assign", "assignIn", "assignInWith", "assignWith", "defaults", "defaultsDeep", "merge", "mergeWith", "set", "setWith", "unset", "update", "updateWith",
38
31
  /**
@@ -45,50 +38,35 @@ const shouldOmitInLodash = new Set([// Omit all mutable methods from lodash.
45
38
  * _.wrap(_.method('constructor.assign',{b:2},{b:3}),(func,...a) => func(...a))({})
46
39
  * ```
47
40
  */
48
- "after", "ary", "before", "bind", "bindKey", "curry", "curryRight", "debounce", "defer", "delay", "flip", "memoize", "negate", "once", "overArgs", "partial", "partialRight", "rearg", "rest", "spread", "throttle", "unary", "wrap"]); // Omit all mutable methods from moment.
41
+ "after", "ary", "before", "bind", "bindKey", "curry", "curryRight", "debounce", "defer", "delay", "flip", "memoize", "negate", "once", "overArgs", "partial", "partialRight", "rearg", "rest", "spread", "throttle", "unary", "wrap"]);
49
42
 
43
+ // Omit all mutable methods from moment.
50
44
  const shouldOmitInMoment = new Set(["lang", "langData", "locale", "localeData", "defineLocale", "updateLocale", "updateOffset"]);
51
45
  const allowedGlobalObjects = new Set(["Array", "Boolean", "Date", "Infinity", "JSON", "Math", "NaN", "Number", "String", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "isFinite", "isNaN", "parseFloat", "parseInt", "Map", "Set", "URLSearchParams", "WeakMap", "WeakSet", "atob", "btoa"]);
52
-
53
- function supplyIndividual(variableName) {
46
+ function supplyIndividual(variableName, mock) {
54
47
  switch (variableName) {
55
48
  case "Object":
56
49
  // Do not allow mutable methods like `Object.assign`.
57
50
  return delegateMethods(Object, ["entries", "fromEntries", "keys", "values"]);
58
-
59
51
  case "_":
60
- return Object.fromEntries(Object.entries(_lodash.default).filter(entry => !shouldOmitInLodash.has(entry[0])));
61
-
52
+ return Object.fromEntries(Object.entries(_lodash.default).filter(entry => !shouldOmitInLodash.has(entry[0])).concat(mock ? [["uniqueId", prefix => `${prefix !== null && prefix !== void 0 ? prefix : ""}42`]] : []));
62
53
  case "moment":
63
54
  return Object.assign((...args) => (0, _moment.default)(...args), Object.fromEntries(Object.entries(_moment.default).filter(entry => !shouldOmitInMoment.has(entry[0]))));
64
-
65
55
  case "PIPES":
66
56
  return _pipes.pipes;
67
-
68
- case "location":
69
- return {
70
- href: location.href,
71
- origin: location.origin
72
- };
73
-
74
57
  case "TAG_URL":
75
58
  return tagUrlFactory(true);
76
-
77
59
  case "SAFE_TAG_URL":
78
60
  return tagUrlFactory();
79
-
80
61
  default:
81
62
  if (allowedGlobalObjects.has(variableName)) {
82
63
  return window[variableName];
83
64
  }
84
-
85
65
  }
86
66
  }
87
-
88
67
  function delegateMethods(target, methods) {
89
68
  return Object.fromEntries(methods.map(method => [method, (...args) => target[method].apply(target, args)]));
90
69
  }
91
-
92
70
  /**
93
71
  * Pass `ignoreSlashes` as `true` to encode all tagged expressions
94
72
  * as URL components, except for `/` which maybe used in `APP.homepage`.
@@ -118,7 +96,6 @@ function tagUrlFactory(ignoreSlashes) {
118
96
  const result = [];
119
97
  strings.forEach((str, index) => {
120
98
  result.push(str);
121
-
122
99
  if (index < partials.length) {
123
100
  result.push(ignoreSlashes ? String(partials[index]).replace(/[^/]+/g, p => encodeURIComponent(p)) : encodeURIComponent(String(partials[index])));
124
101
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["supply","attemptToVisitGlobals","providedGlobalVariables","globalVariables","undefined","variableName","Object","prototype","hasOwnProperty","call","variable","supplyIndividual","shouldOmitInLodash","Set","shouldOmitInMoment","allowedGlobalObjects","delegateMethods","fromEntries","entries","lodash","filter","entry","has","assign","args","moment","pipes","href","location","origin","tagUrlFactory","window","target","methods","map","method","apply","ignoreSlashes","strings","partials","result","forEach","str","index","push","length","String","replace","p","encodeURIComponent","join"],"mappings":"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","sourcesContent":["import lodash from \"lodash\";\nimport moment from \"moment\";\nimport { SimpleFunction } from \"@next-core/brick-types\";\nimport { pipes } from \"@next-core/pipes\";\n\nexport function supply(\n attemptToVisitGlobals: Set<string>,\n providedGlobalVariables?: Record<string, unknown>\n): Record<string, unknown> {\n const globalVariables = {\n ...providedGlobalVariables,\n };\n // Allow limited browser builtin values.\n globalVariables[\"undefined\"] = undefined;\n for (const variableName of attemptToVisitGlobals) {\n if (!Object.prototype.hasOwnProperty.call(globalVariables, variableName)) {\n const variable = supplyIndividual(variableName);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n }\n return globalVariables;\n}\n\nconst shouldOmitInLodash = new Set([\n // Omit all mutable methods from lodash.\n // But allow sequence methods like `_.chain`.\n \"fill\",\n \"pull\",\n \"pullAll\",\n \"pullAllBy\",\n \"pullAllWith\",\n \"pullAt\",\n \"remove\",\n \"reverse\",\n \"assign\",\n \"assignIn\",\n \"assignInWith\",\n \"assignWith\",\n \"defaults\",\n \"defaultsDeep\",\n \"merge\",\n \"mergeWith\",\n \"set\",\n \"setWith\",\n \"unset\",\n \"update\",\n \"updateWith\",\n /**\n * Ignore `Function` methods from lodash, too.\n * There are chances to invoke `Object.assign`, etc.\n *\n * E.g.:\n *\n * ```\n * _.wrap(_.method('constructor.assign',{b:2},{b:3}),(func,...a) => func(...a))({})\n * ```\n */\n \"after\",\n \"ary\",\n \"before\",\n \"bind\",\n \"bindKey\",\n \"curry\",\n \"curryRight\",\n \"debounce\",\n \"defer\",\n \"delay\",\n \"flip\",\n \"memoize\",\n \"negate\",\n \"once\",\n \"overArgs\",\n \"partial\",\n \"partialRight\",\n \"rearg\",\n \"rest\",\n \"spread\",\n \"throttle\",\n \"unary\",\n \"wrap\",\n]);\n\n// Omit all mutable methods from moment.\nconst shouldOmitInMoment = new Set([\n \"lang\",\n \"langData\",\n \"locale\",\n \"localeData\",\n \"defineLocale\",\n \"updateLocale\",\n \"updateOffset\",\n]);\n\nconst allowedGlobalObjects = new Set([\n \"Array\",\n \"Boolean\",\n \"Date\",\n \"Infinity\",\n \"JSON\",\n \"Math\",\n \"NaN\",\n \"Number\",\n \"String\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"Map\",\n \"Set\",\n \"URLSearchParams\",\n \"WeakMap\",\n \"WeakSet\",\n \"atob\",\n \"btoa\",\n]);\n\nfunction supplyIndividual(variableName: string): unknown {\n switch (variableName) {\n case \"Object\":\n // Do not allow mutable methods like `Object.assign`.\n return delegateMethods(Object, [\n \"entries\",\n \"fromEntries\",\n \"keys\",\n \"values\",\n ]);\n case \"_\":\n return Object.fromEntries(\n Object.entries(lodash).filter(\n (entry) => !shouldOmitInLodash.has(entry[0])\n )\n );\n case \"moment\":\n return Object.assign(\n (...args: Parameters<typeof moment>) => moment(...args),\n Object.fromEntries(\n Object.entries(moment).filter(\n (entry) => !shouldOmitInMoment.has(entry[0])\n )\n )\n );\n case \"PIPES\":\n return pipes;\n case \"location\":\n return { href: location.href, origin: location.origin };\n case \"TAG_URL\":\n return tagUrlFactory(true);\n case \"SAFE_TAG_URL\":\n return tagUrlFactory();\n default:\n if (allowedGlobalObjects.has(variableName)) {\n return window[variableName as keyof Window];\n }\n }\n}\n\nfunction delegateMethods(\n target: unknown,\n methods: string[]\n): Record<string, SimpleFunction> {\n return Object.fromEntries(\n methods.map((method) => [\n method,\n <T>(...args: T[]) =>\n (target as Record<typeof method, (...args: T[]) => unknown>)[\n method\n ].apply(target, args),\n ])\n );\n}\n\ntype FnTagUrl = (\n strings: TemplateStringsArray,\n ...partials: unknown[]\n) => string;\n\n/**\n * Pass `ignoreSlashes` as `true` to encode all tagged expressions\n * as URL components, except for `/` which maybe used in `APP.homepage`.\n *\n * Otherwise encode all tagged expressions as URL components.\n * This will encode `/` as `%2F`. So do not use it directly\n * with `APP.homepage` as in template expressions.\n *\n * @example\n *\n * ```js\n * TAG_URL`${APP.homepage}/list?q=${q}&redirect=${redirect}`\n * ```\n *\n * ```js\n * SAFE_TAG_URL`file/${path}?q=${q}`\n * // `path` will be fully transformed by `encodeURIComponent`.\n * ```\n *\n * ```js\n * // Wrap `APP.homepage` outside of `SAFE_TAG_URL`.\n * `${APP.homepage}/${SAFE_TAG_URL`file/${path}?q=${q}`}`\n * ```\n */\nfunction tagUrlFactory(ignoreSlashes?: boolean): FnTagUrl {\n return function (\n strings: TemplateStringsArray,\n ...partials: unknown[]\n ): string {\n const result: string[] = [];\n strings.forEach((str, index) => {\n result.push(str);\n if (index < partials.length) {\n result.push(\n ignoreSlashes\n ? String(partials[index]).replace(/[^/]+/g, (p) =>\n encodeURIComponent(p)\n )\n : encodeURIComponent(String(partials[index]))\n );\n }\n });\n return result.join(\"\");\n };\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_lodash","_interopRequireDefault","require","_moment","_pipes","supply","attemptToVisitGlobals","providedGlobalVariables","mock","globalVariables","undefined","variableName","Object","prototype","hasOwnProperty","call","variable","supplyIndividual","shouldOmitInLodash","Set","shouldOmitInMoment","allowedGlobalObjects","delegateMethods","fromEntries","entries","lodash","filter","entry","has","concat","prefix","assign","args","moment","pipes","tagUrlFactory","window","target","methods","map","method","apply","ignoreSlashes","strings","partials","result","forEach","str","index","push","length","String","replace","p","encodeURIComponent","join"],"sources":["../../src/index.ts"],"sourcesContent":["import lodash from \"lodash\";\nimport moment from \"moment\";\nimport { pipes } from \"@next-core/pipes\";\n\nexport function supply(\n attemptToVisitGlobals: Set<string>,\n providedGlobalVariables?: Record<string, unknown>,\n mock?: boolean\n): Record<string, unknown> {\n const globalVariables = {\n ...providedGlobalVariables,\n };\n // Allow limited browser builtin values.\n globalVariables[\"undefined\"] = undefined;\n for (const variableName of attemptToVisitGlobals) {\n if (!Object.prototype.hasOwnProperty.call(globalVariables, variableName)) {\n const variable = supplyIndividual(variableName, mock);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n }\n return globalVariables;\n}\n\nconst shouldOmitInLodash = new Set([\n // Omit all mutable methods from lodash.\n // But allow sequence methods like `_.chain`.\n \"fill\",\n \"pull\",\n \"pullAll\",\n \"pullAllBy\",\n \"pullAllWith\",\n \"pullAt\",\n \"remove\",\n \"reverse\",\n \"assign\",\n \"assignIn\",\n \"assignInWith\",\n \"assignWith\",\n \"defaults\",\n \"defaultsDeep\",\n \"merge\",\n \"mergeWith\",\n \"set\",\n \"setWith\",\n \"unset\",\n \"update\",\n \"updateWith\",\n /**\n * Ignore `Function` methods from lodash, too.\n * There are chances to invoke `Object.assign`, etc.\n *\n * E.g.:\n *\n * ```\n * _.wrap(_.method('constructor.assign',{b:2},{b:3}),(func,...a) => func(...a))({})\n * ```\n */\n \"after\",\n \"ary\",\n \"before\",\n \"bind\",\n \"bindKey\",\n \"curry\",\n \"curryRight\",\n \"debounce\",\n \"defer\",\n \"delay\",\n \"flip\",\n \"memoize\",\n \"negate\",\n \"once\",\n \"overArgs\",\n \"partial\",\n \"partialRight\",\n \"rearg\",\n \"rest\",\n \"spread\",\n \"throttle\",\n \"unary\",\n \"wrap\",\n]);\n\n// Omit all mutable methods from moment.\nconst shouldOmitInMoment = new Set([\n \"lang\",\n \"langData\",\n \"locale\",\n \"localeData\",\n \"defineLocale\",\n \"updateLocale\",\n \"updateOffset\",\n]);\n\nconst allowedGlobalObjects = new Set([\n \"Array\",\n \"Boolean\",\n \"Date\",\n \"Infinity\",\n \"JSON\",\n \"Math\",\n \"NaN\",\n \"Number\",\n \"String\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"Map\",\n \"Set\",\n \"URLSearchParams\",\n \"WeakMap\",\n \"WeakSet\",\n \"atob\",\n \"btoa\",\n]);\n\nfunction supplyIndividual(variableName: string, mock?: boolean): unknown {\n switch (variableName) {\n case \"Object\":\n // Do not allow mutable methods like `Object.assign`.\n return delegateMethods(Object, [\n \"entries\",\n \"fromEntries\",\n \"keys\",\n \"values\",\n ]);\n case \"_\":\n return Object.fromEntries(\n Object.entries(lodash)\n .filter((entry) => !shouldOmitInLodash.has(entry[0]))\n .concat(\n mock ? [[\"uniqueId\", (prefix?: string) => `${prefix ?? \"\"}42`]] : []\n )\n );\n case \"moment\":\n return Object.assign(\n (...args: Parameters<typeof moment>) => moment(...args),\n Object.fromEntries(\n Object.entries(moment).filter(\n (entry) => !shouldOmitInMoment.has(entry[0])\n )\n )\n );\n case \"PIPES\":\n return pipes;\n case \"TAG_URL\":\n return tagUrlFactory(true);\n case \"SAFE_TAG_URL\":\n return tagUrlFactory();\n default:\n if (allowedGlobalObjects.has(variableName)) {\n return window[variableName as keyof Window];\n }\n }\n}\n\nfunction delegateMethods(\n target: unknown,\n methods: string[]\n): Record<string, Function> {\n return Object.fromEntries(\n methods.map((method) => [\n method,\n <T>(...args: T[]) =>\n (target as Record<typeof method, (...args: T[]) => unknown>)[\n method\n ].apply(target, args),\n ])\n );\n}\n\ntype FnTagUrl = (\n strings: TemplateStringsArray,\n ...partials: unknown[]\n) => string;\n\n/**\n * Pass `ignoreSlashes` as `true` to encode all tagged expressions\n * as URL components, except for `/` which maybe used in `APP.homepage`.\n *\n * Otherwise encode all tagged expressions as URL components.\n * This will encode `/` as `%2F`. So do not use it directly\n * with `APP.homepage` as in template expressions.\n *\n * @example\n *\n * ```js\n * TAG_URL`${APP.homepage}/list?q=${q}&redirect=${redirect}`\n * ```\n *\n * ```js\n * SAFE_TAG_URL`file/${path}?q=${q}`\n * // `path` will be fully transformed by `encodeURIComponent`.\n * ```\n *\n * ```js\n * // Wrap `APP.homepage` outside of `SAFE_TAG_URL`.\n * `${APP.homepage}/${SAFE_TAG_URL`file/${path}?q=${q}`}`\n * ```\n */\nfunction tagUrlFactory(ignoreSlashes?: boolean): FnTagUrl {\n return function (\n strings: TemplateStringsArray,\n ...partials: unknown[]\n ): string {\n const result: string[] = [];\n strings.forEach((str, index) => {\n result.push(str);\n if (index < partials.length) {\n result.push(\n ignoreSlashes\n ? String(partials[index]).replace(/[^/]+/g, (p) =>\n encodeURIComponent(p)\n )\n : encodeURIComponent(String(partials[index]))\n );\n }\n });\n return result.join(\"\");\n };\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEO,SAASG,MAAMA,CACpBC,qBAAkC,EAClCC,uBAAiD,EACjDC,IAAc,EACW;EACzB,MAAMC,eAAe,GAAG;IACtB,GAAGF;EACL,CAAC;EACD;EACAE,eAAe,CAAC,WAAW,CAAC,GAAGC,SAAS;EACxC,KAAK,MAAMC,YAAY,IAAIL,qBAAqB,EAAE;IAChD,IAAI,CAACM,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,eAAe,EAAEE,YAAY,CAAC,EAAE;MACxE,MAAMK,QAAQ,GAAGC,gBAAgB,CAACN,YAAY,EAAEH,IAAI,CAAC;MACrD,IAAIQ,QAAQ,KAAKN,SAAS,EAAE;QAC1BD,eAAe,CAACE,YAAY,CAAC,GAAGK,QAAQ;MAC1C;IACF;EACF;EACA,OAAOP,eAAe;AACxB;AAEA,MAAMS,kBAAkB,GAAG,IAAIC,GAAG,CAAC;AACjC;AACA;AACA,MAAM,EACN,MAAM,EACN,SAAS,EACT,WAAW,EACX,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,OAAO,EACP,WAAW,EACX,KAAK,EACL,SAAS,EACT,OAAO,EACP,QAAQ,EACR,YAAY;AACZ;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE,OAAO,EACP,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAO,EACP,YAAY,EACZ,UAAU,EACV,OAAO,EACP,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,MAAM,EACN,UAAU,EACV,SAAS,EACT,cAAc,EACd,OAAO,EACP,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,EACP,MAAM,CACP,CAAC;;AAEF;AACA,MAAMC,kBAAkB,GAAG,IAAID,GAAG,CAAC,CACjC,MAAM,EACN,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,CACf,CAAC;AAEF,MAAME,oBAAoB,GAAG,IAAIF,GAAG,CAAC,CACnC,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,OAAO,EACP,YAAY,EACZ,UAAU,EACV,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,CACP,CAAC;AAEF,SAASF,gBAAgBA,CAACN,YAAoB,EAAEH,IAAc,EAAW;EACvE,QAAQG,YAAY;IAClB,KAAK,QAAQ;MACX;MACA,OAAOW,eAAe,CAACV,MAAM,EAAE,CAC7B,SAAS,EACT,aAAa,EACb,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,KAAK,GAAG;MACN,OAAOA,MAAM,CAACW,WAAW,CACvBX,MAAM,CAACY,OAAO,CAACC,eAAM,CAAC,CACnBC,MAAM,CAAEC,KAAK,IAAK,CAACT,kBAAkB,CAACU,GAAG,CAACD,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CACpDE,MAAM,CACLrB,IAAI,GAAG,CAAC,CAAC,UAAU,EAAGsB,MAAe,IAAM,GAAEA,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAG,IAAG,CAAC,CAAC,GAAG,EAAE,CACrE,CACJ;IACH,KAAK,QAAQ;MACX,OAAOlB,MAAM,CAACmB,MAAM,CAClB,CAAC,GAAGC,IAA+B,KAAK,IAAAC,eAAM,EAAC,GAAGD,IAAI,CAAC,EACvDpB,MAAM,CAACW,WAAW,CAChBX,MAAM,CAACY,OAAO,CAACS,eAAM,CAAC,CAACP,MAAM,CAC1BC,KAAK,IAAK,CAACP,kBAAkB,CAACQ,GAAG,CAACD,KAAK,CAAC,CAAC,CAAC,CAAC,CAC7C,CACF,CACF;IACH,KAAK,OAAO;MACV,OAAOO,YAAK;IACd,KAAK,SAAS;MACZ,OAAOC,aAAa,CAAC,IAAI,CAAC;IAC5B,KAAK,cAAc;MACjB,OAAOA,aAAa,EAAE;IACxB;MACE,IAAId,oBAAoB,CAACO,GAAG,CAACjB,YAAY,CAAC,EAAE;QAC1C,OAAOyB,MAAM,CAACzB,YAAY,CAAiB;MAC7C;EAAC;AAEP;AAEA,SAASW,eAAeA,CACtBe,MAAe,EACfC,OAAiB,EACS;EAC1B,OAAO1B,MAAM,CAACW,WAAW,CACvBe,OAAO,CAACC,GAAG,CAAEC,MAAM,IAAK,CACtBA,MAAM,EACN,CAAI,GAAGR,IAAS,KACbK,MAAM,CACLG,MAAM,CACP,CAACC,KAAK,CAACJ,MAAM,EAAEL,IAAI,CAAC,CACxB,CAAC,CACH;AACH;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,aAAaA,CAACO,aAAuB,EAAY;EACxD,OAAO,UACLC,OAA6B,EAC7B,GAAGC,QAAmB,EACd;IACR,MAAMC,MAAgB,GAAG,EAAE;IAC3BF,OAAO,CAACG,OAAO,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;MAC9BH,MAAM,CAACI,IAAI,CAACF,GAAG,CAAC;MAChB,IAAIC,KAAK,GAAGJ,QAAQ,CAACM,MAAM,EAAE;QAC3BL,MAAM,CAACI,IAAI,CACTP,aAAa,GACTS,MAAM,CAACP,QAAQ,CAACI,KAAK,CAAC,CAAC,CAACI,OAAO,CAAC,QAAQ,EAAGC,CAAC,IAC1CC,kBAAkB,CAACD,CAAC,CAAC,CACtB,GACDC,kBAAkB,CAACH,MAAM,CAACP,QAAQ,CAACI,KAAK,CAAC,CAAC,CAAC,CAChD;MACH;IACF,CAAC,CAAC;IACF,OAAOH,MAAM,CAACU,IAAI,CAAC,EAAE,CAAC;EACxB,CAAC;AACH"}
package/dist/esm/index.js CHANGED
@@ -2,25 +2,22 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
2
  import lodash from "lodash";
3
3
  import moment from "moment";
4
4
  import { pipes } from "@next-core/pipes";
5
- export function supply(attemptToVisitGlobals, providedGlobalVariables) {
6
- var globalVariables = _objectSpread({}, providedGlobalVariables); // Allow limited browser builtin values.
7
-
8
-
5
+ export function supply(attemptToVisitGlobals, providedGlobalVariables, mock) {
6
+ var globalVariables = _objectSpread({}, providedGlobalVariables);
7
+ // Allow limited browser builtin values.
9
8
  globalVariables["undefined"] = undefined;
10
-
11
9
  for (var variableName of attemptToVisitGlobals) {
12
10
  if (!Object.prototype.hasOwnProperty.call(globalVariables, variableName)) {
13
- var variable = supplyIndividual(variableName);
14
-
11
+ var variable = supplyIndividual(variableName, mock);
15
12
  if (variable !== undefined) {
16
13
  globalVariables[variableName] = variable;
17
14
  }
18
15
  }
19
16
  }
20
-
21
17
  return globalVariables;
22
18
  }
23
- var shouldOmitInLodash = new Set([// Omit all mutable methods from lodash.
19
+ var shouldOmitInLodash = new Set([
20
+ // Omit all mutable methods from lodash.
24
21
  // But allow sequence methods like `_.chain`.
25
22
  "fill", "pull", "pullAll", "pullAllBy", "pullAllWith", "pullAt", "remove", "reverse", "assign", "assignIn", "assignInWith", "assignWith", "defaults", "defaultsDeep", "merge", "mergeWith", "set", "setWith", "unset", "update", "updateWith",
26
23
  /**
@@ -33,50 +30,42 @@ var shouldOmitInLodash = new Set([// Omit all mutable methods from lodash.
33
30
  * _.wrap(_.method('constructor.assign',{b:2},{b:3}),(func,...a) => func(...a))({})
34
31
  * ```
35
32
  */
36
- "after", "ary", "before", "bind", "bindKey", "curry", "curryRight", "debounce", "defer", "delay", "flip", "memoize", "negate", "once", "overArgs", "partial", "partialRight", "rearg", "rest", "spread", "throttle", "unary", "wrap"]); // Omit all mutable methods from moment.
33
+ "after", "ary", "before", "bind", "bindKey", "curry", "curryRight", "debounce", "defer", "delay", "flip", "memoize", "negate", "once", "overArgs", "partial", "partialRight", "rearg", "rest", "spread", "throttle", "unary", "wrap"]);
37
34
 
35
+ // Omit all mutable methods from moment.
38
36
  var shouldOmitInMoment = new Set(["lang", "langData", "locale", "localeData", "defineLocale", "updateLocale", "updateOffset"]);
39
37
  var allowedGlobalObjects = new Set(["Array", "Boolean", "Date", "Infinity", "JSON", "Math", "NaN", "Number", "String", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "isFinite", "isNaN", "parseFloat", "parseInt", "Map", "Set", "URLSearchParams", "WeakMap", "WeakSet", "atob", "btoa"]);
40
-
41
- function supplyIndividual(variableName) {
38
+ function supplyIndividual(variableName, mock) {
42
39
  switch (variableName) {
43
40
  case "Object":
44
41
  // Do not allow mutable methods like `Object.assign`.
45
42
  return delegateMethods(Object, ["entries", "fromEntries", "keys", "values"]);
46
-
47
43
  case "_":
48
- return Object.fromEntries(Object.entries(lodash).filter(entry => !shouldOmitInLodash.has(entry[0])));
49
-
44
+ return Object.fromEntries(Object.entries(lodash).filter(entry => !shouldOmitInLodash.has(entry[0])).concat(mock ? [["uniqueId", prefix => "".concat(prefix !== null && prefix !== void 0 ? prefix : "", "42")]] : []));
50
45
  case "moment":
51
- return Object.assign((...args) => moment(...args), Object.fromEntries(Object.entries(moment).filter(entry => !shouldOmitInMoment.has(entry[0]))));
52
-
46
+ return Object.assign(function () {
47
+ return moment(...arguments);
48
+ }, Object.fromEntries(Object.entries(moment).filter(entry => !shouldOmitInMoment.has(entry[0]))));
53
49
  case "PIPES":
54
50
  return pipes;
55
-
56
- case "location":
57
- return {
58
- href: location.href,
59
- origin: location.origin
60
- };
61
-
62
51
  case "TAG_URL":
63
52
  return tagUrlFactory(true);
64
-
65
53
  case "SAFE_TAG_URL":
66
54
  return tagUrlFactory();
67
-
68
55
  default:
69
56
  if (allowedGlobalObjects.has(variableName)) {
70
57
  return window[variableName];
71
58
  }
72
-
73
59
  }
74
60
  }
75
-
76
61
  function delegateMethods(target, methods) {
77
- return Object.fromEntries(methods.map(method => [method, (...args) => target[method].apply(target, args)]));
62
+ return Object.fromEntries(methods.map(method => [method, function () {
63
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
64
+ args[_key] = arguments[_key];
65
+ }
66
+ return target[method].apply(target, args);
67
+ }]));
78
68
  }
79
-
80
69
  /**
81
70
  * Pass `ignoreSlashes` as `true` to encode all tagged expressions
82
71
  * as URL components, except for `/` which maybe used in `APP.homepage`.
@@ -102,11 +91,13 @@ function delegateMethods(target, methods) {
102
91
  * ```
103
92
  */
104
93
  function tagUrlFactory(ignoreSlashes) {
105
- return function (strings, ...partials) {
94
+ return function (strings) {
95
+ for (var _len2 = arguments.length, partials = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
96
+ partials[_key2 - 1] = arguments[_key2];
97
+ }
106
98
  var result = [];
107
99
  strings.forEach((str, index) => {
108
100
  result.push(str);
109
-
110
101
  if (index < partials.length) {
111
102
  result.push(ignoreSlashes ? String(partials[index]).replace(/[^/]+/g, p => encodeURIComponent(p)) : encodeURIComponent(String(partials[index])));
112
103
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["lodash","moment","pipes","supply","attemptToVisitGlobals","providedGlobalVariables","globalVariables","undefined","variableName","Object","prototype","hasOwnProperty","call","variable","supplyIndividual","shouldOmitInLodash","Set","shouldOmitInMoment","allowedGlobalObjects","delegateMethods","fromEntries","entries","filter","entry","has","assign","args","href","location","origin","tagUrlFactory","window","target","methods","map","method","apply","ignoreSlashes","strings","partials","result","forEach","str","index","push","length","String","replace","p","encodeURIComponent","join"],"mappings":"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","sourcesContent":["import lodash from \"lodash\";\nimport moment from \"moment\";\nimport { SimpleFunction } from \"@next-core/brick-types\";\nimport { pipes } from \"@next-core/pipes\";\n\nexport function supply(\n attemptToVisitGlobals: Set<string>,\n providedGlobalVariables?: Record<string, unknown>\n): Record<string, unknown> {\n const globalVariables = {\n ...providedGlobalVariables,\n };\n // Allow limited browser builtin values.\n globalVariables[\"undefined\"] = undefined;\n for (const variableName of attemptToVisitGlobals) {\n if (!Object.prototype.hasOwnProperty.call(globalVariables, variableName)) {\n const variable = supplyIndividual(variableName);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n }\n return globalVariables;\n}\n\nconst shouldOmitInLodash = new Set([\n // Omit all mutable methods from lodash.\n // But allow sequence methods like `_.chain`.\n \"fill\",\n \"pull\",\n \"pullAll\",\n \"pullAllBy\",\n \"pullAllWith\",\n \"pullAt\",\n \"remove\",\n \"reverse\",\n \"assign\",\n \"assignIn\",\n \"assignInWith\",\n \"assignWith\",\n \"defaults\",\n \"defaultsDeep\",\n \"merge\",\n \"mergeWith\",\n \"set\",\n \"setWith\",\n \"unset\",\n \"update\",\n \"updateWith\",\n /**\n * Ignore `Function` methods from lodash, too.\n * There are chances to invoke `Object.assign`, etc.\n *\n * E.g.:\n *\n * ```\n * _.wrap(_.method('constructor.assign',{b:2},{b:3}),(func,...a) => func(...a))({})\n * ```\n */\n \"after\",\n \"ary\",\n \"before\",\n \"bind\",\n \"bindKey\",\n \"curry\",\n \"curryRight\",\n \"debounce\",\n \"defer\",\n \"delay\",\n \"flip\",\n \"memoize\",\n \"negate\",\n \"once\",\n \"overArgs\",\n \"partial\",\n \"partialRight\",\n \"rearg\",\n \"rest\",\n \"spread\",\n \"throttle\",\n \"unary\",\n \"wrap\",\n]);\n\n// Omit all mutable methods from moment.\nconst shouldOmitInMoment = new Set([\n \"lang\",\n \"langData\",\n \"locale\",\n \"localeData\",\n \"defineLocale\",\n \"updateLocale\",\n \"updateOffset\",\n]);\n\nconst allowedGlobalObjects = new Set([\n \"Array\",\n \"Boolean\",\n \"Date\",\n \"Infinity\",\n \"JSON\",\n \"Math\",\n \"NaN\",\n \"Number\",\n \"String\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"Map\",\n \"Set\",\n \"URLSearchParams\",\n \"WeakMap\",\n \"WeakSet\",\n \"atob\",\n \"btoa\",\n]);\n\nfunction supplyIndividual(variableName: string): unknown {\n switch (variableName) {\n case \"Object\":\n // Do not allow mutable methods like `Object.assign`.\n return delegateMethods(Object, [\n \"entries\",\n \"fromEntries\",\n \"keys\",\n \"values\",\n ]);\n case \"_\":\n return Object.fromEntries(\n Object.entries(lodash).filter(\n (entry) => !shouldOmitInLodash.has(entry[0])\n )\n );\n case \"moment\":\n return Object.assign(\n (...args: Parameters<typeof moment>) => moment(...args),\n Object.fromEntries(\n Object.entries(moment).filter(\n (entry) => !shouldOmitInMoment.has(entry[0])\n )\n )\n );\n case \"PIPES\":\n return pipes;\n case \"location\":\n return { href: location.href, origin: location.origin };\n case \"TAG_URL\":\n return tagUrlFactory(true);\n case \"SAFE_TAG_URL\":\n return tagUrlFactory();\n default:\n if (allowedGlobalObjects.has(variableName)) {\n return window[variableName as keyof Window];\n }\n }\n}\n\nfunction delegateMethods(\n target: unknown,\n methods: string[]\n): Record<string, SimpleFunction> {\n return Object.fromEntries(\n methods.map((method) => [\n method,\n <T>(...args: T[]) =>\n (target as Record<typeof method, (...args: T[]) => unknown>)[\n method\n ].apply(target, args),\n ])\n );\n}\n\ntype FnTagUrl = (\n strings: TemplateStringsArray,\n ...partials: unknown[]\n) => string;\n\n/**\n * Pass `ignoreSlashes` as `true` to encode all tagged expressions\n * as URL components, except for `/` which maybe used in `APP.homepage`.\n *\n * Otherwise encode all tagged expressions as URL components.\n * This will encode `/` as `%2F`. So do not use it directly\n * with `APP.homepage` as in template expressions.\n *\n * @example\n *\n * ```js\n * TAG_URL`${APP.homepage}/list?q=${q}&redirect=${redirect}`\n * ```\n *\n * ```js\n * SAFE_TAG_URL`file/${path}?q=${q}`\n * // `path` will be fully transformed by `encodeURIComponent`.\n * ```\n *\n * ```js\n * // Wrap `APP.homepage` outside of `SAFE_TAG_URL`.\n * `${APP.homepage}/${SAFE_TAG_URL`file/${path}?q=${q}`}`\n * ```\n */\nfunction tagUrlFactory(ignoreSlashes?: boolean): FnTagUrl {\n return function (\n strings: TemplateStringsArray,\n ...partials: unknown[]\n ): string {\n const result: string[] = [];\n strings.forEach((str, index) => {\n result.push(str);\n if (index < partials.length) {\n result.push(\n ignoreSlashes\n ? String(partials[index]).replace(/[^/]+/g, (p) =>\n encodeURIComponent(p)\n )\n : encodeURIComponent(String(partials[index]))\n );\n }\n });\n return result.join(\"\");\n };\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["lodash","moment","pipes","supply","attemptToVisitGlobals","providedGlobalVariables","mock","globalVariables","_objectSpread","undefined","variableName","Object","prototype","hasOwnProperty","call","variable","supplyIndividual","shouldOmitInLodash","Set","shouldOmitInMoment","allowedGlobalObjects","delegateMethods","fromEntries","entries","filter","entry","has","concat","prefix","assign","arguments","tagUrlFactory","window","target","methods","map","method","_len","length","args","Array","_key","apply","ignoreSlashes","strings","_len2","partials","_key2","result","forEach","str","index","push","String","replace","p","encodeURIComponent","join"],"sources":["../../src/index.ts"],"sourcesContent":["import lodash from \"lodash\";\nimport moment from \"moment\";\nimport { pipes } from \"@next-core/pipes\";\n\nexport function supply(\n attemptToVisitGlobals: Set<string>,\n providedGlobalVariables?: Record<string, unknown>,\n mock?: boolean\n): Record<string, unknown> {\n const globalVariables = {\n ...providedGlobalVariables,\n };\n // Allow limited browser builtin values.\n globalVariables[\"undefined\"] = undefined;\n for (const variableName of attemptToVisitGlobals) {\n if (!Object.prototype.hasOwnProperty.call(globalVariables, variableName)) {\n const variable = supplyIndividual(variableName, mock);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n }\n return globalVariables;\n}\n\nconst shouldOmitInLodash = new Set([\n // Omit all mutable methods from lodash.\n // But allow sequence methods like `_.chain`.\n \"fill\",\n \"pull\",\n \"pullAll\",\n \"pullAllBy\",\n \"pullAllWith\",\n \"pullAt\",\n \"remove\",\n \"reverse\",\n \"assign\",\n \"assignIn\",\n \"assignInWith\",\n \"assignWith\",\n \"defaults\",\n \"defaultsDeep\",\n \"merge\",\n \"mergeWith\",\n \"set\",\n \"setWith\",\n \"unset\",\n \"update\",\n \"updateWith\",\n /**\n * Ignore `Function` methods from lodash, too.\n * There are chances to invoke `Object.assign`, etc.\n *\n * E.g.:\n *\n * ```\n * _.wrap(_.method('constructor.assign',{b:2},{b:3}),(func,...a) => func(...a))({})\n * ```\n */\n \"after\",\n \"ary\",\n \"before\",\n \"bind\",\n \"bindKey\",\n \"curry\",\n \"curryRight\",\n \"debounce\",\n \"defer\",\n \"delay\",\n \"flip\",\n \"memoize\",\n \"negate\",\n \"once\",\n \"overArgs\",\n \"partial\",\n \"partialRight\",\n \"rearg\",\n \"rest\",\n \"spread\",\n \"throttle\",\n \"unary\",\n \"wrap\",\n]);\n\n// Omit all mutable methods from moment.\nconst shouldOmitInMoment = new Set([\n \"lang\",\n \"langData\",\n \"locale\",\n \"localeData\",\n \"defineLocale\",\n \"updateLocale\",\n \"updateOffset\",\n]);\n\nconst allowedGlobalObjects = new Set([\n \"Array\",\n \"Boolean\",\n \"Date\",\n \"Infinity\",\n \"JSON\",\n \"Math\",\n \"NaN\",\n \"Number\",\n \"String\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"Map\",\n \"Set\",\n \"URLSearchParams\",\n \"WeakMap\",\n \"WeakSet\",\n \"atob\",\n \"btoa\",\n]);\n\nfunction supplyIndividual(variableName: string, mock?: boolean): unknown {\n switch (variableName) {\n case \"Object\":\n // Do not allow mutable methods like `Object.assign`.\n return delegateMethods(Object, [\n \"entries\",\n \"fromEntries\",\n \"keys\",\n \"values\",\n ]);\n case \"_\":\n return Object.fromEntries(\n Object.entries(lodash)\n .filter((entry) => !shouldOmitInLodash.has(entry[0]))\n .concat(\n mock ? [[\"uniqueId\", (prefix?: string) => `${prefix ?? \"\"}42`]] : []\n )\n );\n case \"moment\":\n return Object.assign(\n (...args: Parameters<typeof moment>) => moment(...args),\n Object.fromEntries(\n Object.entries(moment).filter(\n (entry) => !shouldOmitInMoment.has(entry[0])\n )\n )\n );\n case \"PIPES\":\n return pipes;\n case \"TAG_URL\":\n return tagUrlFactory(true);\n case \"SAFE_TAG_URL\":\n return tagUrlFactory();\n default:\n if (allowedGlobalObjects.has(variableName)) {\n return window[variableName as keyof Window];\n }\n }\n}\n\nfunction delegateMethods(\n target: unknown,\n methods: string[]\n): Record<string, Function> {\n return Object.fromEntries(\n methods.map((method) => [\n method,\n <T>(...args: T[]) =>\n (target as Record<typeof method, (...args: T[]) => unknown>)[\n method\n ].apply(target, args),\n ])\n );\n}\n\ntype FnTagUrl = (\n strings: TemplateStringsArray,\n ...partials: unknown[]\n) => string;\n\n/**\n * Pass `ignoreSlashes` as `true` to encode all tagged expressions\n * as URL components, except for `/` which maybe used in `APP.homepage`.\n *\n * Otherwise encode all tagged expressions as URL components.\n * This will encode `/` as `%2F`. So do not use it directly\n * with `APP.homepage` as in template expressions.\n *\n * @example\n *\n * ```js\n * TAG_URL`${APP.homepage}/list?q=${q}&redirect=${redirect}`\n * ```\n *\n * ```js\n * SAFE_TAG_URL`file/${path}?q=${q}`\n * // `path` will be fully transformed by `encodeURIComponent`.\n * ```\n *\n * ```js\n * // Wrap `APP.homepage` outside of `SAFE_TAG_URL`.\n * `${APP.homepage}/${SAFE_TAG_URL`file/${path}?q=${q}`}`\n * ```\n */\nfunction tagUrlFactory(ignoreSlashes?: boolean): FnTagUrl {\n return function (\n strings: TemplateStringsArray,\n ...partials: unknown[]\n ): string {\n const result: string[] = [];\n strings.forEach((str, index) => {\n result.push(str);\n if (index < partials.length) {\n result.push(\n ignoreSlashes\n ? String(partials[index]).replace(/[^/]+/g, (p) =>\n encodeURIComponent(p)\n )\n : encodeURIComponent(String(partials[index]))\n );\n }\n });\n return result.join(\"\");\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- export declare function supply(attemptToVisitGlobals: Set<string>, providedGlobalVariables?: Record<string, unknown>): Record<string, unknown>;
1
+ export declare function supply(attemptToVisitGlobals: Set<string>, providedGlobalVariables?: Record<string, unknown>, mock?: boolean): Record<string, unknown>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/supply",
3
- "version": "1.1.1-alpha.0",
3
+ "version": "2.0.3",
4
4
  "description": "Supply for expressions and storyboard functions",
5
5
  "homepage": "https://github.com/easyops-cn/next-core/tree/master/packages/supply",
6
6
  "license": "GPL-3.0",
@@ -8,40 +8,41 @@
8
8
  "type": "git",
9
9
  "url": "git@github.com:easyops-cn/next-core.git"
10
10
  },
11
+ "type": "module",
11
12
  "main": "dist/cjs/index.js",
12
13
  "module": "dist/esm/index.js",
13
14
  "typings": "dist/types/index.d.ts",
14
15
  "files": [
15
16
  "dist"
16
17
  ],
18
+ "exports": {
19
+ ".": {
20
+ "types": "./dist/types/index.d.ts",
21
+ "import": "./dist/esm/index.js",
22
+ "require": "./dist/cjs/index.js"
23
+ },
24
+ "./package.json": "./package.json"
25
+ },
17
26
  "scripts": {
18
27
  "clean": "rimraf dist",
19
28
  "prestart": "npm run clean",
20
29
  "start": "concurrently -k -n types,main \"npm run start:types\" \"npm run start:main\"",
21
30
  "start:main": "cross-env NODE_ENV=development build-next-libs --watch",
22
- "start:types": "tsc --watch --emitDeclarationOnly --declaration --declarationDir dist/types",
31
+ "start:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types --project tsconfig.build.json --watch",
23
32
  "prebuild": "npm run clean",
24
33
  "build": "npm run build:types && npm run build:main",
25
34
  "build:main": "cross-env NODE_ENV=production build-next-libs",
26
- "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types",
27
- "test": "cross-env NODE_ENV='test' jest",
28
- "test:ci": "cross-env NODE_ENV='test' CI=true jest"
35
+ "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types --project tsconfig.build.json"
29
36
  },
30
37
  "sideEffects": false,
31
38
  "dependencies": {
32
- "@next-core/brick-types": "^2.48.1-alpha.0"
33
- },
34
- "devDependencies": {
35
- "@next-core/pipes": "^1.0.2-alpha.0",
36
- "js-yaml": "^3.14.1",
39
+ "@next-core/pipes": "^2.0.3",
37
40
  "lodash": "^4.17.21",
38
- "moment": "^2.29.1"
41
+ "moment": "^2.29.4"
39
42
  },
40
- "peerDependencies": {
41
- "@next-core/pipes": "*",
42
- "js-yaml": "*",
43
- "lodash": "*",
44
- "moment": "*"
43
+ "devDependencies": {
44
+ "@next-core/build-next-libs": "^1.0.3",
45
+ "@next-core/test-next": "^1.0.3"
45
46
  },
46
- "gitHead": "0d224d27dcd87a4b7af72d2757ab6539b1a1fe03"
47
+ "gitHead": "9e99998974ba369577d5ff6c01cd2aefb451a432"
47
48
  }
package/CHANGELOG.md DELETED
@@ -1,52 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [1.1.1-alpha.0](https://github.com/easyops-cn/next-core/compare/@next-core/supply@1.1.0-alpha.0...@next-core/supply@1.1.1-alpha.0) (2021-11-03)
7
-
8
- **Note:** Version bump only for package @next-core/supply
9
-
10
- # [1.1.0-alpha.0](https://github.com/easyops-cn/next-core/compare/@next-core/supply@1.0.10...@next-core/supply@1.1.0-alpha.0) (2021-11-03)
11
-
12
- **Note:** Version bump only for package @next-core/supply
13
-
14
- ## [1.0.10](https://github.com/easyops-cn/next-core/compare/@next-core/supply@1.0.9...@next-core/supply@1.0.10) (2021-11-02)
15
-
16
- **Note:** Version bump only for package @next-core/supply
17
-
18
- ## [1.0.9](https://github.com/easyops-cn/next-core/compare/@next-core/supply@1.0.8...@next-core/supply@1.0.9) (2021-11-01)
19
-
20
- **Note:** Version bump only for package @next-core/supply
21
-
22
- ## [1.0.8](https://github.com/easyops-cn/next-core/compare/@next-core/supply@1.0.7...@next-core/supply@1.0.8) (2021-10-28)
23
-
24
- **Note:** Version bump only for package @next-core/supply
25
-
26
- ## [1.0.7](https://github.com/easyops-cn/next-core/compare/@next-core/supply@1.0.6...@next-core/supply@1.0.7) (2021-10-28)
27
-
28
- **Note:** Version bump only for package @next-core/supply
29
-
30
- ## [1.0.6](https://github.com/easyops-cn/next-core/compare/@next-core/supply@1.0.5...@next-core/supply@1.0.6) (2021-10-21)
31
-
32
- **Note:** Version bump only for package @next-core/supply
33
-
34
- ## [1.0.5](https://github.com/easyops-cn/next-core/compare/@next-core/supply@1.0.4...@next-core/supply@1.0.5) (2021-10-20)
35
-
36
- **Note:** Version bump only for package @next-core/supply
37
-
38
- ## [1.0.4](https://github.com/easyops-cn/next-core/compare/@next-core/supply@1.0.3...@next-core/supply@1.0.4) (2021-10-13)
39
-
40
- **Note:** Version bump only for package @next-core/supply
41
-
42
- ## [1.0.3](https://github.com/easyops-cn/next-core/compare/@next-core/supply@1.0.2...@next-core/supply@1.0.3) (2021-10-12)
43
-
44
- **Note:** Version bump only for package @next-core/supply
45
-
46
- ## [1.0.2](https://github.com/easyops-cn/next-core/compare/@next-core/supply@1.0.1...@next-core/supply@1.0.2) (2021-09-30)
47
-
48
- **Note:** Version bump only for package @next-core/supply
49
-
50
- ## 1.0.1 (2021-09-22)
51
-
52
- **Note:** Version bump only for package @next-core/supply