New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@next-core/utils

Package Overview
Dependencies
Maintainers
2
Versions
89
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@next-core/utils - npm Package Compare versions

Comparing version
1.8.7
to
1.8.8
+1
-1
dist/cjs/storyboard/replaceUseChildren.js.map

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

{"version":3,"file":"replaceUseChildren.js","names":["_general","require","_lodash","_interopRequireDefault","pull","lodash","USE_CHILDREN_SLOT_REGEXP","replaceUseChildren","input","Array","isArray","brick","replaceInBrick","slots","useChildrenMap","Map","children","removeBricks","child","slot","test","get","push","set","slotConf","Object","entries","bricks","length","size","replaceInProperties","properties","value","item","isObject","k","v","useBrick"],"sources":["../../../src/storyboard/replaceUseChildren.ts"],"sourcesContent":["import type { BrickConf, SlotConfOfBricks } from \"@next-core/types\";\nimport { isObject } from \"@next-core/utils/general\";\nimport lodash from \"lodash\";\n\nconst { pull } = lodash;\n\nconst USE_CHILDREN_SLOT_REGEXP = /^\\[\\w+\\]$/;\n\n/**\n * Replace `useChildren: \"[xxx]\"` with `useBrick`.\n *\n * This will mutate the input.\n */\nexport function replaceUseChildren(input: BrickConf | BrickConf[]) {\n if (Array.isArray(input)) {\n for (const brick of input) {\n replaceInBrick(brick);\n }\n } else {\n replaceInBrick(input);\n }\n}\n\nfunction replaceInBrick(brick: BrickConf) {\n let slots = brick.slots;\n const useChildrenMap = new Map<string, BrickConf[]>();\n if (Array.isArray(brick.children) && !slots) {\n const removeBricks: BrickConf[] = [];\n for (const child of brick.children) {\n const slot = child.slot ?? \"\";\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n delete child.slot;\n const children = useChildrenMap.get(slot);\n if (children) {\n children.push(child);\n } else {\n useChildrenMap.set(slot, [child]);\n }\n removeBricks.push(child);\n }\n replaceInBrick(child);\n }\n pull(brick.children, ...removeBricks);\n } else {\n slots ??= {};\n for (const [slot, slotConf] of Object.entries(slots)) {\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n const { bricks: children } = slotConf as SlotConfOfBricks;\n if (Array.isArray(children) && children.length > 0) {\n useChildrenMap.set(slot, children);\n replaceUseChildren(children);\n }\n delete slots[slot];\n }\n\n if (Array.isArray((slotConf as SlotConfOfBricks).bricks)) {\n replaceUseChildren((slotConf as SlotConfOfBricks).bricks);\n }\n }\n }\n\n if (useChildrenMap.size > 0) {\n replaceInProperties(brick.properties, useChildrenMap);\n }\n}\n\nfunction replaceInProperties(\n value: unknown,\n useChildrenMap: Map<string, BrickConf[]>\n) {\n if (Array.isArray(value)) {\n for (const item of value) {\n replaceInProperties(item, useChildrenMap);\n }\n } else if (isObject(value)) {\n for (const [k, v] of Object.entries(value)) {\n if (k === \"useChildren\") {\n const children = useChildrenMap.get(v as string);\n if (children) {\n delete value[k];\n value.useBrick = children.length === 1 ? children[0] : children;\n }\n } else {\n replaceInProperties(v, useChildrenMap);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
{"version":3,"file":"replaceUseChildren.js","names":["_general","require","_lodash","_interopRequireDefault","pull","lodash","USE_CHILDREN_SLOT_REGEXP","replaceUseChildren","input","Array","isArray","brick","replaceInBrick","slots","useChildrenMap","Map","children","removeBricks","child","slot","test","get","push","set","slotConf","Object","entries","bricks","length","size","replaceInProperties","properties","value","item","isObject","k","v","useBrick"],"sources":["../../../src/storyboard/replaceUseChildren.ts"],"sourcesContent":["import type { BrickConf, SlotConfOfBricks } from \"@next-core/types\";\nimport { isObject } from \"@next-core/utils/general\";\nimport lodash from \"lodash\";\n\nconst { pull } = lodash;\n\nconst USE_CHILDREN_SLOT_REGEXP = /^\\[\\w+\\]$/;\n\n/**\n * Replace `useChildren: \"[xxx]\"` with `useBrick`.\n *\n * This will mutate the input.\n */\nexport function replaceUseChildren(input: BrickConf | BrickConf[]) {\n if (Array.isArray(input)) {\n for (const brick of input) {\n replaceInBrick(brick);\n }\n } else {\n replaceInBrick(input);\n }\n}\n\nfunction replaceInBrick(brick: BrickConf) {\n let slots = brick.slots;\n const useChildrenMap = new Map<string, BrickConf[]>();\n if (Array.isArray(brick.children) && !slots) {\n const removeBricks: BrickConf[] = [];\n for (const child of brick.children as BrickConf[]) {\n const slot = child.slot ?? \"\";\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n delete child.slot;\n const children = useChildrenMap.get(slot);\n if (children) {\n children.push(child);\n } else {\n useChildrenMap.set(slot, [child]);\n }\n removeBricks.push(child);\n }\n replaceInBrick(child);\n }\n pull(brick.children, ...removeBricks);\n } else {\n slots ??= {};\n for (const [slot, slotConf] of Object.entries(slots)) {\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n const { bricks: children } = slotConf as SlotConfOfBricks;\n if (Array.isArray(children) && children.length > 0) {\n useChildrenMap.set(slot, children);\n replaceUseChildren(children);\n }\n delete slots[slot];\n }\n\n if (Array.isArray((slotConf as SlotConfOfBricks).bricks)) {\n replaceUseChildren((slotConf as SlotConfOfBricks).bricks);\n }\n }\n }\n\n if (useChildrenMap.size > 0) {\n replaceInProperties(brick.properties, useChildrenMap);\n }\n}\n\nfunction replaceInProperties(\n value: unknown,\n useChildrenMap: Map<string, BrickConf[]>\n) {\n if (Array.isArray(value)) {\n for (const item of value) {\n replaceInProperties(item, useChildrenMap);\n }\n } else if (isObject(value)) {\n for (const [k, v] of Object.entries(value)) {\n if (k === \"useChildren\") {\n const children = useChildrenMap.get(v as string);\n if (children) {\n delete value[k];\n value.useBrick = children.length === 1 ? children[0] : children;\n }\n } else {\n replaceInProperties(v, useChildrenMap);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}

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

{"version":3,"file":"replaceUseChildren.js","names":["isObject","lodash","pull","USE_CHILDREN_SLOT_REGEXP","replaceUseChildren","input","Array","isArray","brick","replaceInBrick","slots","useChildrenMap","Map","children","removeBricks","child","_child$slot","slot","test","get","push","set","slotConf","Object","entries","bricks","length","size","replaceInProperties","properties","value","item","k","v","useBrick"],"sources":["../../../src/storyboard/replaceUseChildren.ts"],"sourcesContent":["import type { BrickConf, SlotConfOfBricks } from \"@next-core/types\";\nimport { isObject } from \"@next-core/utils/general\";\nimport lodash from \"lodash\";\n\nconst { pull } = lodash;\n\nconst USE_CHILDREN_SLOT_REGEXP = /^\\[\\w+\\]$/;\n\n/**\n * Replace `useChildren: \"[xxx]\"` with `useBrick`.\n *\n * This will mutate the input.\n */\nexport function replaceUseChildren(input: BrickConf | BrickConf[]) {\n if (Array.isArray(input)) {\n for (const brick of input) {\n replaceInBrick(brick);\n }\n } else {\n replaceInBrick(input);\n }\n}\n\nfunction replaceInBrick(brick: BrickConf) {\n let slots = brick.slots;\n const useChildrenMap = new Map<string, BrickConf[]>();\n if (Array.isArray(brick.children) && !slots) {\n const removeBricks: BrickConf[] = [];\n for (const child of brick.children) {\n const slot = child.slot ?? \"\";\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n delete child.slot;\n const children = useChildrenMap.get(slot);\n if (children) {\n children.push(child);\n } else {\n useChildrenMap.set(slot, [child]);\n }\n removeBricks.push(child);\n }\n replaceInBrick(child);\n }\n pull(brick.children, ...removeBricks);\n } else {\n slots ??= {};\n for (const [slot, slotConf] of Object.entries(slots)) {\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n const { bricks: children } = slotConf as SlotConfOfBricks;\n if (Array.isArray(children) && children.length > 0) {\n useChildrenMap.set(slot, children);\n replaceUseChildren(children);\n }\n delete slots[slot];\n }\n\n if (Array.isArray((slotConf as SlotConfOfBricks).bricks)) {\n replaceUseChildren((slotConf as SlotConfOfBricks).bricks);\n }\n }\n }\n\n if (useChildrenMap.size > 0) {\n replaceInProperties(brick.properties, useChildrenMap);\n }\n}\n\nfunction replaceInProperties(\n value: unknown,\n useChildrenMap: Map<string, BrickConf[]>\n) {\n if (Array.isArray(value)) {\n for (const item of value) {\n replaceInProperties(item, useChildrenMap);\n }\n } else if (isObject(value)) {\n for (const [k, v] of Object.entries(value)) {\n if (k === \"useChildren\") {\n const children = useChildrenMap.get(v as string);\n if (children) {\n delete value[k];\n value.useBrick = children.length === 1 ? children[0] : children;\n }\n } else {\n replaceInProperties(v, useChildrenMap);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
{"version":3,"file":"replaceUseChildren.js","names":["isObject","lodash","pull","USE_CHILDREN_SLOT_REGEXP","replaceUseChildren","input","Array","isArray","brick","replaceInBrick","slots","useChildrenMap","Map","children","removeBricks","child","_child$slot","slot","test","get","push","set","slotConf","Object","entries","bricks","length","size","replaceInProperties","properties","value","item","k","v","useBrick"],"sources":["../../../src/storyboard/replaceUseChildren.ts"],"sourcesContent":["import type { BrickConf, SlotConfOfBricks } from \"@next-core/types\";\nimport { isObject } from \"@next-core/utils/general\";\nimport lodash from \"lodash\";\n\nconst { pull } = lodash;\n\nconst USE_CHILDREN_SLOT_REGEXP = /^\\[\\w+\\]$/;\n\n/**\n * Replace `useChildren: \"[xxx]\"` with `useBrick`.\n *\n * This will mutate the input.\n */\nexport function replaceUseChildren(input: BrickConf | BrickConf[]) {\n if (Array.isArray(input)) {\n for (const brick of input) {\n replaceInBrick(brick);\n }\n } else {\n replaceInBrick(input);\n }\n}\n\nfunction replaceInBrick(brick: BrickConf) {\n let slots = brick.slots;\n const useChildrenMap = new Map<string, BrickConf[]>();\n if (Array.isArray(brick.children) && !slots) {\n const removeBricks: BrickConf[] = [];\n for (const child of brick.children as BrickConf[]) {\n const slot = child.slot ?? \"\";\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n delete child.slot;\n const children = useChildrenMap.get(slot);\n if (children) {\n children.push(child);\n } else {\n useChildrenMap.set(slot, [child]);\n }\n removeBricks.push(child);\n }\n replaceInBrick(child);\n }\n pull(brick.children, ...removeBricks);\n } else {\n slots ??= {};\n for (const [slot, slotConf] of Object.entries(slots)) {\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n const { bricks: children } = slotConf as SlotConfOfBricks;\n if (Array.isArray(children) && children.length > 0) {\n useChildrenMap.set(slot, children);\n replaceUseChildren(children);\n }\n delete slots[slot];\n }\n\n if (Array.isArray((slotConf as SlotConfOfBricks).bricks)) {\n replaceUseChildren((slotConf as SlotConfOfBricks).bricks);\n }\n }\n }\n\n if (useChildrenMap.size > 0) {\n replaceInProperties(brick.properties, useChildrenMap);\n }\n}\n\nfunction replaceInProperties(\n value: unknown,\n useChildrenMap: Map<string, BrickConf[]>\n) {\n if (Array.isArray(value)) {\n for (const item of value) {\n replaceInProperties(item, useChildrenMap);\n }\n } else if (isObject(value)) {\n for (const [k, v] of Object.entries(value)) {\n if (k === \"useChildren\") {\n const children = useChildrenMap.get(v as string);\n if (children) {\n delete value[k];\n value.useBrick = children.length === 1 ? children[0] : children;\n }\n } else {\n replaceInProperties(v, useChildrenMap);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
{
"name": "@next-core/utils",
"version": "1.8.7",
"version": "1.8.8",
"homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/utils",

@@ -44,3 +44,3 @@ "license": "GPL-3.0",

"@next-core/cook": "^2.5.12",
"@next-core/types": "^1.18.0",
"@next-core/types": "^1.18.1",
"file-saver": "^2.0.5",

@@ -54,3 +54,3 @@ "lodash": "^4.17.21"

},
"gitHead": "3f7bc23add4cab94cd85dbc651148b4c091f42ce"
"gitHead": "30de503f4f8d9eea764201203c5049ec45f65733"
}