diff --git a/cli/commands/avatar.ts b/cli/commands/avatar.ts deleted file mode 100644 index c938955..0000000 --- a/cli/commands/avatar.ts +++ /dev/null @@ -1,334 +0,0 @@ -import fs from "fs-extra"; -import { BodyType, BuffType, Region } from "../../modules/core/enum"; -import { IAvatar, ISkill, IAscension, IConstellation, IAscensionPhase } from "../../modules/core/interface"; - -// extra -import { DATA_DIR, Dict, saveTranslation, toNum, toText, toWeaponType, toTags, toElement, toItem, toID, toAttrType, toDesc } from "../util"; - -export async function run() { - // await fs.emptyDir("dist/char"); - - await parseChar(); -} - -async function parseChar() { - const data: AvatarExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/AvatarExcelConfigData.json"); - const skillData: AvatarSkillExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/AvatarSkillExcelConfigData.json"); - const skillIndex = new Map(skillData.map(v => [v.Id, v])); - const depotData: AvatarSkillDepotExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/AvatarSkillDepotExcelConfigData.json"); - const depotIndex = new Map(depotData.map(v => [v.Id, v])); - const talentData: AvatarTalentExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/AvatarTalentExcelConfigData.json"); - const talentIndex = new Map(talentData.map(v => [v.TalentId, v])); - const proudSkillData: ProudSkillExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/ProudSkillExcelConfigData.json"); - const proudSkillIndex = proudSkillData.reduce>((r, v) => { - if (v.ProudSkillGroupId in r) r[v.ProudSkillGroupId].push(v); - else r[v.ProudSkillGroupId] = [v]; - return r; - }, {}); - const promoteData: AvatarPromoteExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/AvatarPromoteExcelConfigData.json"); - const promoteIndex = promoteData.reduce>((r, v) => { - if (v.AvatarPromoteId in r) r[v.AvatarPromoteId].push(v); - else r[v.AvatarPromoteId] = [v]; - return r; - }, {}); - - const normalAvatars = data.filter(v => v.UseType === "AVATAR_FORMAL"); - - for (const char of normalAvatars) { - const id = toText(char.NameTextMapHash).replace(/ /g, ""); - if (id.includes("(Test)") || char.UseType === "AVATAR_ABANDON" || char.UseType === "AVATAR_SYNC_TEST") continue; - await saveTranslation("char", id + ".json", t => { - const tags = toTags(char.FeatureTagGroupId); - const skills = toSkills(char.SkillDepotId); - const ascensions = toAscension(char.AvatarPromoteId); - const ascensionType = ascensions ? ascensions[0].attrs[3].type : 0; - const avatar: IAvatar = { - id: toID(char.NameTextMapHash), - name: toText(char.NameTextMapHash), - localeName: t(char.NameTextMapHash), - desc: toDesc(t(char.DescTextMapHash)), - baseHP: toNum(char.HpBase || 0), - baseATK: toNum(char.AttackBase || 0), - baseDEF: toNum(char.DefenseBase || 0), - bodyType: toBodyType(char.BodyType), - rarity: toRarity(char.QualityType), - weapon: toWeaponType(char.WeaponType), - region: toRegion(char, tags), - ascensions: ascensions.map(v => { - const p: IAscensionPhase = { - level: v.level, - itemCost: v.itemCost, - HP: v.attrs.find(v => v.type === BuffType.BaseHP)?.value || 0, - ATK: v.attrs.find(v => v.type === BuffType.BaseATK)?.value || 0, - DEF: v.attrs.find(v => v.type === BuffType.BaseDEF)?.value || 0, - extra: v.attrs.find(v => v.type === ascensionType)?.value || 0, - }; - return p; - }), - ascensionType, - element: skills.element, - elemSkill: skills.eSkill, - elemBurst: skills.qSkill, - attackSkill: skills.aSkill, - c13ns: skills.talents, - }; - return avatar; - - function toAscension(aid: number) { - const promote = promoteIndex[aid]; - return promote - .filter(v => v.PromoteLevel) - .map(v => { - const rst: IAscension = { - level: v.PromoteLevel || 0, - itemCost: v.CostItems.filter(v => v.Id).map(it => { - const item = toItem(it.Id!); - if (!item) { - // console.warn(`[item] ${id}:${it.Id} not found`); - return { id: "unknown", name: "???", count: it.Count! }; - } - return { id: toID(item.NameTextMapHash), name: t(item.NameTextMapHash), count: it.Count! }; - }), - attrs: v.AddProps.filter(p => p.PropType).map(p => { - return { type: toAttrType(p.PropType!), value: p.Value ? toNum(p.Value) : 0 }; - }), - }; - return rst; - }); - } - - function toSkills(depotId: number) { - const depot = depotIndex.get(depotId)!; - const [aSkill, eSkill] = depot.Skills.filter(Boolean).map(toSkill); - // const [aimPress,aim,weaponCD,teamCD]=depot.SubSkills.filter(Boolean).map(toSkill) - // attackMode: depot.AttackModeSkill && toSkill(depot.AttackModeSkill), - - const elem = skillIndex.get(depot.EnergySkill)!; - if (!elem) { - // console.warn(`[skill] no elem of ${id}(${depotId}):${depot.EnergySkill}`); - } - return { - aSkill, // 普攻 - eSkill, // E技能 - qSkill: depot.EnergySkill ? toSkill(depot.EnergySkill) : undefined, - talents: depot.Talents.filter(Boolean).map(toC13n), - element: elem ? toElement(elem.CostElemType!) : 0, // 元素 - }; - } - - function toC13n(talentId: number) { - const talent = talentIndex.get(talentId)!; - const rst: IConstellation = { - name: t(talent.NameTextMapHash), - desc: t(talent.DescTextMapHash), - values: talent.Param.map(toNum).filter(Boolean), - }; - return rst; - } - function toSkill(skillId: number) { - const skill = skillIndex.get(skillId)!; - const proud = (skill.ProudSkillGroupId && proudSkillIndex[skill.ProudSkillGroupId]) || undefined; - const rst: ISkill = { - name: t(skill.NameTextMapHash), - desc: toDesc(t(skill.DescTextMapHash)), - cd: toNum(skill.CdTime || 0), - }; - if (skill.CostElemVal) rst.energyCost = skill.CostElemVal; - if (proud) { - const tplLen = proud[0].ParamDescList.map(v => toText(v)).findIndex(v => v === ""); - const valLen = proud[0].Param.findIndex(v => v === 0); - rst.paramTpls = proud[0].ParamDescList.slice(0, tplLen).map(v => t(v)); - rst.paramVals = proud.map(lv => lv.Param.slice(0, valLen).map(toNum)); - } - return rst; - } - - function toRegion(char: AvatarExcelConfigData, tags: ReturnType) { - const ids = new Set(tags.map(v => v.TagId)); - if (ids.has(1001)) return Region.Mondstadt; - if (ids.has(1002)) return Region.Liyue; - if (ids.has(1003)) return Region.Inazuma; - if (ids.has(1004)) return Region.Sumeru; - if (ids.has(1005)) return Region.Fontaine; - if (ids.has(1006)) return Region.Natlan; - if (ids.has(1007)) return Region.Snezhnaya; - if (toID(char.NameTextMapHash) === "Traveler") return Region.Unknown; - return Region.Snezhnaya; - } - - function toBodyType(raw: string) { - return (BodyType[raw as any] as any) as BodyType; - } - - function toRarity(raw: string) { - const nm: Dict = { QUALITY_BLUE: 3, QUALITY_PURPLE: 4, QUALITY_ORANGE: 5 }; - return nm[raw]; - } - }); - } -} - -interface AvatarExcelConfigData { - BodyType: string; - ScriptDataPathHashPre: number; - ScriptDataPathHashSuffix: number; - IconName: string; - SideIconName: string; - QualityType: string; - ChargeEfficiency: number; - CombatConfigHashPre: number; - CombatConfigHashSuffix: number; - InitialWeapon: number; - WeaponType: string; - ManekinPathHashPre: number; - ManekinPathHashSuffix: number; - ImageName: string; - GachaCardNameHashPre?: number; - GachaCardNameHashSuffix?: number; - GachaImageNameHashPre?: number; - GachaImageNameHashSuffix?: number; - CutsceneShow: string; - SkillDepotId: number; - StaminaRecoverSpeed: number; - CandSkillDepotIds: number[]; - ManekinJsonConfigHashPre: number; - ManekinJsonConfigHashSuffix: number; - ManekinMotionConfig: number; - DescTextMapHash: number; - AvatarIdentityType?: string; - AvatarPromoteId: number; - AvatarPromoteRewardLevel: number[]; - AvatarPromoteRewardId: number[]; - FeatureTagGroupId: number; - InfoDescTextMapHash: number; - HpBase: number; - AttackBase: number; - DefenseBase: number; - Critical: number; - CriticalHurt: number; - PropGrowCurves: PropGrowCurve[]; - PrefabPathRagdollHashPre: number; - PrefabPathRagdollHashSuffix: number; - Id: number; - NameTextMapHash: number; - PrefabPathHashPre: number; - PrefabPathHashSuffix: number; - PrefabPathRemoteHashPre: number; - PrefabPathRemoteHashSuffix: number; - ControllerPathHashPre: number; - ControllerPathHashSuffix: number; - ControllerPathRemoteHashPre: number; - ControllerPathRemoteHashSuffix: number; - LODPatternName: string; - UseType?: string; - IsRangeAttack?: boolean; -} - -interface PropGrowCurve { - Type: string; - GrowCurve: string; -} - -interface AvatarSkillExcelConfigData { - Id: number; - NameTextMapHash: number; - AbilityName: string; - DescTextMapHash: number; - SkillIcon: string; - CostStamina?: number; - MaxChargeNum: number; - LockShape: string; - LockWeightParams: number[]; - IsAttackCameraLock?: boolean; - BuffIcon: string; - GlobalValueKey: string; - CdTime?: number; - TriggerId?: number; - DragType?: string; - ShowIconArrow?: boolean; - ProudSkillGroupId?: number; - CostElemType?: string; - CostElemVal?: number; - IsRanged?: boolean; - NeedMonitor?: string; - DefaultLocked?: boolean; - EnergyMin?: number; -} - -interface AvatarSkillDepotExcelConfigData { - Id: number; - EnergySkill: number; - Skills: number[]; - SubSkills: number[]; - ExtraAbilities: string[]; - Talents: number[]; - TalentStarName: string; - InherentProudSkillOpens: InherentProudSkillOpen[]; - SkillDepotAbilityGroup: string; - LeaderTalent?: number; - AttackModeSkill?: number; -} - -interface InherentProudSkillOpen { - ProudskillGroupId?: number; - NeedAvatarPromoteLevel?: number; -} - -interface InherentProudSkillOpen { - ProudskillGroupId?: number; - NeedAvatarPromoteLevel?: number; -} -interface AvatarPromoteExcelConfigData { - AvatarPromoteId: number; - PromoteAudio: string; - CostItems: CostItem[]; - UnlockMaxLevel: number; - AddProps: AddProp[]; - PromoteLevel?: number; - ScoinCost?: number; - RequiredPlayerLevel?: number; -} - -interface CostItem { - Id?: number; - Count?: number; -} - -interface AvatarTalentExcelConfigData { - TalentId: number; - NameTextMapHash: number; - DescTextMapHash: number; - Icon: string; - MainCostItemId: number; - MainCostItemCount: number; - OpenConfig: string; - AddProps: AddProp[]; - Param: number[]; - PrevTalent?: number; -} - -interface AddProp { - PropType?: string; - Value?: number; -} - -interface ProudSkillExcelConfigData { - ProudSkillId: number; - ProudSkillGroupId: number; - Level: number; - ProudSkillType: number; - NameTextMapHash: number; - DescTextMapHash: number; - UnlockDescTextMapHash: number; - Icon: string; - CostItems: CostItem[]; - FilterConds: string[]; - BreakLevel?: number; - ParamDescList: number[]; - LifeEffectParams: string[]; - OpenConfig: string; - AddProps: AddProp[]; - Param: number[]; - LifeEffectType?: string; - CoinCost?: number; -} diff --git a/cli/commands/clear.ts b/cli/commands/clear.ts deleted file mode 100644 index b702810..0000000 --- a/cli/commands/clear.ts +++ /dev/null @@ -1,7 +0,0 @@ -import fs from "fs-extra"; - -// extra - -export async function run() { - await fs.emptyDir("./dist"); -} diff --git a/cli/commands/curve.ts b/cli/commands/curve.ts deleted file mode 100644 index cbd3d7f..0000000 --- a/cli/commands/curve.ts +++ /dev/null @@ -1,230 +0,0 @@ -import fs from "fs-extra"; -import { groupBy, keyBy, map } from "lodash"; -import { BuffType } from "../../modules/core/enum"; - -// extra -import { DATA_DIR, Dict, saveObject, toAttrType, toNum, toText } from "../util"; - -export async function run() { - await fs.emptyDir("dist/curve"); - await parseWeapon(); - await parseFetter(); - await parseChar(); - await parseCoeff(); - await parseMainattr(); - await parsePlayerLevel(); - await parseMonsterLevel(); -} - -async function parseMonsterLevel() { - const data: MonsterCurveExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/MonsterCurveExcelConfigData.json"); - - const cols = data[0].CurveInfos.map(v => v.Type); - - await saveObject( - "curve", - "enemy.json", - cols.reduce>((r, v, i) => { - r[v] = data.map(v => toNum(v.CurveInfos[i].Value! || 0)); - return r; - }, {}) - ); -} -async function parsePlayerLevel() { - const data: PlayerLevelExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/PlayerLevelExcelConfigData.json"); - - await saveObject( - "curve", - "playerLevel.json", - data.map(v => { - const rst: any = { lv: v.Level, exp: v.Exp }; - const unlock = toText(v.UnlockDescTextMapHash); - if (unlock) rst.unlock = unlock; - return rst; - }) - ); -} - -async function parseWeapon() { - const data: WeaponCurveExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/WeaponCurveExcelConfigData.json"); - - const rst: WeaponCurveResultData = {}; - - for (const level of data) { - level.CurveInfos.map(v => { - if (!rst[v.Type]) { - rst[v.Type] = [toNum(v.Value)]; - } else { - rst[v.Type].push(toNum(v.Value)); - } - }); - } - - await saveObject("curve", "weapon.json", rst); -} - -async function parseChar() { - interface AvatarCurveExcelConfigData { - Level: number; - CurveInfos: CurveInfo[]; - } - - interface CurveInfo { - Type: string; - Arith: string; - Value: number; - } - const data: AvatarCurveExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/AvatarCurveExcelConfigData.json"); - - const rst: WeaponCurveResultData = {}; - - for (const level of data) { - level.CurveInfos.map(v => { - if (!rst[v.Type]) { - rst[v.Type] = [toNum(v.Value)]; - } else { - rst[v.Type].push(toNum(v.Value)); - } - }); - } - - await saveObject("curve", "avatar.json", rst); -} -async function parseFetter() { - interface AvatarFettersLevelExcelConfigData { - FetterLevel: number; - NeedExp: number; - } - const data: AvatarFettersLevelExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/AvatarFettersLevelExcelConfigData.json"); - - await saveObject("curve", "fetters.json", { - exp: data.map(v => v.NeedExp), - }); -} - -async function parseCoeff() { - const data: ElementCoeffExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/ElementCoeffExcelConfigData.json"); - - const rst = { - crash: data.filter(v => v.Level).map(v => toNum(v.CrashCo)), - element: data.filter(v => v.Level).map(v => toNum(v.ElementLevelCo)), - shield: data.filter(v => v.Level).map(v => toNum(v.PlayerShieldLevelCo)), - }; - - await saveObject("curve", "coeff.json", rst); -} - -async function parseMainattr() { - const data: ReliquaryLevelExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/ReliquaryLevelExcelConfigData.json"); - const dropData: ReliquaryMainPropExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/ReliquaryMainPropExcelConfigData.json"); - - const normalData = data.filter(v => v.Rank); - - const groups = groupBy(normalData, v => v.Rank); - const typenames = groups[5][0].AddProps.map(v => BuffType[toAttrType(v.PropType)]); - - const rst = map(groups, (group, rank) => { - const maxLevel = toMaxLevel(~~rank); - const normalGroup = group - .filter(v => v.Level <= maxLevel) - .map(v => { - return v.AddProps.map(v => toNum(v.Value)); - }); - - return normalGroup; - }); - const weights = [ - // 花 - toWeight(4000), - // 毛 - toWeight(2000), - // 沙 - toWeight(1000), - // 时 - toWeight(5000), - // 头 - toWeight(3000), - ]; - await saveObject("curve", "mainattr.json", { - data: rst, - typenames, - weights, - }); - - function toWeight(depotId: number) { - const weightMap = keyBy( - dropData.filter(v => v.PropDepotId === depotId), - v => BuffType[toAttrType(v.PropType)] - ); - const rst = typenames.reduce>((r, v) => { - if (!weightMap[v]?.Weight) return r; - r[v] = weightMap[v].Weight; - return r; - }, {}); - return rst; - } -} - -function toMaxLevel(rank: number) { - return [0, 5, 9, 13, 17, 21][rank]; -} - -interface ReliquaryLevelExcelConfigData { - Level: number; - AddProps: AddProp[]; - Rank?: number; - Exp?: number; -} - -interface AddProp { - PropType: string; - Value: number; -} - -interface ReliquaryMainPropExcelConfigData { - Id: number; - PropDepotId: number; - PropType: string; - AffixName: string; - Weight: number; -} - -interface ElementCoeffExcelConfigData { - Level: number; - CrashCo: number; - ElementLevelCo: number; - PlayerElementLevelCo: number; - PlayerShieldLevelCo: number; -} - -interface WeaponCurveResultData { - [x: string]: number[]; -} - -interface WeaponCurveExcelConfigData { - Level: number; - CurveInfos: WeaponCurveInfo[]; -} - -interface WeaponCurveInfo { - Type: string; - Arith: string; - Value: number; -} - -interface PlayerLevelExcelConfigData { - Level: number; - Exp: number; - UnlockDescTextMapHash: number; -} - -interface MonsterCurveExcelConfigData { - Level: number; - CurveInfos: CurveInfo[]; -} - -interface CurveInfo { - Type: string; - Arith: string; - Value?: number; -} diff --git a/cli/commands/enemy.ts b/cli/commands/enemy.ts deleted file mode 100644 index 0c8baaa..0000000 --- a/cli/commands/enemy.ts +++ /dev/null @@ -1,121 +0,0 @@ -import fs from "fs-extra"; -import { uniqBy } from "lodash"; -import { MonsterRarity } from "../../modules/core/enum"; - -// extra -import { DATA_DIR, saveTranslation, toDesc, toID, toNum, toText } from "../util"; - -export async function run() { - // await fs.emptyDir("dist/enemy"); - - await parseEnemy(); -} - -async function parseEnemy() { - interface MonsterExcelConfigData { - MonsterName: string; - Type: string; - // ScriptDataPathHashPre: number; - // ScriptDataPathHashSuffix: number; - ServerScript: string; - // CombatConfigHashPre: number; - // CombatConfigHashSuffix: number; - Affix: any[]; - AI: string; - IsAIHashCheck: boolean; - Equips: number[]; - HpDrops: HpDrop[]; - KillDropId: number; - ExcludeWeathers: string; - FeatureTagGroupId: number; - MpPropId: number; - Skin: string; - DescribeId: number; - CombatBGMLevel: number; - HpBase: number; - AttackBase: number; - DefenseBase: number; - FireSubHurt: number; - GrassSubHurt: number; - WaterSubHurt: number; - ElecSubHurt: number; - WindSubHurt: number; - IceSubHurt: number; - RockSubHurt: number; - PropGrowCurves: PropGrowCurve[]; - PhysicalSubHurt: number; - // PrefabPathRagdollHashPre: number; - // PrefabPathRagdollHashSuffix: number; - Id: number; - NameTextMapHash: number; - // PrefabPathHashPre: number; - // PrefabPathHashSuffix: number; - // PrefabPathRemoteHashPre: number; - // PrefabPathRemoteHashSuffix: number; - // ControllerPathHashPre: number; - // ControllerPathHashSuffix: number; - // ControllerPathRemoteHashPre: number; - // ControllerPathRemoteHashSuffix: number; - CampId: number; - LODPatternName: string; - } - interface PropGrowCurve { - Type: string; - GrowCurve: string; - } - interface HpDrop { - DropId?: number; - HpPercent?: number; - } - interface MonsterDescribeExcelConfigData { - Id: number; - NameTextMapHash: number; - TitleId: number; - SpecialNameLabId: number; - Icon: string; - DescTextMapHash: number; - LockDescTextMapHash: number; - } - interface MonsterRelationshipExcelConfigData { - Id: number; - TagStr: string; - MonsterRarity: string; - } - const data: MonsterExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/MonsterExcelConfigData.json"); - const relData: MonsterRelationshipExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/MonsterRelationshipExcelConfigData.json"); - const relIndex = new Map(relData.map(v => [v.Id, v])); - const descData: MonsterDescribeExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/MonsterDescribeExcelConfigData.json"); - const descIndex = new Map(descData.map(v => [v.Id, v])); - - await saveTranslation("enemy", "enemy.json", t => { - const rst = data - .filter(v => descIndex.has(v.DescribeId)) - .map(v => { - const desc = descIndex.get(v.DescribeId)!; - const rel = relIndex.get(v.DescribeId); - return { - id: toID(desc.NameTextMapHash), - name: toText(desc.NameTextMapHash), - localeName: t(desc.NameTextMapHash), - desc: toDesc(t(desc.DescTextMapHash)), - baseHP: toNum(v.HpBase || 0), - baseATK: toNum(v.AttackBase || 0), - baseDEF: toNum(v.DefenseBase || 0), // 固定500 - type: MonsterRarity[rel?.MonsterRarity as any], - resist: [ - // - toNum(v.FireSubHurt || 0), - toNum(v.GrassSubHurt || 0), - toNum(v.WaterSubHurt || 0), - toNum(v.ElecSubHurt || 0), - toNum(v.WindSubHurt || 0), - toNum(v.IceSubHurt || 0), - toNum(v.RockSubHurt || 0), - toNum(v.PhysicalSubHurt || 0), - ], - }; - }); - - return uniqBy(rst, "id"); // TODO: 简单去重可能丢信息 之后可能有不同变种 - }); -} diff --git a/cli/commands/icon.ts b/cli/commands/icon.ts deleted file mode 100644 index 59254ee..0000000 --- a/cli/commands/icon.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { exec } from "child_process"; - -export function run() { - return new Promise(resolve => { - const p = exec("yarn svgo -f ../resource/icon/ --pretty"); - p.stdout?.pipe(process.stdout); - p.on("exit", resolve); - }); -} diff --git a/cli/commands/item.ts b/cli/commands/item.ts deleted file mode 100644 index 3d4284a..0000000 --- a/cli/commands/item.ts +++ /dev/null @@ -1,70 +0,0 @@ -import fs from "fs-extra"; -import { uniqBy } from "lodash"; -import { MaterialType } from "../../modules/core/enum"; -import { IItem } from "../../modules/core/interface"; - -// extra -import { DATA_DIR, saveTranslation, toDesc, toID, toText } from "../util"; - -export async function run() { - // await fs.emptyDir("dist/item"); - - await parseMaterial(); -} - -async function parseMaterial() { - interface MaterialExcelConfigData { - InteractionTitleTextMapHash: number; - NoFirstGetHint?: boolean; - ItemUse: ItemUse[]; - RankLevel: number; - EffectDescTextMapHash: number; - SpecialDescTextMapHash: number; - TypeDescTextMapHash: number; - EffectIcon: string; - EffectName: string; - PicPath: any[]; - SatiationParams: any[]; - DestroyReturnMaterial: any[]; - DestroyReturnMaterialCount: any[]; - Id: number; - NameTextMapHash: number; - DescTextMapHash: number; - Icon: string; - ItemType: string; - Rank?: number; - EffectGadgetId?: number; - MaterialType?: string; - GadgetId?: number; - StackLimit?: number; - } - - interface ItemUse { - UseParam: string[]; - } - const data: MaterialExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/MaterialExcelConfigData.json"); - - await saveTranslation("item", "item.json", t => { - const rst = data - .filter(v => { - if (v.RankLevel && v.MaterialType && v.MaterialType in MaterialType) { - const enName = toText(v.NameTextMapHash, "zh-Hans"); - if (enName.includes("(废弃)") || enName.includes("(test)")) return false; - return true; - } - return false; - }) - .map(v => { - const item: IItem = { - id: toID(v.NameTextMapHash), - name: toText(v.NameTextMapHash), - localeName: t(v.NameTextMapHash), - desc: toDesc(t(v.DescTextMapHash)), - rarity: v.RankLevel, - type: (MaterialType[v.MaterialType as any] as any) as MaterialType, - }; - return item; - }); - return uniqBy(rst, "id"); - }); -} diff --git a/cli/commands/misc.ts b/cli/commands/misc.ts deleted file mode 100644 index 3311fc6..0000000 --- a/cli/commands/misc.ts +++ /dev/null @@ -1,50 +0,0 @@ -import fs from "fs-extra"; -import { uniqBy } from "lodash"; - -// extra -import { DATA_DIR, saveTranslation, toDesc, toID, toNum, toText } from "../util"; - -export async function run() { - // await fs.emptyDir("dist/item"); - - await parseTeamResonance(); -} - -async function parseTeamResonance() { - interface TeamResonanceExcelConfigData { - TeamResonanceId: number; - TeamResonanceGroupId: number; - Level: number; - FireAvatarCount?: number; - NameTextMapHash: number; - DescTextMapHash: number; - OpenConfig: string; - AddProps: any[]; - Param: number[]; - WaterAvatarCount?: number; - WindAvatarCount?: number; - ElectricAvatarCount?: number; - IceAvatarCount?: number; - RockAvatarCount?: number; - Cond?: string; - } - - interface ItemUse { - UseParam: string[]; - } - const data: TeamResonanceExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/TeamResonanceExcelConfigData.json"); - - await saveTranslation("misc", "resonance.json", t => { - const rst = data.map(v => { - const item = { - id: toID(v.NameTextMapHash), - name: toText(v.NameTextMapHash), - localeName: t(v.NameTextMapHash), - desc: toDesc(t(v.DescTextMapHash)), - param: v.Param.map(toNum), - }; - return item; - }); - return uniqBy(rst, "id"); - }); -} diff --git a/cli/commands/output.ts b/cli/commands/output.ts deleted file mode 100644 index 8cddddd..0000000 --- a/cli/commands/output.ts +++ /dev/null @@ -1,5 +0,0 @@ -import fs from "fs-extra"; - -export async function run() { - await fs.copy("dist", "../content", { overwrite: true, recursive: true }); -} diff --git a/cli/commands/relic.ts b/cli/commands/relic.ts deleted file mode 100644 index 53495be..0000000 --- a/cli/commands/relic.ts +++ /dev/null @@ -1,127 +0,0 @@ -// artifact 圣遗物 - -import fs from "fs-extra"; -import { uniqBy } from "lodash"; -import { ArtifactType } from "../../modules/core/enum"; -import { IArtifactType, IArtifactSet, IArtifactSetAffix } from "../../modules/core/interface"; - -// extra -import { DATA_DIR, saveTranslation, toDesc, toAttr, toID, affixMap, toNum } from "../util"; - -export async function run() { - // await fs.emptyDir("dist/item"); - - await parseArtifact(); - await parseArtifactSet(); -} - -async function parseArtifactSet() { - interface ReliquarySetExcelConfigData { - SetId: number; - SetIcon: string; - SetNeed: number[]; - EquipAffixId: number; - Contains: number[]; - DisableFilter?: number; - } - const data: ReliquarySetExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/ReliquarySetExcelConfigData.json"); - - await saveTranslation("relicset", "relicset.json", t => { - const rst = data - .filter(v => v.EquipAffixId) - .map(v => { - const { name, affixs } = toAffix(v.EquipAffixId); - const item: IArtifactSet = { - id: v.SetId, - name, - need: v.SetNeed, - // maxLevel: v.MaxLevel || 1, - affixs, - }; - return item; - }); - return uniqBy(rst, "id"); - function toAffix(id: number): { name: string; affixs: IArtifactSetAffix[] } { - const affixLevels = affixMap[id]; - const affix = affixLevels[0]; - return { - name: t(affix.NameTextMapHash) || "???", - affixs: affixLevels.map(v => { - return { desc: toDesc(t(affix.DescTextMapHash)), attrs: toAttr(v.AddProps), params: v.Param.filter(Boolean).map(toNum) }; - }), - }; - } - }); -} -async function parseArtifact() { - interface ReliquaryExcelConfigData { - EquipType: string; - ShowPic: string; - MainPropDepotId: number; - AppendPropDepotId: number; - AddPropLevels: number[]; - BaseConvExp: number; - MaxLevel: number; - DestroyReturnMaterial: number[]; - DestroyReturnMaterialCount: number[]; - Id: number; - NameTextMapHash: any; - DescTextMapHash: any; - Icon: string; - ItemType: string; - Weight: number; - Rank: number; - GadgetId: number; - RankLevel?: number; - AppendPropNum?: number; - SetId?: number; - StoryId?: number; - DestroyRule: string; - InitialLockState?: number; - Dropable?: boolean; - } - interface ReliquaryCodexExcelConfigData { - Id: number; - SuitId: number; - Level: number; - CupId: number; - LeatherId: number; - CapId: number; - FlowerId: number; - SandId: number; - SortOrder: number; - } - const data: ReliquaryExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/ReliquaryExcelConfigData.json"); - const codex: ReliquaryCodexExcelConfigData[] = await fs.readJSON(DATA_DIR + "Excel/ReliquaryCodexExcelConfigData.json"); - const enabledIds = new Set([].concat(...codex.map(v => [v.CupId, v.LeatherId, v.CapId, v.FlowerId, v.SandId] as any))); - - await saveTranslation("relic", "relic.json", t => { - const rst = data - .filter(v => v.RankLevel && v.SetId && enabledIds.has(v.Id)) - .map(v => { - const item: IArtifactType = { - id: v.Id, - name: toID(v.NameTextMapHash), - localeName: t(v.NameTextMapHash), - desc: toDesc(t(v.DescTextMapHash)), - rarity: v.RankLevel!, - setId: v.SetId!, - // maxLevel: v.MaxLevel || 1, - type: toArtifaceType(v.EquipType), - }; - return item; - }); - return uniqBy(rst, v => v.id); - }); -} - -function toArtifaceType(str: string): ArtifactType { - const mp: { [x: string]: ArtifactType } = { - EQUIP_BRACER: ArtifactType.FlowerOfLife, - EQUIP_NECKLACE: ArtifactType.PlumeOfDeath, - EQUIP_SHOES: ArtifactType.SandsOfEon, - EQUIP_RING: ArtifactType.GobletOfEonothem, - EQUIP_DRESS: ArtifactType.CircletOfLogos, - }; - return mp[str] || ArtifactType.FlowerOfLife; -} diff --git a/cli/commands/subattr.ts b/cli/commands/subattr.ts deleted file mode 100644 index 410ebd4..0000000 --- a/cli/commands/subattr.ts +++ /dev/null @@ -1,33 +0,0 @@ -import fs from "fs-extra"; -import { groupBy, values, map } from "lodash"; -import { BuffType } from "../../modules/core/enum"; - -// extra -import { DATA_DIR, saveObject, toAttrType, toNum } from "../util"; - -export async function run() { - const data: ReliquaryAffixData[] = await fs.readJSON(DATA_DIR + "Excel/ReliquaryAffixExcelConfigData.json"); - - const normalDepotId = new Set([101, 201, 301, 401, 501]); - const normalAffix = data.filter(v => normalDepotId.has(v.DepotId)); - - const groups = values(groupBy(normalAffix, v => v.DepotId)); - const rst = groups.map(group => { - const typeMap = groupBy(group, v => v.PropType); - return map(typeMap, (val, prop) => { - const type = toAttrType(prop); - return { type: BuffType[type], values: val.map(v => toNum(v.PropValue)), weight: val[0].Weight }; - }).map(v => v.values); - }); - await saveObject("curve", "subattr.json", rst); -} - -interface ReliquaryAffixData { - Id: number; - DepotId: number; - GroupId: number; - PropType: string; - PropValue: number; - Weight: number; - UpgradeWeight: number; -} diff --git a/cli/commands/weapon.ts b/cli/commands/weapon.ts deleted file mode 100644 index 6d7af5b..0000000 --- a/cli/commands/weapon.ts +++ /dev/null @@ -1,138 +0,0 @@ -import fs from "fs-extra"; - -// extra -import type { IWeaponAscension, IWeaponAffix, IWeaponType } from "../../modules/core/interface"; -import { DATA_DIR, toAttrType, toCurve, toNum, toWeaponType, toText, toID, saveTranslation, toDesc, toAttr, affixMap, toItem } from "../util"; -import { uniqBy } from "lodash"; - -export async function run() { - const data: WeaponData[] = await fs.readJSON(DATA_DIR + "Excel/WeaponExcelConfigData.json"); - // 突破数据 - const promoteMap = ((await fs.readJSON(DATA_DIR + "Excel/WeaponPromoteExcelConfigData.json")) as WeaponPromoteData[]).reduce<{ - [x: number]: WeaponPromoteData[]; - }>((r, v) => { - if (!r[v.WeaponPromoteId]) { - r[v.WeaponPromoteId] = [v]; - } else { - r[v.WeaponPromoteId].push(v); - } - return r; - }, {}); - - await saveTranslation("weapon", "weapon.json", t => { - const rst = data - .filter(weapon => { - return toID(weapon.NameTextMapHash); - }) - .map(v => { - const promote = promoteMap[v.WeaponPromoteId]; - const rst: IWeaponType = { - id: toID(v.NameTextMapHash), - name: toText(v.NameTextMapHash), - localeName: t(v.NameTextMapHash), - desc: toDesc(t(v.DescTextMapHash)), - rarity: v.RankLevel, - type: toWeaponType(v.WeaponType), - ascensions: toPromoteStage(promote), - baseATK: toNum(v.WeaponProp[0].InitValue!), - baseATKCurve: toCurve(v.WeaponProp[0].Type), - }; - if (v.WeaponProp[1].PropType && v.WeaponProp[1].InitValue) - rst.subAttr = { - type: toAttrType(v.WeaponProp[1].PropType), - value: toNum(v.WeaponProp[1].InitValue), - curve: toCurve(v.WeaponProp[1].Type), - }; - - // 特效 - if (v.SkillAffix[0]) rst.affix = toAffix(v.SkillAffix[0]); - return rst; - }); - return uniqBy(rst, "id"); - function toPromoteStage(data: WeaponPromoteData[]): IWeaponAscension[] { - return data - .filter(v => v.PromoteLevel) - .map(lv => { - return { - level: lv.PromoteLevel!, - baseATK: toNum(lv.AddProps[0].Value!), - cost: lv.CostItems.filter(v => v.Id).map(v => { - const item = toItem(v.Id!); - if (!item) { - // console.warn(`[item] ${id}:${it.Id} not found`); - return { id: "unknown", name: "???", count: v.Count! }; - } - return { id: toID(item.NameTextMapHash), name: t(item.NameTextMapHash), count: v.Count! }; - }), - }; - }); - } - function toAffix(id: number): IWeaponAffix { - const affixLevels = affixMap[id]; - const affix = affixLevels[0]; - return { - name: t(affix.NameTextMapHash) || "???", - desc: toDesc(t(affix.DescTextMapHash)), - levels: affixLevels.map(v => { - return { attrs: toAttr(v.AddProps), params: v.Param.filter(Boolean).map(toNum) }; - }), - }; - } - }); -} - -interface WeaponData { - Id: number; - WeaponType: string; - RankLevel: number; - WeaponBaseExp: number; - SkillAffix: number[]; - WeaponProp: WeaponProp[]; - AwakenTexture: string; - AwakenIcon: string; - WeaponPromoteId: number; - StoryId: number; - AwakenCosts: number[]; - GachaCardNameHashPre: number; - GachaCardNameHashSuffix: number; - DestroyRule?: string; - DestroyReturnMaterial: number[]; - DestroyReturnMaterialCount: number[]; - NameTextMapHash: number; - DescTextMapHash: number; - Icon: string; - ItemType: string; - Weight: number; - Rank: number; - GadgetId: number; - InitialLockState?: number; - AwakenMaterial?: number; - EnhanceRule?: number; - Unrotate?: boolean; -} - -interface WeaponProp { - PropType?: string; - InitValue?: number; - Type: string; -} - -interface WeaponPromoteData { - WeaponPromoteId: number; - CostItems: CostItem[]; - AddProps: WeaponPromoteAddProp[]; - UnlockMaxLevel: number; - PromoteLevel?: number; - RequiredPlayerLevel?: number; - CoinCost?: number; -} - -interface WeaponPromoteAddProp { - PropType: string; - Value?: number; -} - -interface CostItem { - Id?: number; - Count?: number; -} diff --git a/cli/index.ts b/cli/index.ts deleted file mode 100644 index 93d78a3..0000000 --- a/cli/index.ts +++ /dev/null @@ -1,81 +0,0 @@ -// 数据处理 -import chalk from "chalk"; -import { program } from "commander"; - -program.version("0.0.1"); -program - .command("clear") - .description("清空") - .action(async args => { - await runCommand("clear"); - }); -program - .command("parse") - .aliases(["p"]) - .description("处理") - .option("-o, --output", "输出到content目录") - .option("--icon", "处理icon") - .option("-a, --avatar", "处理char") - .option("-c, --curve", "处理curve") - .option("-w, --weapon", "处理weapon") - .option("-i, --item", "处理item") - .option("-s, --subattr", "处理subattr") - .option("-e, --enemy", "处理enemy") - .option("-m, --misc", "处理misc") - .option("-r, --relic", "处理relic") - .action(async args => { - // 输出前清理 - if (args.output) { - console.log(`${chalk.green("[CLI]")} clear for content...`); - await runCommand("clear"); - } - - // 对象处理 - if (args.icon) { - console.log(`${chalk.green("[CLI]")} processing icon...`); - await runCommand("icon"); - } - if (args.curve) { - console.log(`${chalk.green("[CLI]")} processing curve...`); - await runCommand("curve"); - } - if (args.weapon) { - console.log(`${chalk.green("[CLI]")} processing weapon...`); - await runCommand("weapon"); - } - if (args.subattr) { - console.log(`${chalk.green("[CLI]")} processing subattr...`); - await runCommand("subattr"); - } - if (args.item) { - console.log(`${chalk.green("[CLI]")} processing items...`); - await runCommand("item"); - } - if (args.enemy) { - console.log(`${chalk.green("[CLI]")} processing enemy...`); - await runCommand("enemy"); - } - if (args.avatar) { - console.log(`${chalk.green("[CLI]")} processing charactors...`); - await runCommand("avatar"); - } - if (args.misc) { - console.log(`${chalk.green("[CLI]")} processing misc...`); - await runCommand("misc"); - } - if (args.relic) { - console.log(`${chalk.green("[CLI]")} processing relic...`); - await runCommand("relic"); - } - - /// 输出 - if (args.output) { - console.log(`${chalk.green("[CLI]")} output to content...`); - await runCommand("output"); - } - }); -program.parse(process.argv); - -function runCommand(name: string): Promise { - return require("./commands/" + name).run(); -} diff --git a/cli/package.json b/cli/package.json deleted file mode 100644 index 6478946..0000000 --- a/cli/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "genshin-data-parser", - "version": "1.0.0", - "private": true, - "main": "index.ts", - "scripts": { - "mon": "nodemon --delay 2 -e ts --exec \"ts-node index p -a -c -w -i -s -e\"", - "dev": "ts-node index p -a -c -w -i -s -e", - "build": "rimraf bin && tsc && node bin/cli/index" - }, - "dependencies": { - "axios": "^0.21.1", - "chalk": "^4.1.0", - "fs-extra": "^9.0.1", - "jquery": "^3.5.1", - "jsdom": "^16.4.0", - "lodash": "^4.17.20", - "nodemon": "^2.0.7", - "prettier": "^2.2.1", - "rimraf": "^3.0.2", - "svgo": "^1.3.2", - "typescript": "^4.1.3" - }, - "devDependencies": { - "@types/fs-extra": "^9.0.6", - "@types/jquery": "^3.5.5", - "@types/jsdom": "^16.2.5", - "@types/node": "^14.14.16", - "commander": "^6.2.1", - "ts-node": "^9.1.1" - } -} diff --git a/cli/tsconfig.json b/cli/tsconfig.json deleted file mode 100644 index 3fa762d..0000000 --- a/cli/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "module": "commonjs", - "moduleResolution": "node", - "lib": ["ESNext", "ESNext.AsyncIterable", "DOM"], - "esModuleInterop": true, - "allowJs": true, - "sourceMap": false, - "strict": true, - "experimentalDecorators": true, - "resolveJsonModule": true, - "strictPropertyInitialization": true, - "allowSyntheticDefaultImports": true, - "isolatedModules": true, - "baseUrl": ".", - "types": ["node"], - "outDir": "bin" - }, - "exclude": ["node_modules", "bin"] -} diff --git a/cli/util.ts b/cli/util.ts deleted file mode 100644 index 92079e2..0000000 --- a/cli/util.ts +++ /dev/null @@ -1,270 +0,0 @@ -import prettier from "prettier"; -import fs from "fs-extra"; -import chalk from "chalk"; - -import { BuffType, ElementType, WeaponType } from "../modules/core/enum"; -import type { IAttr, IWeaponAffix } from "../modules/core/interface"; -import { startCase } from "lodash"; - -export type Dict = { [x: string]: T }; - -export const DATA_DIR = "../../GenshinData/"; - -export const itemMap = (fs.readJsonSync(DATA_DIR + "Excel/MaterialExcelConfigData.json") as Item[]).reduce<{ - [x: number]: Item; -}>((r, v) => ((r[v.Id] = v), r), {}); - -export const affixMap = (fs.readJSONSync(DATA_DIR + "Excel/EquipAffixExcelConfigData.json") as WeaponAffixData[]).reduce<{ - [x: number]: WeaponAffixData[]; -}>((r, v) => { - if (!r[v.Id]) { - r[v.Id] = [v]; - } else { - r[v.Id].push(v); - } - return r; -}, {}); - -export const tagMap = (fs.readJsonSync(DATA_DIR + "Excel/FeatureTagExcelConfigData.json") as FeatureTagExcelConfigData[]).reduce<{ - [x: number]: FeatureTagExcelConfigData; -}>((r, v) => ((r[v.TagId] = v), r), {}); - -export const tagGroupMap = (fs.readJsonSync(DATA_DIR + "Excel/FeatureTagGroupExcelConfigData.json") as FeatureTagGroupExcelConfigData[]).reduce<{ - [x: number]: FeatureTagGroupExcelConfigData; -}>((r, v) => ((r[v.GroupId] = v), r), {}); - -export const locales: Dict = { - // de: fs.readJsonSync(DATA_DIR + "TextMap/TextDE.json"), - en: fs.readJsonSync(DATA_DIR + "TextMap/TextEN.json"), - // es: fs.readJsonSync(DATA_DIR + "TextMap/TextES.json"), - // fr: fs.readJsonSync(DATA_DIR + "TextMap/TextFR.json"), - // id: fs.readJsonSync(DATA_DIR + "TextMap/TextID.json"), - ja: fs.readJsonSync(DATA_DIR + "TextMap/TextJA.json"), - // ko: fs.readJsonSync(DATA_DIR + "TextMap/TextKO.json"), - // pt: fs.readJsonSync(DATA_DIR + "TextMap/TextPT.json"), - // ru: fs.readJsonSync(DATA_DIR + "TextMap/TextRU.json"), - // th: fs.readJsonSync(DATA_DIR + "TextMap/TextTH.json"), - // vi: fs.readJsonSync(DATA_DIR + "TextMap/TextVI.json"), - "zh-Hans": fs.readJsonSync(DATA_DIR + "TextMap/TextZHS.json"), - "zh-Hant": fs.readJsonSync(DATA_DIR + "TextMap/TextZHT.json"), -}; - -export function toText(hash: number, lang = "en") { - return locales[lang][hash]; -} - -export function toID(hash: number, lang = "en") { - return locales[lang][hash].replace(/\W+/g, ""); -} - -export async function saveObject(domain: string, file: string, obj: any) { - const data = prettier.format(JSON.stringify(obj), { parser: "json" }); - await fs.ensureDir("dist/" + domain); - await fs.writeFile("dist/" + domain + "/" + file, data); -} - -export function toItem(id: number) { - return itemMap[id]; -} - -export function toDesc(raw: string) { - return raw.replace(/\\n/g, "\n"); -} - -// 生成大段文字的国际化文件 -export async function saveTranslation(domain: string, file: string, produce: (t: (hash: number) => string) => any) { - for (const lang in locales) { - const t = (n: number) => toText(n, lang); - const obj = produce(t); - await saveObject(lang + "/" + domain, file, obj); - } -} - -export function toCurve(str: string) { - const nameMap: { [x: string]: number } = { - GROW_CURVE_ATTACK_101: 1, - GROW_CURVE_ATTACK_102: 2, - GROW_CURVE_ATTACK_103: 3, - GROW_CURVE_ATTACK_104: 4, - GROW_CURVE_ATTACK_105: 5, - GROW_CURVE_ATTACK_201: 6, - GROW_CURVE_ATTACK_202: 7, - GROW_CURVE_ATTACK_203: 8, - GROW_CURVE_ATTACK_204: 9, - GROW_CURVE_ATTACK_205: 10, - GROW_CURVE_ATTACK_301: 11, - GROW_CURVE_ATTACK_302: 12, - GROW_CURVE_ATTACK_303: 13, - GROW_CURVE_ATTACK_304: 14, - GROW_CURVE_ATTACK_305: 15, - GROW_CURVE_CRITICAL_101: 16, - GROW_CURVE_CRITICAL_201: 17, - GROW_CURVE_CRITICAL_301: 18, - }; - return nameMap[str] || 0; -} -export function toNum(num: number) { - return +num.toPrecision(5); -} - -export function toWeaponType(str: string) { - const nameMap: { [x: string]: WeaponType } = { - WEAPON_SWORD_ONE_HAND: WeaponType.Sword, - WEAPON_POLE: WeaponType.Polearm, - WEAPON_CATALYST: WeaponType.Catalyst, - WEAPON_BOW: WeaponType.Bow, - WEAPON_CLAYMORE: WeaponType.Claymore, - }; - return nameMap[str] || WeaponType.Unknown; -} - -export function toElement(skill: string) { - const nm: Dict = { - ELECTRIC: ElementType.Electro, - FIRE: ElementType.Pyro, - ICE: ElementType.Cryo, - ROCK: ElementType.Geo, - WATER: ElementType.Hydro, - WIND: ElementType.Anemo, - }; - return nm[skill]; -} - -export function toTags(id: number) { - const group = tagGroupMap[id]; - return group.TagIds.filter(Boolean).map(v => tagMap[v]); -} - -export function toAttrType(str: string) { - const nameMap: { [x: string]: BuffType } = { - FIGHT_PROP_HP_PERCENT: BuffType.HPRatio, - FIGHT_PROP_DEFENSE_PERCENT: BuffType.DEFRatio, - FIGHT_PROP_ATTACK_PERCENT: BuffType.ATKRatio, - FIGHT_PROP_HP: BuffType.HPDelta, - FIGHT_PROP_DEFENSE: BuffType.DEFDelta, - FIGHT_PROP_ATTACK: BuffType.ATKDelta, - FIGHT_PROP_BASE_HP: BuffType.BaseHP, - FIGHT_PROP_BASE_DEFENSE: BuffType.BaseDEF, - FIGHT_PROP_BASE_ATTACK: BuffType.BaseATK, - FIGHT_PROP_CRITICAL: BuffType.CRITRate, - FIGHT_PROP_CRITICAL_HURT: BuffType.CRITDMG, - FIGHT_PROP_CHARGE_EFFICIENCY: BuffType.EnergyRecharge, - FIGHT_PROP_ELEMENT_MASTERY: BuffType.ElementalMastery, - FIGHT_PROP_SHIELD_COST_MINUS_RATIO: BuffType.ShieldEffectiveness, - FIGHT_PROP_ELEC_SUB_HURT: BuffType.ElectroRES, - FIGHT_PROP_ELEC_ADD_HURT: BuffType.ElectroDMG, - FIGHT_PROP_FIRE_SUB_HURT: BuffType.PyroRES, - FIGHT_PROP_FIRE_ADD_HURT: BuffType.PyroDMG, - FIGHT_PROP_WIND_SUB_HURT: BuffType.AnemoRES, - FIGHT_PROP_WIND_ADD_HURT: BuffType.AnemoDMG, - FIGHT_PROP_ICE_SUB_HURT: BuffType.CryoRES, - FIGHT_PROP_ICE_ADD_HURT: BuffType.CryoDMG, - FIGHT_PROP_PHYSICAL_SUB_HURT: BuffType.PhysicalRES, - FIGHT_PROP_PHYSICAL_ADD_HURT: BuffType.PhysicalDMG, - FIGHT_PROP_ROCK_SUB_HURT: BuffType.GeoRES, - FIGHT_PROP_ROCK_ADD_HURT: BuffType.GeoDMG, - FIGHT_PROP_WATER_SUB_HURT: BuffType.HydroRES, - FIGHT_PROP_WATER_ADD_HURT: BuffType.HydroDMG, - FIGHT_PROP_GRASS_SUB_HURT: BuffType.DendroRES, - FIGHT_PROP_GRASS_ADD_HURT: BuffType.DendroDMG, - FIGHT_PROP_HEAL_ADD: BuffType.Heal, - FIGHT_PROP_HEALED_ADD: BuffType.Healed, - FIGHT_PROP_ADD_HURT: BuffType.AllDMG, - FIGHT_PROP_SUB_HURT: BuffType.DMGReduce, - FIGHT_PROP_BASE_SPEED: BuffType.BaseSpeed, - FIGHT_PROP_SPEED_PERCENT: BuffType.SpeedRatio, - FIGHT_PROP_ANTI_CRITICAL: BuffType.AntiCRITRate, - }; - if (!nameMap[str]) { - console.error(`${chalk.red("[prop]")} unknown prop ${str}`); - process.exit(2); - } - return nameMap[str]; -} - -export function toAttr(src: WeaponAffixAddProp[]): IAttr[] { - return src.filter(v => v.Type && v.Value).map(v => ({ type: toAttrType(v.Type!), value: toNum(v.Value!) })); -} - -const _BASE62_ST = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - -export function base62(src: number): string { - let rst = "", - negative = src < 0; - if (negative) src = -src; - while (1) { - let a = ~~src % 62; - rst = _BASE62_ST[a] + rst; - src = ~~(src / 62); - if (src <= 0) { - break; - } - } - return negative ? "-" + rst : rst; -} - -export function debase62(src: string): number { - let rst = 0, - negative = src[0] === "-"; - if (negative) src = src.substr(1); - for (let i = 0; i < src.length; i++) { - const a = _BASE62_ST.indexOf(src[i]); - if (a < 0) { - continue; - } - rst = rst * 62 + a; - } - return negative ? -rst : rst; -} - -interface Item { - InteractionTitleTextMapHash: number; - MaterialType: string; - StackLimit: number; - ItemUse: ItemUse[]; - EffectDescTextMapHash: number; - SpecialDescTextMapHash: number; - TypeDescTextMapHash: number; - EffectIcon: string; - EffectName: string; - PicPath: any[]; - SatiationParams: any[]; - DestroyReturnMaterial: any[]; - DestroyReturnMaterialCount: any[]; - Id: number; - NameTextMapHash: number; - DescTextMapHash: number; - Icon: string; - ItemType: string; - Rank: number; -} - -interface ItemUse { - UseParam: string[]; -} - -interface WeaponAffixData { - AffixId: number; - Id: number; - NameTextMapHash: number; - DescTextMapHash: number; - OpenConfig: string; - AddProps: WeaponAffixAddProp[]; - Param: number[]; - Level?: number; -} - -interface WeaponAffixAddProp { - Type?: string; - Value?: number; -} - -interface FeatureTagExcelConfigData { - TagId: number; - TagName: string; - TagDesp: string; -} -interface FeatureTagGroupExcelConfigData { - GroupId: number; - TagIds: number[]; -} diff --git a/cli/yarn.lock b/cli/yarn.lock deleted file mode 100644 index 367b578..0000000 --- a/cli/yarn.lock +++ /dev/null @@ -1,2031 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.npm.taobao.org/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o= - -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.npm.taobao.org/@szmarczak/http-timer/download/@szmarczak/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha1-sWZeLEYaLNkvTBu/UNVFTeDUtCE= - dependencies: - defer-to-connect "^1.0.1" - -"@types/fs-extra@^9.0.6": - version "9.0.6" - resolved "https://registry.npm.taobao.org/@types/fs-extra/download/@types/fs-extra-9.0.6.tgz#488e56b77299899a608b8269719c1d133027a6ab" - integrity sha1-SI5Wt3KZiZpgi4JpcZwdEzAnpqs= - dependencies: - "@types/node" "*" - -"@types/jquery@^3.5.5": - version "3.5.5" - resolved "https://registry.npm.taobao.org/@types/jquery/download/@types/jquery-3.5.5.tgz#2c63f47c9c8d96693d272f5453602afd8338c903" - integrity sha1-LGP0fJyNlmk9Jy9UU2Aq/YM4yQM= - dependencies: - "@types/sizzle" "*" - -"@types/jsdom@^16.2.5": - version "16.2.5" - resolved "https://registry.npm.taobao.org/@types/jsdom/download/@types/jsdom-16.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjsdom%2Fdownload%2F%40types%2Fjsdom-16.2.5.tgz#74ebad438741d249ecb416c5486dcde4217eb66c" - integrity sha1-dOutQ4dB0knstBbFSG3N5CF+tmw= - dependencies: - "@types/node" "*" - "@types/parse5" "*" - "@types/tough-cookie" "*" - -"@types/node@*", "@types/node@^14.14.16": - version "14.14.20" - resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.20.tgz?cache=0&sync_timestamp=1609792271041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340" - integrity sha1-95dIY+3SHR+KSUpz6OKzZYYVw0A= - -"@types/parse5@*": - version "6.0.0" - resolved "https://registry.npm.taobao.org/@types/parse5/download/@types/parse5-6.0.0.tgz#38590dc2c3cf5717154064e3ee9b6947ee21b299" - integrity sha1-OFkNwsPPVxcVQGTj7ptpR+4hspk= - -"@types/q@^1.5.1": - version "1.5.4" - resolved "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz?cache=0&sync_timestamp=1605055096527&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fq%2Fdownload%2F%40types%2Fq-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" - integrity sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ= - -"@types/sizzle@*": - version "2.3.2" - resolved "https://registry.npm.taobao.org/@types/sizzle/download/@types/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" - integrity sha1-qBG4wY4rq6t9VCszZYh64uTZ3kc= - -"@types/tough-cookie@*": - version "4.0.0" - resolved "https://registry.npm.taobao.org/@types/tough-cookie/download/@types/tough-cookie-4.0.0.tgz?cache=0&sync_timestamp=1605057450377&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Ftough-cookie%2Fdownload%2F%40types%2Ftough-cookie-4.0.0.tgz#fef1904e4668b6e5ecee60c52cc6a078ffa6697d" - integrity sha1-/vGQTkZotuXs7mDFLMageP+maX0= - -abab@^2.0.3: - version "2.0.5" - resolved "https://registry.npm.taobao.org/abab/download/abab-2.0.5.tgz?cache=0&sync_timestamp=1599850271460&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fabab%2Fdownload%2Fabab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o= - -abbrev@1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha1-Rs3Tnw+P8IqHZhm1X1rIptx3C0U= - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz?cache=0&sync_timestamp=1609842743685&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-walk%2Fdownload%2Facorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w= - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo= - -ajv@^6.12.3: - version "6.12.6" - resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1609583976611&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ= - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/ansi-align/download/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" - integrity sha1-tTazcc9ofKrvI2wY0+If43l0Z8s= - dependencies: - string-width "^3.0.0" - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1606792382140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1606792382140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha1-7dgDYornHATIWuegkG7a00tkiTc= - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI= - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npm.taobao.org/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1605576950209&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farg%2Fdownload%2Farg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk= - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz?cache=0&sync_timestamp=1598649397806&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fargparse%2Fdownload%2Fargparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= - dependencies: - sprintf-js "~1.0.2" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/at-least-node/download/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha1-YCzUtG6EStTv/JKoARo8RuAjjcI= - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604101230105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk= - -axios@^0.21.1: - version "0.21.1" - resolved "https://registry.npm.taobao.org/axios/download/axios-0.21.1.tgz?cache=0&sync_timestamp=1608609324963&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" - integrity sha1-IlY0gZYvTWvemnbVFu8OXTwJsrg= - dependencies: - follow-redirects "^1.10.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha1-MPpAyef+B9vIlWeM0ocCTeokHdk= - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -boxen@^4.2.0: - version "4.2.0" - resolved "https://registry.npm.taobao.org/boxen/download/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" - integrity sha1-5BG2I1fW1tNlh8isPV2XTaoHDmQ= - dependencies: - ansi-align "^3.0.0" - camelcase "^5.3.1" - chalk "^3.0.0" - cli-boxes "^2.2.0" - string-width "^4.1.0" - term-size "^2.1.0" - type-fest "^0.8.1" - widest-line "^3.1.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1601898285594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= - dependencies: - fill-range "^7.0.1" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY= - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.npm.taobao.org/cacheable-request/download/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI= - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - -call-bind@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.1.tgz?cache=0&sync_timestamp=1610168955860&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.1.tgz#29aca9151f8ddcfd5b9b786898f005f425e88567" - integrity sha1-KaypFR+N3P1bm3homPAF9CXohWc= - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^2.4.1: - version "2.4.2" - resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1592843133653&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz?cache=0&sync_timestamp=1592843133653&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ= - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1592843133653&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha1-ThSHCmGNni7dl92DRf2dncMVZGo= - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^3.2.2: - version "3.5.0" - resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-3.5.0.tgz?cache=0&sync_timestamp=1609920536189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.5.0.tgz#458a4816a415e9d3b3caa4faec2b96a6935a9e65" - integrity sha1-RYpIFqQV6dOzyqT67CuWppNanmU= - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.3.1" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= - -cli-boxes@^2.2.0: - version "2.2.1" - resolved "https://registry.npm.taobao.org/cli-boxes/download/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha1-3dUDXSUJT84iDpyrQKRYQKRAMY8= - -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/clone-response/download/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM= - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= - dependencies: - delayed-stream "~1.0.0" - -commander@^6.2.1: - version "6.2.1" - resolved "https://registry.npm.taobao.org/commander/download/commander-6.2.1.tgz?cache=0&sync_timestamp=1607931342826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha1-B5LraC37wyWZm7K4T93duhEKxzw= - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.npm.taobao.org/configstore/download/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha1-02UCG130uYzdGH1qOw4/anzF7ZY= - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npm.taobao.org/create-require/download/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM= - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-2.0.0.tgz?cache=0&sync_timestamp=1599139352103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcrypto-random-string%2Fdownload%2Fcrypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha1-7yp6lm7BEIM4g2m6oC6+rSKbMNU= - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc= - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8= - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz?cache=0&sync_timestamp=1606404111772&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI= - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2: - version "1.1.2" - resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.1.2.tgz?cache=0&sync_timestamp=1606404111772&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.1.2.tgz#9ae393b5dafd7dae8a622475caec78d3d8fbd7b5" - integrity sha1-muOTtdr9fa6KYiR1yux409j717U= - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.npm.taobao.org/css-what/download/css-what-3.4.2.tgz?cache=0&sync_timestamp=1602570934118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ= - -csso@^4.0.2: - version "4.2.0" - resolved "https://registry.npm.taobao.org/csso/download/csso-4.2.0.tgz?cache=0&sync_timestamp=1606408886733&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha1-6jpWE0bo3J9UbW/r7dUBh884lSk= - dependencies: - css-tree "^1.1.2" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha1-WmbPk9LQtmHYC/akT7ZfXC5OChA= - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= - -cssstyle@^2.2.0: - version "2.3.0" - resolved "https://registry.npm.taobao.org/cssstyle/download/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha1-/2ZaDdvcMYZLCWR/NBY0Q9kLCFI= - dependencies: - cssom "~0.3.6" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073647826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/data-urls/download/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha1-FWSFpyljqXD11YIar2Qr7yvy25s= - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@^2.2.0: - version "2.6.9" - resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566537361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= - dependencies: - ms "2.0.0" - -debug@^3.2.6: - version "3.2.7" - resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566537361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o= - dependencies: - ms "^2.1.1" - -decimal.js@^10.2.0: - version "10.2.1" - resolved "https://registry.npm.taobao.org/decimal.js/download/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha1-I4rnsPDHk9PjzqQQEIs1osAUJqM= - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.npm.taobao.org/deep-extend/download/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw= - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.npm.taobao.org/defer-to-connect/download/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha1-MxrgUMCNz3ifjIOnuB8O2U9KxZE= - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= - dependencies: - object-keys "^1.0.12" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0= - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -domelementtype@1: - version "1.3.1" - resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&sync_timestamp=1606866123758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= - -domelementtype@^2.0.1: - version "2.1.0" - resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.1.0.tgz?cache=0&sync_timestamp=1606866123758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e" - integrity sha1-qFHAgKbRw9lDRK7RUdmfZp7fWF4= - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/domexception/download/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha1-+0Su+6eT4VdLCvau0oAdBXUp8wQ= - dependencies: - webidl-conversions "^5.0.0" - -domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= - dependencies: - dom-serializer "0" - domelementtype "1" - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.3.0.tgz?cache=0&sync_timestamp=1605778245785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog= - dependencies: - is-obj "^2.0.0" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= - dependencies: - once "^1.4.0" - -entities@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/entities/download/entities-2.1.0.tgz?cache=0&sync_timestamp=1602897079266&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" - integrity sha1-mS0xKc999ocLlsV4WMJJoSD4uLU= - -es-abstract@^1.17.2: - version "1.17.7" - resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.7.tgz?cache=0&sync_timestamp=1601503225168&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" - integrity sha1-pN5hsvZpifx0IWdsHLl4dXOs5Uw= - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" - is-regex "^1.1.1" - object-inspect "^1.8.0" - object-keys "^1.1.1" - object.assign "^4.1.1" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-abstract@^1.18.0-next.1: - version "1.18.0-next.1" - resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0-next.1.tgz?cache=0&sync_timestamp=1601503225168&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" - integrity sha1-bjoKS9pxflAjqzuOkL7DYQjSLGg= - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" - is-negative-zero "^2.0.0" - is-regex "^1.1.1" - object-inspect "^1.8.0" - object-keys "^1.1.1" - object.assign "^4.1.1" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.npm.taobao.org/escape-goat/download/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha1-Gy3HcANnbEV+x2Cy3GjttkgYhnU= - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escodegen@^1.14.1: - version "1.14.3" - resolved "https://registry.npm.taobao.org/escodegen/download/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM= - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= - -estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596643087695&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= - dependencies: - to-regex-range "^5.0.1" - -follow-redirects@^1.10.0: - version "1.13.1" - resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.1.tgz?cache=0&sync_timestamp=1607916844700&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.13.1.tgz#5f69b813376cee4fd0474a3aba835df04ab763b7" - integrity sha1-X2m4Ezds7k/QR0o6uoNd8Eq3Y7c= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha1-kQ2gBiQ3ukw5/t2GPxZ1zP78ufw= - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@~2.3.1: - version "2.3.1" - resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.1.tgz?cache=0&sync_timestamp=1609861413593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.1.tgz#b209ab14c61012636c8863507edf7fb68cc54e9f" - integrity sha1-sgmrFMYQEmNsiGNQft9/tozFTp8= - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= - -get-intrinsic@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.0.2.tgz?cache=0&sync_timestamp=1608274324399&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49" - integrity sha1-aCDaIm5QskiU4IhZRp3Gg2FUXUk= - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz?cache=0&sync_timestamp=1597056585216&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz?cache=0&sync_timestamp=1597056585216&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha1-SWaheV7lrOZecGxLe+txJX1uItM= - dependencies: - pump "^3.0.0" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha1-tsHvQXxOVmPqSY8cRa+saRa7wik= - dependencies: - is-glob "^4.0.1" - -glob@^7.1.3: - version "7.1.6" - resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^2.0.1: - version "2.1.0" - resolved "https://registry.npm.taobao.org/global-dirs/download/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" - integrity sha1-6QRqScgG/wTWwYJeGWyPAJHo300= - dependencies: - ini "1.3.7" - -got@^9.6.0: - version "9.6.0" - resolved "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz?cache=0&sync_timestamp=1607658569382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgot%2Fdownload%2Fgot-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU= - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha1-Ila94U02MpWMRl68ltxGfKB6Kfs= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz?cache=0&sync_timestamp=1596082578993&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhar-validator%2Fdownload%2Fhar-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha1-HwgDufjLIMD6E4It8ezds2veHv0= - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz?cache=0&sync_timestamp=1577797756584&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-flag%2Fdownload%2Fhas-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1577797756584&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= - -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= - -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/has-yarn/download/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha1-E34RNUp7W/EapctknPDG8/8rLnc= - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= - dependencies: - function-bind "^1.1.1" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/html-encoding-sniffer/download/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha1-QqbcT9M/ACgRduiyN1nKTk+hhfM= - dependencies: - whatwg-encoding "^1.0.5" - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha1-SekcXL82yblLz81xwj1SSex045A= - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1600868555829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/ignore-by-default/download/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/import-lazy/download/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= - -ini@1.3.7: - version "1.3.7" - resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.7.tgz?cache=0&sync_timestamp=1607907822343&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fini%2Fdownload%2Fini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" - integrity sha1-oJNj4ZEZcuoW16iFEAXYTPCamoQ= - -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.8.tgz?cache=0&sync_timestamp=1607907822343&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fini%2Fdownload%2Fini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw= - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz?cache=0&sync_timestamp=1601334434600&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fip-regex%2Fdownload%2Fip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= - dependencies: - binary-extensions "^2.0.0" - -is-callable@^1.1.4, is-callable@^1.2.2: - version "1.2.2" - resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" - integrity sha1-x8ZxXNItTdtI0+GZcCI6zquwgNk= - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/is-ci/download/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= - dependencies: - ci-info "^2.0.0" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha1-vac28s2P0G0yhE53Q7+nSUw7/X4= - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= - dependencies: - is-extglob "^2.1.1" - -is-installed-globally@^0.3.1: - version "0.3.2" - resolved "https://registry.npm.taobao.org/is-installed-globally/download/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" - integrity sha1-/T76ee5nDRGHIzGC1bCh3QAxMUE= - dependencies: - global-dirs "^2.0.1" - is-path-inside "^3.0.1" - -is-negative-zero@^2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.1.tgz?cache=0&sync_timestamp=1607123422635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-negative-zero%2Fdownload%2Fis-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ= - -is-npm@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/is-npm/download/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" - integrity sha1-yQ3YOAaW34enptgjwg0LErvjyE0= - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI= - -is-path-inside@^3.0.1: - version "3.0.2" - resolved "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" - integrity sha1-9SIPyCo+IzdXKR3dycWHfyofMBc= - -is-potential-custom-element-name@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/is-potential-custom-element-name/download/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -is-regex@^1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.1.tgz?cache=0&sync_timestamp=1596555709354&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" - integrity sha1-xvmKrMVG9s7FRooHt7FTq1ZKV7k= - dependencies: - has-symbols "^1.0.1" - -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc= - dependencies: - has-symbols "^1.0.1" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.npm.taobao.org/is-yarn-global/download/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha1-1QLTOCWQ6jAEiTdGdUyJE5lz4jI= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -jquery@^3.5.1: - version "3.5.1" - resolved "https://registry.npm.taobao.org/jquery/download/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5" - integrity sha1-17TQjhv9uGrS8aPQOeoXMEcXq7U= - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1609680165698&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc= - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.4.0" - resolved "https://registry.npm.taobao.org/jsdom/download/jsdom-16.4.0.tgz?cache=0&sync_timestamp=1596916617286&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsdom%2Fdownload%2Fjsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha1-NgBb3i0Tb3Pu4agwxtReVUCO3ds= - dependencies: - abab "^2.0.3" - acorn "^7.1.1" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.2.0" - data-urls "^2.0.0" - decimal.js "^10.2.0" - domexception "^2.0.1" - escodegen "^1.14.1" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" - symbol-tree "^3.2.4" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" - xml-name-validator "^3.0.0" - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553748947&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-6.1.0.tgz?cache=0&sync_timestamp=1604161876665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4= - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/keyv/download/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk= - dependencies: - json-buffer "3.0.0" - -latest-version@^5.0.0: - version "5.1.0" - resolved "https://registry.npm.taobao.org/latest-version/download/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha1-EZ3+kI/jjRXfpD7NE/oS7Igy+s4= - dependencies: - package-json "^6.3.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash@^4.17.19, lodash@^4.17.20: - version "4.17.20" - resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI= - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha1-b54wtHCE2XGnyCD/FabFFnt0wm8= - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha1-JgPni3tLAAbLyi+8yKMgJVislHk= - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8= - dependencies: - semver "^6.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npm.taobao.org/make-error/download/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha1-LrLjfqm2fEiR9oShOUeZr0hM96I= - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA= - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= - -mime-db@1.45.0: - version "1.45.0" - resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.45.0.tgz?cache=0&sync_timestamp=1600831117178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha1-zO7aIczXw6dF66LezVXUtz54eeo= - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.28" - resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.28.tgz?cache=0&sync_timestamp=1609559940028&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" - integrity sha1-EWDEdX6rLFNjiI4AUnPs950qDs0= - dependencies: - mime-db "1.45.0" - -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha1-SSNTiHju9CBjy4o+OweYeBSHqxs= - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= - -mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= - dependencies: - minimist "^1.2.5" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.3.tgz?cache=0&sync_timestamp=1607433899126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha1-V0yBOM4dK1hh8LRFedut1gxmFbI= - -nodemon@^2.0.7: - version "2.0.7" - resolved "https://registry.npm.taobao.org/nodemon/download/nodemon-2.0.7.tgz#6f030a0a0ebe3ea1ba2a38f71bf9bab4841ced32" - integrity sha1-bwMKCg6+PqG6Kjj3G/m6tIQc7TI= - dependencies: - chokidar "^3.2.2" - debug "^3.2.6" - ignore-by-default "^1.0.1" - minimatch "^3.0.4" - pstree.remy "^1.1.7" - semver "^5.7.1" - supports-color "^5.5.0" - touch "^3.1.0" - undefsafe "^2.0.3" - update-notifier "^4.1.0" - -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.npm.taobao.org/nopt/download/nopt-1.0.10.tgz?cache=0&sync_timestamp=1597649892953&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnopt%2Fdownload%2Fnopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= - dependencies: - abbrev "1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= - -normalize-url@^4.1.0: - version "4.5.0" - resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-4.5.0.tgz?cache=0&sync_timestamp=1602432879767&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" - integrity sha1-RTNUCH5sqWlXvY9br3U/WYIUISk= - -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= - dependencies: - boolbase "~1.0.0" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.npm.taobao.org/nwsapi/download/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha1-IEh5qePQaP8qVROcLHcngGgaOLc= - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= - -object-inspect@^1.8.0: - version "1.9.0" - resolved "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.9.0.tgz?cache=0&sync_timestamp=1606804265193&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo= - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= - -object.assign@^4.1.1: - version "4.1.2" - resolved "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115212739&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA= - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.getownpropertydescriptors@^2.1.0: - version "2.1.1" - resolved "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.1.tgz#0dfda8d108074d9c563e80490c883b6661091544" - integrity sha1-Df2o0QgHTZxWPoBJDIg7ZmEJFUQ= - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - -object.values@^1.1.0: - version "1.1.2" - resolved "https://registry.npm.taobao.org/object.values/download/object.values-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.values%2Fdownload%2Fobject.values-1.1.2.tgz#7a2015e06fcb0f546bd652486ce8583a4731c731" - integrity sha1-eiAV4G/LD1Rr1lJIbOhYOkcxxzE= - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - has "^1.0.3" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw= - -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.npm.taobao.org/package-json/download/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha1-b+7ayjXnVyWHbQsOZJdGl/7RRbA= - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz?cache=0&sync_timestamp=1595850971402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg= - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0= - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/prepend-http/download/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -prettier@^2.2.1: - version "2.2.1" - resolved "https://registry.npm.taobao.org/prettier/download/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha1-eVoaeN1S8HPaDNQrIfnJE4GSP/U= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ= - -pstree.remy@^1.1.7: - version "1.1.8" - resolved "https://registry.npm.taobao.org/pstree.remy/download/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" - integrity sha1-wkIiT0pnwh9oaDm720rCgrg3PTo= - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= - -pupa@^2.0.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/pupa/download/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha1-9ej9SvwsXZeCj6pSNUnth0SiDWI= - dependencies: - escape-goat "^2.0.0" - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= - -rc@^1.2.8: - version "1.2.8" - resolved "https://registry.npm.taobao.org/rc/download/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0= - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4= - dependencies: - picomatch "^2.2.1" - -registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.npm.taobao.org/registry-auth-token/download/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha1-bXtABkQZGJcszV/tzUHcMix5slA= - dependencies: - rc "^1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.npm.taobao.org/registry-url/download/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha1-6YM0tQ1UNLgRNrROxjjZwgCcUAk= - dependencies: - rc "^1.2.8" - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.4.tgz?cache=0&sync_timestamp=1595378718097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest-promise-core%2Fdownload%2Frequest-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8= - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.8: - version "1.0.9" - resolved "https://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha1-5AcSBSal79yaObKKVnm/R7nZ3Cg= - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.2: - version "2.88.2" - resolved "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM= - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho= - dependencies: - glob "^7.1.3" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= - -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= - -saxes@^5.0.0: - version "5.0.1" - resolved "https://registry.npm.taobao.org/saxes/download/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha1-7rq5U/o7dgjb6U5drbFciI+maW0= - dependencies: - xmlchars "^2.2.0" - -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/semver-diff/download/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha1-Bfd85Z8yXgDicGr9Z7tQbdscoys= - dependencies: - semver "^6.3.0" - -semver@^5.7.1: - version "5.7.1" - resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1606854493763&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= - -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1606854493763&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= - -signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1592843131591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw= - -source-map-support@^0.5.17: - version "0.5.19" - resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE= - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1606747929782&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88= - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.0.0, string-width@^4.1.0: - version "4.2.0" - resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha1-lSGCxGzHssMT0VluYjmSvRY7crU= - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.trimend@^1.0.1: - version "1.0.3" - resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.3.tgz?cache=0&sync_timestamp=1606008069015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" - integrity sha1-oivVPMpcfPRNfJ1ccyEYhz1s0Ys= - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.1: - version "1.0.3" - resolved "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.3.tgz?cache=0&sync_timestamp=1606008069177&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" - integrity sha1-m0y1kOEjuzZWRAHVmCQpjeUP1ao= - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= - dependencies: - ansi-regex "^5.0.0" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz?cache=0&sync_timestamp=1594571796132&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -supports-color@^5.3.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1608033349725&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1608033349725&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= - dependencies: - has-flag "^4.0.0" - -svgo@^1.3.2: - version "1.3.2" - resolved "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc= - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I= - -term-size@^2.1.0: - version "2.2.1" - resolved "https://registry.npm.taobao.org/term-size/download/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" - integrity sha1-KmpUhAQywvtjIP6g9BVTHpAYn1Q= - -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/to-readable-stream/download/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha1-zgqgwvPfat+FLvtASng+d8BHV3E= - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= - dependencies: - is-number "^7.0.0" - -touch@^3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/touch/download/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" - integrity sha1-/jZfX3XsntTlaCXgu3bSSrdK+Ds= - dependencies: - nopt "~1.0.10" - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha1-nfT1fnOcJpMKAYGEiH9K233Kc7I= - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.npm.taobao.org/tr46/download/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha1-Ayc1ht7xWVrgj+2zjXczzukdJHk= - dependencies: - punycode "^2.1.1" - -ts-node@^9.1.1: - version "9.1.1" - resolved "https://registry.npm.taobao.org/ts-node/download/ts-node-9.1.1.tgz?cache=0&sync_timestamp=1607350703222&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-node%2Fdownload%2Fts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" - integrity sha1-UamkUKPpWUAb2l8ASnLVS5NtN20= - dependencies: - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.17" - yn "3.1.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1606468899313&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha1-qX7nqf9CaRufeD/xvFES/j/KkIA= - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.1.3: - version "4.1.3" - resolved "https://registry.npm.taobao.org/typescript/download/typescript-4.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypescript%2Fdownload%2Ftypescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" - integrity sha1-UZ1YK9lMugz4k0x9joRn5HP1O7c= - -undefsafe@^2.0.3: - version "2.0.3" - resolved "https://registry.npm.taobao.org/undefsafe/download/undefsafe-2.0.3.tgz#6b166e7094ad46313b2202da7ecc2cd7cc6e7aae" - integrity sha1-axZucJStRjE7IgLafsws18xueq4= - dependencies: - debug "^2.2.0" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/unique-string/download/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha1-OcZFH4GvsnSd4rIz4/fF6IQ72J0= - dependencies: - crypto-random-string "^2.0.0" - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/universalify/download/universalify-1.0.0.tgz?cache=0&sync_timestamp=1603180004159&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha1-thodoXPoQ1sv48Z9Kbmt+FlL0W0= - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/universalify/download/universalify-2.0.0.tgz?cache=0&sync_timestamp=1603180004159&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc= - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - -update-notifier@^4.1.0: - version "4.1.3" - resolved "https://registry.npm.taobao.org/update-notifier/download/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" - integrity sha1-vobuE+jOSPtQBD/3IFe1vVmOHqM= - dependencies: - boxen "^4.2.0" - chalk "^3.0.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.3.1" - is-npm "^4.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.0.0" - pupa "^2.0.1" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237641463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34= - dependencies: - punycode "^2.1.0" - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz?cache=0&sync_timestamp=1610159975962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha1-a693dLgO6w91INi4HQeYKlmruu4= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1607460081656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4= - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha1-ConN9cwVgi35w2BUNnaWPgzDCM0= - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/w3c-xmlserializer/download/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha1-PnEEoFt1FGzGD1ZDgLf2g6zxAgo= - dependencies: - xml-name-validator "^3.0.0" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha1-rlnIoAsSFUOirMZcBDT1ew/BGv8= - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha1-kRG01+qArNQPUnDWZmIa+ni2lRQ= - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.npm.taobao.org/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78= - -whatwg-url@^8.0.0: - version "8.4.0" - resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-8.4.0.tgz?cache=0&sync_timestamp=1602174403361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" - integrity sha1-UPuWFbBUaVkdKyvW367SlC7XKDc= - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.0" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/widest-line/download/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha1-gpIzO79my0X/DeFgOxNreuFJbso= - dependencies: - string-width "^4.0.0" - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= - -wrappy@1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug= - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.2.3: - version "7.4.2" - resolved "https://registry.npm.taobao.org/ws/download/ws-7.4.2.tgz?cache=0&sync_timestamp=1609271346157&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd" - integrity sha1-eCEABI5U6zb+mEM2OrHGhnKyYd0= - -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/xdg-basedir/download/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha1-S8jZmEQDaWIl74OhVzy7y0552xM= - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo= - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs= - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/yn/download/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A= diff --git a/nuxt.config.js b/nuxt.config.js index 296ac3d..57c8e38 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -69,6 +69,13 @@ export default { // https://www.npmjs.com/package/@nuxtjs/sitemap "@nuxtjs/sitemap", ], + + pwa: { + icon: { + source: "~/static/icon.png", + }, + }, + // i18n config i18n: { defaultLocale: "en", diff --git a/pages/char/index.vue b/pages/char/index.vue index 5ed5140..e92b603 100644 --- a/pages/char/index.vue +++ b/pages/char/index.vue @@ -118,7 +118,7 @@ export default class Page extends Vue { } -