commit d2993d62c34c55f2dcd8bd2c9ef73e8e072fe7d4 Author: callmeyan Date: Wed Oct 20 11:22:28 2021 +0800 第一次提交 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4f0dc2e --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local + +target/ +*.class \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..73f69e0 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..8095554 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 0000000..61b7c86 --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,12 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3308 + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..abb532a --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jpa-buddy.xml b/.idea/jpa-buddy.xml new file mode 100644 index 0000000..d08f400 --- /dev/null +++ b/.idea/jpa-buddy.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..16c1151 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..797acea --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml new file mode 100644 index 0000000..8b118ed --- /dev/null +++ b/.idea/sqldialects.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..f43d969 --- /dev/null +++ b/README.MD @@ -0,0 +1 @@ +# 这是教学使用的SpringCloud的商城项目 diff --git a/api-gateway/pom.xml b/api-gateway/pom.xml new file mode 100644 index 0000000..2a46679 --- /dev/null +++ b/api-gateway/pom.xml @@ -0,0 +1,29 @@ + + + + root + org.example.my-shop + 1.0-SNAPSHOT + + 4.0.0 + + api-gateway + + + 8 + 8 + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.cloud + spring-cloud-starter-netflix-zuul + + + + \ No newline at end of file diff --git a/common/pom.xml b/common/pom.xml new file mode 100644 index 0000000..6b7eb38 --- /dev/null +++ b/common/pom.xml @@ -0,0 +1,25 @@ + + + + root + org.example.my-shop + 1.0-SNAPSHOT + + 4.0.0 + + common + + + 8 + 8 + + + + org.projectlombok + lombok + + + + \ No newline at end of file diff --git a/common/src/main/java/org/example/shop/config/RabbitMQConfig.java b/common/src/main/java/org/example/shop/config/RabbitMQConfig.java new file mode 100644 index 0000000..94bffa7 --- /dev/null +++ b/common/src/main/java/org/example/shop/config/RabbitMQConfig.java @@ -0,0 +1,7 @@ +package org.example.shop.config; + +public class RabbitMQConfig { + public static final String RABBITMQ_DEFAULT_TOPIC = "default_message_topic"; + public static final String RABBITMQ_DEFAULT_DIRECT_EXCHANGE = "default_message_exchange"; + public static final String RABBITMQ_DEFAULT_DIRECT_ROUTING = "default_message_routing"; +} diff --git a/eureka-server/pom.xml b/eureka-server/pom.xml new file mode 100644 index 0000000..7497072 --- /dev/null +++ b/eureka-server/pom.xml @@ -0,0 +1,28 @@ + + + + root + org.example.my-shop + 1.0-SNAPSHOT + + 4.0.0 + + eureka-server + + + 8 + 8 + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-server + + + \ No newline at end of file diff --git a/goods-service/pom.xml b/goods-service/pom.xml new file mode 100644 index 0000000..2ab4d69 --- /dev/null +++ b/goods-service/pom.xml @@ -0,0 +1,43 @@ + + + + root + org.example.my-shop + 1.0-SNAPSHOT + + 4.0.0 + + goods-service + + + 8 + 8 + + + + + org.example.my-shop + common + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-web + + + mysql + mysql-connector-java + + + com.alibaba + druid-spring-boot-starter + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + \ No newline at end of file diff --git a/pay-service/pom.xml b/pay-service/pom.xml new file mode 100644 index 0000000..8d796d9 --- /dev/null +++ b/pay-service/pom.xml @@ -0,0 +1,35 @@ + + + + root + org.example.my-shop + 1.0-SNAPSHOT + + 4.0.0 + + pay-service + + + 8 + 8 + + + + + org.example.my-shop + common + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..22c72f9 --- /dev/null +++ b/pom.xml @@ -0,0 +1,86 @@ + + + 4.0.0 + + org.example.my-shop + root + pom + 1.0-SNAPSHOT + + sec-kill + eureka-server + api-gateway + common + user-service + goods-service + pay-service + provider-goods-search + provider-order-service + provider-pay-service + web + + + + 8 + 8 + Hoxton.SR12 + 2.3.12.RELEASE + 8.0.26 + 1.2.5 + 2.2.0 + 3.4.3 + 1.18.20 + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + mysql + mysql-connector-java + ${mysql.version} + pom + import + + + com.alibaba + druid-spring-boot-starter + ${druid.version} + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + ${mybatis.version} + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus.version} + pom + import + + + org.projectlombok + lombok + ${lombok.version} + pom + import + + + + + \ No newline at end of file diff --git a/provider-goods-search/pom.xml b/provider-goods-search/pom.xml new file mode 100644 index 0000000..1e41a0e --- /dev/null +++ b/provider-goods-search/pom.xml @@ -0,0 +1,39 @@ + + + + root + org.example.my-shop + 1.0-SNAPSHOT + + 4.0.0 + + goods-search + + + 8 + 8 + + + + + org.example.my-shop + common + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-web + + + mysql + mysql-connector-java + + + com.alibaba + druid-spring-boot-starter + + + + \ No newline at end of file diff --git a/provider-order-service/pom.xml b/provider-order-service/pom.xml new file mode 100644 index 0000000..573a326 --- /dev/null +++ b/provider-order-service/pom.xml @@ -0,0 +1,39 @@ + + + + root + org.example.my-shop + 1.0-SNAPSHOT + + 4.0.0 + + provider-order-service + + + 8 + 8 + + + + + org.example.my-shop + common + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-web + + + mysql + mysql-connector-java + + + com.alibaba + druid-spring-boot-starter + + + + \ No newline at end of file diff --git a/provider-pay-service/pom.xml b/provider-pay-service/pom.xml new file mode 100644 index 0000000..208ac71 --- /dev/null +++ b/provider-pay-service/pom.xml @@ -0,0 +1,39 @@ + + + + root + org.example.my-shop + 1.0-SNAPSHOT + + 4.0.0 + + provider-pay-service + + + 8 + 8 + + + + + org.example.my-shop + common + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-web + + + mysql + mysql-connector-java + + + com.alibaba + druid-spring-boot-starter + + + + \ No newline at end of file diff --git a/sec-kill/pom.xml b/sec-kill/pom.xml new file mode 100644 index 0000000..86dc772 --- /dev/null +++ b/sec-kill/pom.xml @@ -0,0 +1,52 @@ + + + + root + org.example.my-shop + 1.0-SNAPSHOT + + 4.0.0 + + sec-kill + + + 8 + 8 + + + + org.springframework.boot + spring-boot-starter-web + + + mysql + mysql-connector-java + 8.0.26 + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.projectlombok + lombok + + + org.springframework.boot + spring-boot-starter-data-redis + + + + + + org.springframework.boot + spring-boot-dependencies + 2.5.4 + pom + import + + + + \ No newline at end of file diff --git a/sec-kill/src/main/java/org/example/shop/SecKillApplication.java b/sec-kill/src/main/java/org/example/shop/SecKillApplication.java new file mode 100644 index 0000000..0f7486c --- /dev/null +++ b/sec-kill/src/main/java/org/example/shop/SecKillApplication.java @@ -0,0 +1,11 @@ +package org.example.shop; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class SecKillApplication { + public static void main(String[] args) { + SpringApplication.run(SecKillApplication.class,args); + } +} diff --git a/sec-kill/src/main/java/org/example/shop/dao/GoodsDao.java b/sec-kill/src/main/java/org/example/shop/dao/GoodsDao.java new file mode 100644 index 0000000..3a298b4 --- /dev/null +++ b/sec-kill/src/main/java/org/example/shop/dao/GoodsDao.java @@ -0,0 +1,25 @@ +package org.example.shop.dao; + +import org.example.shop.pojo.Goods; +import org.hibernate.annotations.Parameter; +import org.hibernate.annotations.SQLUpdate; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + +@Repository +public interface GoodsDao extends JpaRepository { + /** + * 更新会有行锁 + * @param id + * @param count + * @return 返回SQL执行后 受影响的行数(如果库存不足 受影响行数为0) + */ + @Transactional + @Modifying + @Query(nativeQuery = true, value = "update goods set stock=stock - ?2 where id=?1 and stock >= ?2") + int deductCount(@Param("id") Integer id, @Param("count") int count); +} diff --git a/sec-kill/src/main/java/org/example/shop/dao/OrderDao.java b/sec-kill/src/main/java/org/example/shop/dao/OrderDao.java new file mode 100644 index 0000000..8b2dcd3 --- /dev/null +++ b/sec-kill/src/main/java/org/example/shop/dao/OrderDao.java @@ -0,0 +1,10 @@ +package org.example.shop.dao; + +import org.example.shop.pojo.Orders; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface OrderDao extends JpaRepository { + +} diff --git a/sec-kill/src/main/java/org/example/shop/pojo/Goods.java b/sec-kill/src/main/java/org/example/shop/pojo/Goods.java new file mode 100644 index 0000000..a9ef354 --- /dev/null +++ b/sec-kill/src/main/java/org/example/shop/pojo/Goods.java @@ -0,0 +1,20 @@ +package org.example.shop.pojo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.persistence.Entity; +import javax.persistence.Id; +import java.io.Serializable; + +@Data +@Accessors(chain = true) + +@Entity +public class Goods implements Serializable { + @Id + private Integer id; + private String name; + private Integer stock; + private Integer price; +} diff --git a/sec-kill/src/main/java/org/example/shop/pojo/Orders.java b/sec-kill/src/main/java/org/example/shop/pojo/Orders.java new file mode 100644 index 0000000..9013c2e --- /dev/null +++ b/sec-kill/src/main/java/org/example/shop/pojo/Orders.java @@ -0,0 +1,23 @@ +package org.example.shop.pojo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@Entity +public class Orders implements Serializable { + + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Id + private Integer id; + private Integer gid; + private Integer price; + private Integer count; +} diff --git a/sec-kill/src/main/java/org/example/shop/service/GoodsService.java b/sec-kill/src/main/java/org/example/shop/service/GoodsService.java new file mode 100644 index 0000000..dc0065f --- /dev/null +++ b/sec-kill/src/main/java/org/example/shop/service/GoodsService.java @@ -0,0 +1,15 @@ +package org.example.shop.service; + +import org.example.shop.pojo.Goods; + +import java.util.List; + +public interface GoodsService { + /** + * 对商品进行下单 + * @param gid + * @return + */ + Integer secKill(Integer gid,int count); + List findAll(); +} diff --git a/sec-kill/src/main/java/org/example/shop/service/GoodsServiceImpl.java b/sec-kill/src/main/java/org/example/shop/service/GoodsServiceImpl.java new file mode 100644 index 0000000..1dd5b3b --- /dev/null +++ b/sec-kill/src/main/java/org/example/shop/service/GoodsServiceImpl.java @@ -0,0 +1,66 @@ +package org.example.shop.service; + +import org.example.shop.dao.GoodsDao; +import org.example.shop.dao.OrderDao; +import org.example.shop.pojo.Goods; +import org.example.shop.pojo.Orders; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Optional; + +@Service +public class GoodsServiceImpl implements GoodsService { + private GoodsDao goodsDao; + private OrderDao orderDao; + + @Autowired + public void setGoodsDao(GoodsDao goodsDao) { + this.goodsDao = goodsDao; + } + + @Autowired + public void setOrderDao(OrderDao orderDao) { + this.orderDao = orderDao; + } + + public List findAll(){ + return goodsDao.findAll(); + } + + @Override + @Transactional // 启用事务 + public Integer secKill(Integer gid, int count) { + // 使用jpa查询商品信息 + Optional goodsOptional = goodsDao.findById(gid); + // 判断商品是否存在 + if (!goodsOptional.isPresent()) { + throw new RuntimeException("秒杀的商品不存在"); + } + Goods goods = goodsOptional.get(); + // 判断库存是否小于购买数量 + if (goods.getStock() < count) { + throw new RuntimeException("商品库存不足1"); + } + + // 创建订单 + Orders o = new Orders(); + o.setGid(gid).setPrice(goods.getPrice()).setCount(count); + // 保存订单数据 + orderDao.save(o); + // 可能有问题? +// goods.setStock(goods.getStock() - count); // 重新设置库存 -- 没有锁 所以抛弃 +// goodsDao.save(goods); // 更新商品库存 + // 直接在mysql中减 + // update goods set stock = stock - 数量 where id=编号 + // 执行减库存 并获取受影响行数 + int resultCount = goodsDao.deductCount(gid, count); // 直接在数据库的基础上 进行库存减少 + // 只有库存不够 才不会真正执行更新操作 所以受影响为0 + if (resultCount < 1) { + throw new RuntimeException("商品库存不足2 => " + resultCount); + } + return o.getId(); + } +} diff --git a/sec-kill/src/main/java/org/example/shop/util/AppConstants.java b/sec-kill/src/main/java/org/example/shop/util/AppConstants.java new file mode 100644 index 0000000..fafd733 --- /dev/null +++ b/sec-kill/src/main/java/org/example/shop/util/AppConstants.java @@ -0,0 +1,6 @@ +package org.example.shop.util; + +public class AppConstants { + public static final String GOODS_STOCK_KEY = "goods_stock_"; + public static final String GOODS_STOCK_OUT = "goods_stock_out_"; +} diff --git a/sec-kill/src/main/java/org/example/shop/web/GoodsController.java b/sec-kill/src/main/java/org/example/shop/web/GoodsController.java new file mode 100644 index 0000000..898e939 --- /dev/null +++ b/sec-kill/src/main/java/org/example/shop/web/GoodsController.java @@ -0,0 +1,82 @@ +package org.example.shop.web; + +import lombok.extern.slf4j.Slf4j; +import org.example.shop.service.GoodsService; +import org.example.shop.util.AppConstants; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.PostConstruct; +import java.util.concurrent.ConcurrentHashMap; + +@RestController +@Slf4j +public class GoodsController { + private GoodsService goodsService; + + @Autowired + public void setGoodsService(GoodsService goodsService) { + this.goodsService = goodsService; + } + + // 一开始应该把秒杀的商品数据放缓存 + private StringRedisTemplate stringRedisTemplate; + + @Autowired + public void setStringRedisTemplate(StringRedisTemplate stringRedisTemplate) { + this.stringRedisTemplate = stringRedisTemplate; + } + + //初始化缓存数据 + @PostConstruct // 对应controller的void方法只调用一次 + public void initCacheData() { + goodsService.findAll().forEach(g -> { + log.info("对 {} 进行缓存 库存为 {}", g.getName(), g.getStock()); + // 对商品库存进行缓存 + stringRedisTemplate.opsForValue().set(AppConstants.GOODS_STOCK_KEY + g.getId(), + g.getStock().toString()); + }); + } + + // 存储已经卖完的商品信息 + private static ConcurrentHashMap stockOutMap = new ConcurrentHashMap<>(); + + + @RequestMapping("/kill/{id}") + public String secKill(@PathVariable("id") Integer id) { + // 分布式锁 + if(stockOutMap.get(id) != null){ + return "fail: 内存说已经卖完了"; + } + + + String cacheKey = AppConstants.GOODS_STOCK_KEY + id; +// 对应redis的数据进行jian - 1,并返回减法后的结果 + long count = stringRedisTemplate.opsForValue().decrement(cacheKey); + if (count < 0) { + // 此时库存没有了 , 保存到已买完的对象 + stockOutMap.put(id,true); + log.info("stock count ===>" + count); + // 对缓存进行库存 + 1 + stringRedisTemplate.opsForValue().increment(cacheKey); // + return "fail:缓存说库存不足"; + } + + + try { + Integer orderId = goodsService.secKill(id, 1); + if (orderId == null || orderId < 1) { + return "fail"; + } else { + return "success"; + } + } catch (Exception e) { + //如果数据库下单失败 则 需要对缓存进行还原 + stringRedisTemplate.opsForValue().increment(cacheKey); // + return "秒杀失败:" + e.getMessage(); + } + } +} diff --git a/sec-kill/src/main/resources/application.yaml b/sec-kill/src/main/resources/application.yaml new file mode 100644 index 0000000..6b34dcd --- /dev/null +++ b/sec-kill/src/main/resources/application.yaml @@ -0,0 +1,15 @@ +server: + port: 9001 +spring: + datasource: + url: jdbc:mysql://localhost:3306/shop_demo + username: root + password: 123456 + driver-class-name: com.mysql.cj.jdbc.Driver + jpa: + show-sql: true + + redis: # redis的配置 + database: 1 + host: localhost + port: 6379 diff --git a/sec-kill/src/test/test.sql b/sec-kill/src/test/test.sql new file mode 100644 index 0000000..c50bd46 --- /dev/null +++ b/sec-kill/src/test/test.sql @@ -0,0 +1,22 @@ +create database shop_demo; +use shop_demo; +create table goods +( + id int not null primary key auto_increment, + name varchar(20) not null, + stock int default 0, + price int default 0 +) engine = innodb; +create table orders +( + id int primary key auto_increment, + gid int not null, + price int default 0 +) engine = innodb; + +insert into goods (name, stock, price) value ('iPhone 13 Pro Max', 0, 999900); +insert into goods (name, stock, price) value ('NV GTX3090', 10, 729900); + + +update goods set stock = 10 where id = 2; +delete from orders where id > 0; \ No newline at end of file diff --git a/user-service/pom.xml b/user-service/pom.xml new file mode 100644 index 0000000..a2cf6f8 --- /dev/null +++ b/user-service/pom.xml @@ -0,0 +1,64 @@ + + + + root + org.example.my-shop + 1.0-SNAPSHOT + + 4.0.0 + + jar + user-service + + + 8 + 8 + + + + org.example.my-shop + common + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-web + + + mysql + mysql-connector-java + + + com.alibaba + druid-spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-amqp + + + + com.aliyun.oss + aliyun-sdk-oss + 3.10.2 + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-devtools + + + org.projectlombok + lombok + + + \ No newline at end of file diff --git a/user-service/src/main/java/org/example/shop/UserServiceApplication.java b/user-service/src/main/java/org/example/shop/UserServiceApplication.java new file mode 100644 index 0000000..9d67339 --- /dev/null +++ b/user-service/src/main/java/org/example/shop/UserServiceApplication.java @@ -0,0 +1,13 @@ +package org.example.shop; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UserServiceApplication { + public static void main(String[] args) { + SpringApplication.run(UserServiceApplication.class,args); + } +} + + diff --git a/user-service/src/main/java/org/example/shop/config/RabbitConfig.java b/user-service/src/main/java/org/example/shop/config/RabbitConfig.java new file mode 100644 index 0000000..6435b28 --- /dev/null +++ b/user-service/src/main/java/org/example/shop/config/RabbitConfig.java @@ -0,0 +1,40 @@ +package org.example.shop.config; + +import org.springframework.amqp.core.Binding; +import org.springframework.amqp.core.BindingBuilder; +import org.springframework.amqp.core.DirectExchange; +import org.springframework.amqp.core.Queue; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class RabbitConfig { + @Bean + public Queue rabbitmqDemoDirectQueue() { + /** + * 1、name: 队列名称 + * 2、durable: 是否持久化 + * 3、exclusive: 是否独享、排外的。如果设置为true,定义为排他队列。则只有创建者可以使用此队列。也就是private私有的。 + * 4、autoDelete: 是否自动删除。也就是临时队列。当最后一个消费者断开连接后,会自动删除。 + * */ + return new Queue(RabbitMQConfig.RABBITMQ_DEFAULT_TOPIC, true, false, false); + } + + @Bean + public DirectExchange rabbitmqDemoDirectExchange() { + //Direct交换机 + return new DirectExchange(RabbitMQConfig.RABBITMQ_DEFAULT_DIRECT_EXCHANGE, true, false); + } + + @Bean + public Binding bindDirect() { + //链式写法,绑定交换机和队列,并设置匹配键 + return BindingBuilder + //绑定队列 + .bind(rabbitmqDemoDirectQueue()) + //到交换机 + .to(rabbitmqDemoDirectExchange()) + //并设置匹配键 + .with(RabbitMQConfig.RABBITMQ_DEFAULT_DIRECT_ROUTING); + } +} diff --git a/user-service/src/main/java/org/example/shop/consumer/RabbitMessageConsumer.java b/user-service/src/main/java/org/example/shop/consumer/RabbitMessageConsumer.java new file mode 100644 index 0000000..b09ddeb --- /dev/null +++ b/user-service/src/main/java/org/example/shop/consumer/RabbitMessageConsumer.java @@ -0,0 +1,20 @@ +package org.example.shop.consumer; + +import lombok.extern.slf4j.Slf4j; +import org.example.shop.config.RabbitMQConfig; +import org.springframework.amqp.rabbit.annotation.RabbitHandler; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +@RabbitListener(queues = RabbitMQConfig.RABBITMQ_DEFAULT_TOPIC) +@Slf4j +public class RabbitMessageConsumer { + // 绑定处理 + @RabbitHandler + public void process(Map map) { + log.info("获取到一条消息:" + map.toString()); + } +} diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..d451ff1 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,5 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local diff --git a/web/README.md b/web/README.md new file mode 100644 index 0000000..f5342b7 --- /dev/null +++ b/web/README.md @@ -0,0 +1,11 @@ +# Vue 3 + Typescript + Vite + +This template should help get you started developing with Vue 3 and Typescript in Vite. The template uses Vue 3 ` + + diff --git a/web/package-lock.json b/web/package-lock.json new file mode 100644 index 0000000..8f1ff2a --- /dev/null +++ b/web/package-lock.json @@ -0,0 +1,4414 @@ +{ + "name": "shop-web", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "shop-web", + "version": "0.0.0", + "dependencies": { + "vue": "^3.2.16", + "vue-router": "^4.0.12" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^1.9.3", + "less": "^4.1.2", + "less-loader": "^10.2.0", + "typescript": "^4.4.3", + "vite": "^2.6.4", + "vue-tsc": "^0.3.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k=", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.15.8", + "resolved": "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.15.8.tgz", + "integrity": "sha1-e6zcvnG9w/+TbVEMFdzqfPC5kBY=", + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.15.6.tgz", + "integrity": "sha1-mavcSCGLKIHAWN0KerBbmcm+dY8=", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emmetio/abbreviation": { + "version": "2.2.2", + "resolved": "https://registry.nlark.com/@emmetio/abbreviation/download/@emmetio/abbreviation-2.2.2.tgz", + "integrity": "sha1-dGdi/Z56jC6mBPWAxi48/iUOaYk=", + "dev": true, + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, + "node_modules/@emmetio/css-abbreviation": { + "version": "2.1.4", + "resolved": "https://registry.nlark.com/@emmetio/css-abbreviation/download/@emmetio/css-abbreviation-2.1.4.tgz", + "integrity": "sha1-kDYuihEizjt29sMVeQfTAYL1P1Q=", + "dev": true, + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, + "node_modules/@emmetio/scanner": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/@emmetio/scanner/download/@emmetio/scanner-1.0.0.tgz", + "integrity": "sha1-Blsq9iM/50dNRII+PeuJckr0K18=", + "dev": true + }, + "node_modules/@types/eslint": { + "version": "7.28.1", + "resolved": "https://registry.npmmirror.com/@types/eslint/download/@types/eslint-7.28.1.tgz", + "integrity": "sha1-ULB3R/H4TCuozTlM8P4LoHr84yA=", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.nlark.com/@types/eslint-scope/download/@types/eslint-scope-3.7.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Feslint-scope%2Fdownload%2F%40types%2Feslint-scope-3.7.1.tgz", + "integrity": "sha1-jcOQp7T53Z8ShGKe/OmC5BYSEW4=", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.nlark.com/@types/estree/download/@types/estree-0.0.50.tgz", + "integrity": "sha1-Hgyqk2TT/M0pMcPtlv2+ql1MyoM=", + "dev": true, + "peer": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz?cache=0&sync_timestamp=1629708346907&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.9.tgz", + "integrity": "sha1-l+3JA36gw4WFMgsolk3eOznkZg0=", + "dev": true, + "peer": true + }, + "node_modules/@types/node": { + "version": "16.11.1", + "resolved": "https://registry.npmmirror.com/@types/node/download/@types/node-16.11.1.tgz?cache=0&sync_timestamp=1634443414534&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-16.11.1.tgz", + "integrity": "sha1-LlCmSaUPxANDOhT4Ke+s4aNEPpc=", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/download/@vitejs/plugin-vue-1.9.3.tgz", + "integrity": "sha1-k9YYk85scj0CCa8Eg+yLkaLNgR8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "vite": "^2.5.10" + } + }, + "node_modules/@volar/code-gen": { + "version": "0.27.24", + "resolved": "https://registry.npmmirror.com/@volar/code-gen/download/@volar/code-gen-0.27.24.tgz?cache=0&sync_timestamp=1634525899573&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40volar%2Fcode-gen%2Fdownload%2F%40volar%2Fcode-gen-0.27.24.tgz", + "integrity": "sha1-zNvoWJUcHuTgw5eSMtUkEtxGdWo=", + "dev": true, + "dependencies": { + "@volar/shared": "^0.27.24", + "@volar/source-map": "^0.27.24" + } + }, + "node_modules/@volar/html2pug": { + "version": "0.27.13", + "resolved": "https://registry.npmmirror.com/@volar/html2pug/download/@volar/html2pug-0.27.13.tgz?cache=0&sync_timestamp=1634525896799&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40volar%2Fhtml2pug%2Fdownload%2F%40volar%2Fhtml2pug-0.27.13.tgz", + "integrity": "sha1-SN+nPs8e8ZVaAqBG0MiIRZUPrIU=", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0", + "htmlparser2": "^6.1.0", + "pug": "^3.0.2" + } + }, + "node_modules/@volar/shared": { + "version": "0.27.24", + "resolved": "https://registry.npmmirror.com/@volar/shared/download/@volar/shared-0.27.24.tgz", + "integrity": "sha1-ozRX7IrAsNNn7VTJ4hkTpfjC1sI=", + "dev": true, + "dependencies": { + "upath": "^2.0.1", + "vscode-jsonrpc": "^8.0.0-next.2", + "vscode-uri": "^3.0.2" + } + }, + "node_modules/@volar/source-map": { + "version": "0.27.24", + "resolved": "https://registry.npmmirror.com/@volar/source-map/download/@volar/source-map-0.27.24.tgz?cache=0&sync_timestamp=1634525899596&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40volar%2Fsource-map%2Fdownload%2F%40volar%2Fsource-map-0.27.24.tgz", + "integrity": "sha1-YPLgcMFpvoLL9/+ilqMMKCPFIF8=", + "dev": true, + "dependencies": { + "@volar/shared": "^0.27.24" + } + }, + "node_modules/@volar/transforms": { + "version": "0.27.24", + "resolved": "https://registry.npmmirror.com/@volar/transforms/download/@volar/transforms-0.27.24.tgz?cache=0&sync_timestamp=1634525899639&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40volar%2Ftransforms%2Fdownload%2F%40volar%2Ftransforms-0.27.24.tgz", + "integrity": "sha1-aOvFPcouNohOJHwIZuw9JO2BV4Q=", + "dev": true, + "dependencies": { + "@volar/shared": "^0.27.24", + "vscode-languageserver": "^8.0.0-next.2" + } + }, + "node_modules/@vscode/emmet-helper": { + "version": "2.8.2", + "resolved": "https://registry.npmmirror.com/@vscode/emmet-helper/download/@vscode/emmet-helper-2.8.2.tgz", + "integrity": "sha1-myzk/dYs8/2kXPivZ8ASz85V7ck=", + "dev": true, + "license": "MIT", + "dependencies": { + "emmet": "^2.3.0", + "jsonc-parser": "^2.3.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-nls": "^5.0.0", + "vscode-uri": "^2.1.2" + } + }, + "node_modules/@vscode/emmet-helper/node_modules/vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/vscode-uri/download/vscode-uri-2.1.2.tgz", + "integrity": "sha1-yNQN6T61evMfPHFd1lDiyiwJbxw=", + "dev": true + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/download/@vue/compiler-core-3.2.20.tgz?cache=0&sync_timestamp=1633712761777&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fcompiler-core%2Fdownload%2F%40vue%2Fcompiler-core-3.2.20.tgz", + "integrity": "sha1-r1o8UjeBiDWw0L6DfrWIWo0hwWA=", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.20", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/download/@vue/compiler-dom-3.2.20.tgz?cache=0&sync_timestamp=1633712762936&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fcompiler-dom%2Fdownload%2F%40vue%2Fcompiler-dom-3.2.20.tgz", + "integrity": "sha1-jg7zVEScD69BUZsAv8IEXq4B3LU=", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.2.20", + "@vue/shared": "3.2.20" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.2.20.tgz?cache=0&sync_timestamp=1633712762379&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fcompiler-sfc%2Fdownload%2F%40vue%2Fcompiler-sfc-3.2.20.tgz", + "integrity": "sha1-LXZo528GbFZt18CcFcmszk6Hbgo=", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.20", + "@vue/compiler-dom": "3.2.20", + "@vue/compiler-ssr": "3.2.20", + "@vue/ref-transform": "3.2.20", + "@vue/shared": "3.2.20", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/download/@vue/compiler-ssr-3.2.20.tgz", + "integrity": "sha1-nM62Jh2ZMstVaCAmEMHCj4bF5SE=", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.2.20", + "@vue/shared": "3.2.20" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.0.0-beta.19", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/download/@vue/devtools-api-6.0.0-beta.19.tgz", + "integrity": "sha1-+OiAWdqkJFFZkkJqDH6lzeB+mb8=", + "license": "MIT" + }, + "node_modules/@vue/reactivity": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/download/@vue/reactivity-3.2.20.tgz?cache=0&sync_timestamp=1633712785771&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Freactivity%2Fdownload%2F%40vue%2Freactivity-3.2.20.tgz", + "integrity": "sha1-gf4cNo5/ILwOwd7BBFu+4lNYLeg=", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.2.20" + } + }, + "node_modules/@vue/ref-transform": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/ref-transform/download/@vue/ref-transform-3.2.20.tgz?cache=0&sync_timestamp=1633712763825&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fref-transform%2Fdownload%2F%40vue%2Fref-transform-3.2.20.tgz", + "integrity": "sha1-KlnskMr45cczZ3agkAv/CouBwJA=", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.20", + "@vue/shared": "3.2.20", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/download/@vue/runtime-core-3.2.20.tgz?cache=0&sync_timestamp=1633712786645&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fruntime-core%2Fdownload%2F%40vue%2Fruntime-core-3.2.20.tgz", + "integrity": "sha1-j2PpVqP4j7dyVBRDxFp3ASEQEss=", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.2.20", + "@vue/shared": "3.2.20" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/download/@vue/runtime-dom-3.2.20.tgz?cache=0&sync_timestamp=1633712766458&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fruntime-dom%2Fdownload%2F%40vue%2Fruntime-dom-3.2.20.tgz", + "integrity": "sha1-iqVq5sMPnNSnHKDp7DxL3GcUjRU=", + "license": "MIT", + "dependencies": { + "@vue/runtime-core": "3.2.20", + "@vue/shared": "3.2.20", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/download/@vue/server-renderer-3.2.20.tgz?cache=0&sync_timestamp=1633713532607&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fserver-renderer%2Fdownload%2F%40vue%2Fserver-renderer-3.2.20.tgz", + "integrity": "sha1-cF4HrpQlEysrYifTCKUaE/TU7IE=", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.2.20", + "@vue/shared": "3.2.20" + }, + "peerDependencies": { + "vue": "3.2.20" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/shared/download/@vue/shared-3.2.20.tgz?cache=0&sync_timestamp=1633712765807&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fshared%2Fdownload%2F%40vue%2Fshared-3.2.20.tgz", + "integrity": "sha1-U3RpYfcxqOpmbjMWJx6UQjjcMds=", + "license": "MIT" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.11.1.tgz", + "integrity": "sha1-K/12fq4aaZb0Mv9+jX/HVnnAtqc=", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha1-9sYacF8P16auyqToGY8j2dwXnk8=", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.11.1.tgz?cache=0&sync_timestamp=1625473346773&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.11.1.tgz", + "integrity": "sha1-GmMZLYeI5cASgAump6RscFKI/RY=", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.11.1.tgz", + "integrity": "sha1-gyqQDrREiEzemnytRn+BUA9eWrU=", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-numbers/download/@webassemblyjs/helper-numbers-1.11.1.tgz", + "integrity": "sha1-ZNgdohn7u6HjvRv8dPboxOEKYq4=", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha1-8ygkHkHnsZnQsgwY6IQpxEMyleE=", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.11.1.tgz", + "integrity": "sha1-Ie4GWntjXzGec48N1zv72igcCXo=", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.11.1.tgz?cache=0&sync_timestamp=1625473413840&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.11.1.tgz", + "integrity": "sha1-ljkp6bvQVwnn4SJDoJkYCBKZJhQ=", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.11.1.tgz", + "integrity": "sha1-zoFLRVdOk9drrh+yZEq5zdlSeqU=", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.11.1.tgz?cache=0&sync_timestamp=1625473414168&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.11.1.tgz", + "integrity": "sha1-0fi3ZDaefG5rrjUOhU3smlnwo/8=", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.11.1.tgz", + "integrity": "sha1-rSBuv0v5WgWM6YgKjAksXeyBk9Y=", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.11.1.tgz", + "integrity": "sha1-hsXqMEhJdZt9iMR6MvTwOa48j3Y=", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.11.1.tgz", + "integrity": "sha1-ZXtMIgL0zzs0X4pMZGHIwkGJhfI=", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.11.1.tgz", + "integrity": "sha1-hspzRTT0F+m9PGfHocddi+QfsZk=", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.11.1.tgz", + "integrity": "sha1-0Mc77ajuxUJvEK6O9VzuXnCEwvA=", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.nlark.com/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", + "dev": true, + "peer": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1630916517167&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz", + "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1631493758159&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "peer": true, + "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" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz", + "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.nlark.com/asap/download/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "node_modules/assert-never": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/assert-never/download/assert-never-1.2.1.tgz", + "integrity": "sha1-EfDjY78UYgX7CBk7XHuQ9NHPRP4=", + "dev": true + }, + "node_modules/babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.nlark.com/babel-walk/download/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha1-9m7Ncpg1eu5ElV8jWm71QhkQSxE=", + "dev": true, + "dependencies": { + "@babel/types": "^7.9.6" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.17.4", + "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-4.17.4.tgz", + "integrity": "sha1-cuJQivKkA67ApJhH7zG9gjxX6tQ=", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001265", + "electron-to-chromium": "^1.3.867", + "escalade": "^3.1.1", + "node-releases": "^2.0.0", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/browserslist/node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz?cache=0&sync_timestamp=1634093378416&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-1.0.0.tgz", + "integrity": "sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz?cache=0&sync_timestamp=1627578710888&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbuffer-from%2Fdownload%2Fbuffer-from-1.1.2.tgz", + "integrity": "sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=", + "dev": true, + "peer": true + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz", + "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001269", + "resolved": "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001269.tgz?cache=0&sync_timestamp=1634446545470&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001269.tgz", + "integrity": "sha1-OnG+4D32JzZEGPn9Ma38eqHMLVY=", + "dev": true, + "license": "CC-BY-4.0", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/character-parser/download/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "dev": true, + "dependencies": { + "is-regex": "^1.0.3" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz?cache=0&sync_timestamp=1617905865899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchrome-trace-event%2Fdownload%2Fchrome-trace-event-1.0.3.tgz", + "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1631257724267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", + "dev": true, + "peer": true + }, + "node_modules/constantinople": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/constantinople/download/constantinople-4.0.1.tgz", + "integrity": "sha1-De8RP6Dk3I3oMzGlz3nIsyUhMVE=", + "dev": true, + "dependencies": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, + "node_modules/copy-anything": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/copy-anything/download/copy-anything-2.0.3.tgz?cache=0&sync_timestamp=1612447113795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcopy-anything%2Fdownload%2Fcopy-anything-2.0.3.tgz", + "integrity": "sha1-hCQHugJGaw34RIGbvjuuu+XUXYc=", + "dev": true, + "dependencies": { + "is-what": "^3.12.0" + } + }, + "node_modules/csstype": { + "version": "2.6.18", + "resolved": "https://registry.nlark.com/csstype/download/csstype-2.6.18.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.18.tgz", + "integrity": "sha1-mAqLUwhfNK8xNBCvBk8r0kF4Qhg=" + }, + "node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.nlark.com/debug/download/debug-3.2.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/doctypes": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/doctypes/download/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz?cache=0&sync_timestamp=1621256858583&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-1.3.2.tgz", + "integrity": "sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&sync_timestamp=1617298545989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz", + "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", + "dev": true + }, + "node_modules/domhandler": { + "version": "4.2.2", + "resolved": "https://registry.nlark.com/domhandler/download/domhandler-4.2.2.tgz?cache=0&sync_timestamp=1630246778110&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomhandler%2Fdownload%2Fdomhandler-4.2.2.tgz", + "integrity": "sha1-6CXXIdGahrjCAaNSZOImxnjudV8=", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.nlark.com/domutils/download/domutils-2.8.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-2.8.0.tgz", + "integrity": "sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU=", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.3.873", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.3.873.tgz", + "integrity": "sha1-wjjJGZ5JUZUv6BWmXBvqtdtIJrg=", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/emmet": { + "version": "2.3.4", + "resolved": "https://registry.nlark.com/emmet/download/emmet-2.3.4.tgz", + "integrity": "sha1-W6DXpVaaaMdpffqJDHcuTzF50SM=", + "dev": true, + "dependencies": { + "@emmetio/abbreviation": "^2.2.2", + "@emmetio/css-abbreviation": "^2.1.4" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.8.3", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-5.8.3.tgz?cache=0&sync_timestamp=1632130912600&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-5.8.3.tgz", + "integrity": "sha1-bVUtRlzOBCP1s9cYUR6lOCansvA=", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", + "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.8.tgz", + "integrity": "sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmmirror.com/es-module-lexer/download/es-module-lexer-0.9.3.tgz", + "integrity": "sha1-bxPbAMw4QXE32vdDZvU1yOtDjxk=", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/esbuild": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild/download/esbuild-0.13.8.tgz?cache=0&sync_timestamp=1634439358064&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild%2Fdownload%2Fesbuild-0.13.8.tgz", + "integrity": "sha1-vXzFG4gasGd4n4jhe6ynRyTB7E8=", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "esbuild-android-arm64": "0.13.8", + "esbuild-darwin-64": "0.13.8", + "esbuild-darwin-arm64": "0.13.8", + "esbuild-freebsd-64": "0.13.8", + "esbuild-freebsd-arm64": "0.13.8", + "esbuild-linux-32": "0.13.8", + "esbuild-linux-64": "0.13.8", + "esbuild-linux-arm": "0.13.8", + "esbuild-linux-arm64": "0.13.8", + "esbuild-linux-mips64le": "0.13.8", + "esbuild-linux-ppc64le": "0.13.8", + "esbuild-netbsd-64": "0.13.8", + "esbuild-openbsd-64": "0.13.8", + "esbuild-sunos-64": "0.13.8", + "esbuild-windows-32": "0.13.8", + "esbuild-windows-64": "0.13.8", + "esbuild-windows-arm64": "0.13.8" + }, + "bin": { + "esbuild": "bin/esbuild" + }, + "optionalDependencies": { + "esbuild-android-arm64": "0.13.8", + "esbuild-darwin-64": "0.13.8", + "esbuild-darwin-arm64": "0.13.8", + "esbuild-freebsd-64": "0.13.8", + "esbuild-freebsd-arm64": "0.13.8", + "esbuild-linux-32": "0.13.8", + "esbuild-linux-64": "0.13.8", + "esbuild-linux-arm": "0.13.8", + "esbuild-linux-arm64": "0.13.8", + "esbuild-linux-mips64le": "0.13.8", + "esbuild-linux-ppc64le": "0.13.8", + "esbuild-netbsd-64": "0.13.8", + "esbuild-openbsd-64": "0.13.8", + "esbuild-sunos-64": "0.13.8", + "esbuild-windows-32": "0.13.8", + "esbuild-windows-64": "0.13.8", + "esbuild-windows-arm64": "0.13.8" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-android-arm64/download/esbuild-android-arm64-0.13.8.tgz", + "integrity": "sha1-wg6HXDyYFksf+6myhje9+W9ennw=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/esbuild-darwin-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-64/download/esbuild-darwin-64-0.13.8.tgz", + "integrity": "sha1-9G5rRx3b9iJlI0gIpqGqkd8YpBc=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/download/esbuild-darwin-arm64-0.13.8.tgz", + "integrity": "sha1-qZEVemAT+s1PLhQVm32lJibJAVQ=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/download/esbuild-freebsd-64-0.13.8.tgz", + "integrity": "sha1-MBYB0uRDrUWJYONZtAKhfZUAvp0=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/download/esbuild-freebsd-arm64-0.13.8.tgz", + "integrity": "sha1-A5pjrMEuwIkgBsFH6iIeVfkSWp8=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/esbuild-linux-32": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-32/download/esbuild-linux-32-0.13.8.tgz", + "integrity": "sha1-xTe2fX5pS2C/onhlgUEoOMa6AoQ=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-64/download/esbuild-linux-64-0.13.8.tgz", + "integrity": "sha1-AJL8igZAAad3v6DjtCW7i+j5bmo=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-arm": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm/download/esbuild-linux-arm-0.13.8.tgz", + "integrity": "sha1-rWNPlr8pdVNpB665/bdaMZT03c4=", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/download/esbuild-linux-arm64-0.13.8.tgz", + "integrity": "sha1-XNPyu5JCEpcUgujbwlxK/QmygRA=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/download/esbuild-linux-mips64le-0.13.8.tgz", + "integrity": "sha1-V4V+3+v5v2V2bci+FjfyF5yZBXI=", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/download/esbuild-linux-ppc64le-0.13.8.tgz", + "integrity": "sha1-/bgqBZpbhrsQ+0IJG0689Ii5zUY=", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/download/esbuild-netbsd-64-0.13.8.tgz", + "integrity": "sha1-14eecSPTssBHVOzovQYapoZt7v8=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ] + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/download/esbuild-openbsd-64-0.13.8.tgz", + "integrity": "sha1-iLKAtssKP2rbYKvyf8UGxQajXPA=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/esbuild-sunos-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-sunos-64/download/esbuild-sunos-64-0.13.8.tgz", + "integrity": "sha1-Iprnx3AxlqWKzQ8Cka2b69qBXWM=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ] + }, + "node_modules/esbuild-windows-32": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-32/download/esbuild-windows-32-0.13.8.tgz", + "integrity": "sha1-iS0JPjKiHAyRNeWg/9w4Cutw52M=", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/esbuild-windows-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-64/download/esbuild-windows-64-0.13.8.tgz", + "integrity": "sha1-fe/Y15rju35vU7ZacZC+fa+QFoY=", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/download/esbuild-windows-arm64-0.13.8.tgz", + "integrity": "sha1-5ZrgBElv2KWrZ7/HlFouR0gNb7k=", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz", + "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.nlark.com/eslint-scope/download/eslint-scope-5.1.1.tgz", + "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz?cache=0&sync_timestamp=1598899004767&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesrecurse%2Fdownload%2Fesrecurse-4.3.0.tgz", + "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", + "dev": true, + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/estree-walker/download/estree-walker-2.0.2.tgz", + "integrity": "sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw=" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/events/download/events-3.3.0.tgz", + "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true, + "peer": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", + "dev": true, + "peer": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz", + "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", + "dev": true, + "optional": true, + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", + "dev": true + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz", + "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.4.1.tgz", + "integrity": "sha1-x1KXCHyFG5pXi9IX3VmpL1n+VG4=", + "dev": true, + "peer": true + }, + "node_modules/graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.8.tgz", + "integrity": "sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo=", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443484522&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz", + "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz", + "integrity": "sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/htmlparser2/download/htmlparser2-6.1.0.tgz", + "integrity": "sha1-xNditsM3GgXb5l6UrkOp+EX7j7c=", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.0.tgz?cache=0&sync_timestamp=1634237061095&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.8.0.tgz", + "integrity": "sha1-AyEzbD0JJeSX/Zf12VyxFKXM1Ug=", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/is-expression/download/is-expression-4.0.0.tgz", + "integrity": "sha1-wzFVliq/IdCv0lUlFNZ9LsFv0qs=", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/is-promise/download/is-promise-2.2.2.tgz", + "integrity": "sha1-OauVnMv5p3TPB597QMeib3YxNfE=", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz?cache=0&sync_timestamp=1628223915149&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.4.tgz", + "integrity": "sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/is-what/download/is-what-3.14.1.tgz?cache=0&sync_timestamp=1634283375645&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-what%2Fdownload%2Fis-what-3.14.1.tgz", + "integrity": "sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE=", + "dev": true + }, + "node_modules/jest-worker": { + "version": "27.3.1", + "resolved": "https://registry.npmmirror.com/jest-worker/download/jest-worker-27.3.1.tgz", + "integrity": "sha1-De9/6uW4BCvjhHl5mut7X6ysJLI=", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/js-stringify/download/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", + "dev": true, + "peer": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true, + "peer": true + }, + "node_modules/jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.nlark.com/jsonc-parser/download/jsonc-parser-2.3.1.tgz", + "integrity": "sha1-WVSRULEz8u+sykj+nOHsBlmvI0I=", + "dev": true + }, + "node_modules/jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/jstransformer/download/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "dev": true, + "dependencies": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "node_modules/klona": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/klona/download/klona-2.0.4.tgz", + "integrity": "sha1-e7Hjr/sMuGJFR+9+j2cI6i4538A=", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/less": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/less/download/less-4.1.2.tgz", + "integrity": "sha1-YJnuWEmZdQwmJLZfgBRfhnTktLA=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^2.5.2", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^2.5.2", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmmirror.com/less-loader/download/less-loader-10.2.0.tgz?cache=0&sync_timestamp=1634563207805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fless-loader%2Fdownload%2Fless-loader-10.2.0.tgz", + "integrity": "sha1-lyhth5fcPcBbHRaw7OxflovdTjI=", + "dev": true, + "license": "MIT", + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-4.2.0.tgz?cache=0&sync_timestamp=1610027852811&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-4.2.0.tgz", + "integrity": "sha1-1wIjgNZtFMX7HUlriYZOvP1Hg4Q=", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz?cache=0&sync_timestamp=1615982572805&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-6.0.0.tgz", + "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.nlark.com/magic-string/download/magic-string-0.25.7.tgz?cache=0&sync_timestamp=1618847046304&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmagic-string%2Fdownload%2Fmagic-string-0.25.7.tgz", + "integrity": "sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE=", + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", + "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", + "dev": true, + "peer": true + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.50.0", + "resolved": "https://registry.nlark.com/mime-db/download/mime-db-1.50.0.tgz", + "integrity": "sha1-q9SslOmNPA4YUBbGerRdX95AwR8=", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.33", + "resolved": "https://registry.npmmirror.com/mime-types/download/mime-types-2.1.33.tgz?cache=0&sync_timestamp=1633108207787&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.33.tgz", + "integrity": "sha1-H6EqkERy+v0GjkjZ6EAfdNP3Dts=", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mime-db": "1.50.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.3.tgz?cache=0&sync_timestamp=1632788512775&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fms%2Fdownload%2Fms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", + "dev": true, + "optional": true + }, + "node_modules/nanoid": { + "version": "3.1.30", + "resolved": "https://registry.npmmirror.com/nanoid/download/nanoid-3.1.30.tgz?cache=0&sync_timestamp=1634166241996&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnanoid%2Fdownload%2Fnanoid-3.1.30.tgz", + "integrity": "sha1-Y/k8xUjSoRPcXfvGO/oJ4rm2Q2I=", + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/needle": { + "version": "2.9.1", + "resolved": "https://registry.nlark.com/needle/download/needle-2.9.1.tgz", + "integrity": "sha1-ItHf++NJDCuD4wH3cJtnNs2PJoQ=", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz", + "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", + "dev": true, + "peer": true + }, + "node_modules/node-releases": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.0.tgz", + "integrity": "sha1-Z9x0kDEAp96wRAN7ii5fRTuwVAA=", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628812721654&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dev": true, + "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/parse-node-version/download/parse-node-version-1.0.1.tgz", + "integrity": "sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "dev": true + }, + "node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz?cache=0&sync_timestamp=1634093378416&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "license": "ISC" + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz?cache=0&sync_timestamp=1593529716831&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/postcss": { + "version": "8.3.9", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-8.3.9.tgz", + "integrity": "sha1-mHVMqgbE7p61nMSL0HO7a9NDfDE=", + "license": "MIT", + "dependencies": { + "nanoid": "^3.1.28", + "picocolors": "^0.2.1", + "source-map-js": "^0.6.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.nlark.com/promise/download/promise-7.3.1.tgz", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "dev": true, + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true, + "optional": true + }, + "node_modules/pug": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/pug/download/pug-3.0.2.tgz", + "integrity": "sha1-81xxBzQ0VOQ7wnrg/3bHMbeOpTU=", + "dev": true, + "dependencies": { + "pug-code-gen": "^3.0.2", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "node_modules/pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pug-attrs/download/pug-attrs-3.0.0.tgz", + "integrity": "sha1-sQRR4DSBZeMfrRzCPr3dncc0fEE=", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "node_modules/pug-code-gen": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/pug-code-gen/download/pug-code-gen-3.0.2.tgz", + "integrity": "sha1-rRkPSUMTO/GGtguA3kgxAOEy4s4=", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.0.0", + "pug-runtime": "^3.0.0", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "node_modules/pug-error": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pug-error/download/pug-error-2.0.0.tgz", + "integrity": "sha1-XGIXPLCcNN4qLOBPF7it/sdNjKU=", + "dev": true + }, + "node_modules/pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/pug-filters/download/pug-filters-4.0.0.tgz", + "integrity": "sha1-0+Sa9bqEcum3pm2YDnB86dLMm14=", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "node_modules/pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/pug-lexer/download/pug-lexer-5.0.1.tgz", + "integrity": "sha1-rkRijFvvmxkLZlaDsojKkCS4sNU=", + "dev": true, + "dependencies": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/pug-linker/download/pug-linker-4.0.0.tgz", + "integrity": "sha1-EsvAWU/Fo+Brn8Web5PBRpYqdwg=", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pug-load/download/pug-load-3.0.0.tgz", + "integrity": "sha1-n9nNpSICsIrbEdJWgfufNL1BtmI=", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/pug-parser/download/pug-parser-6.0.0.tgz", + "integrity": "sha1-qP3ANYY6lbLB3F6/Ts+AtOdqEmA=", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "node_modules/pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/pug-runtime/download/pug-runtime-3.0.1.tgz", + "integrity": "sha1-9jaXYgRyPzWoxfb61qzaKhkbg9c=", + "dev": true + }, + "node_modules/pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/pug-strip-comments/download/pug-strip-comments-2.0.0.tgz", + "integrity": "sha1-+UsH/WtJVSMzD0kKf1VLT/h2MD4=", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pug-walk/download/pug-walk-2.0.0.tgz", + "integrity": "sha1-QXqrwpIyu0SZtbUGmistKiTV9f4=", + "dev": true + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/request-light": { + "version": "0.5.4", + "resolved": "https://registry.npmmirror.com/request-light/download/request-light-0.5.4.tgz", + "integrity": "sha1-SXqYxtiuSVNkF6Xi1/ODuTTz44w=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "node_modules/rollup": { + "version": "2.58.0", + "resolved": "https://registry.npmmirror.com/rollup/download/rollup-2.58.0.tgz", + "integrity": "sha1-pkOYM2Xnv39bfGKoMxuYO3xMZ/s=", + "dev": true, + "license": "MIT", + "dependencies": { + "fsevents": "~2.3.2" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "dev": true, + "peer": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true, + "optional": true + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true, + "optional": true + }, + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-6.0.0.tgz", + "integrity": "sha1-765diPRdeSQUHai1w6en5mP+/rg=", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.nlark.com/source-map-js/download/source-map-js-0.6.2.tgz", + "integrity": "sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.20", + "resolved": "https://registry.nlark.com/source-map-support/download/source-map-support-0.5.20.tgz", + "integrity": "sha1-EhZgifj15ejFaSazd2Mzkt0stsk=", + "dev": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.nlark.com/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz", + "integrity": "sha1-6oBL2UhXQC5pktBaOO8a41qatMQ=" + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-8.1.1.tgz?cache=0&sync_timestamp=1626703414084&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/tapable/download/tapable-2.2.1.tgz?cache=0&sync_timestamp=1631526982870&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftapable%2Fdownload%2Ftapable-2.2.1.tgz", + "integrity": "sha1-GWenPvQGCoLxKrlq+G1S/bdu7KA=", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.9.0", + "resolved": "https://registry.nlark.com/terser/download/terser-5.9.0.tgz", + "integrity": "sha1-R9bmKaUiljJA8rVfyqPJkIPSw1E=", + "dev": true, + "peer": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.2.4", + "resolved": "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-5.2.4.tgz?cache=0&sync_timestamp=1631202398853&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-5.2.4.tgz", + "integrity": "sha1-rRvnY5scvj6kn6uZXL5yJLMXR6E=", + "dev": true, + "peer": true, + "dependencies": { + "jest-worker": "^27.0.6", + "p-limit": "^3.1.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz", + "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "dev": true, + "peer": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1628418855671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/token-stream": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/token-stream/download/token-stream-1.0.0.tgz", + "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=", + "dev": true + }, + "node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.1.tgz?cache=0&sync_timestamp=1628722580350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.1.tgz", + "integrity": "sha1-6KM1rdXOrlGqJh0ypJAVjvBC7wE=", + "dev": true + }, + "node_modules/typescript": { + "version": "4.4.4", + "resolved": "https://registry.npmmirror.com/typescript/download/typescript-4.4.4.tgz?cache=0&sync_timestamp=1634627805458&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftypescript%2Fdownload%2Ftypescript-4.4.4.tgz", + "integrity": "sha1-LNAaGh8WBwTTEB/VpY/w+fy4Aww=", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/upath": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/upath/download/upath-2.0.1.tgz", + "integrity": "sha1-UMc96mjW9rmQ9R0nnOYIFmXWGos=", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.nlark.com/uri-js/download/uri-js-4.4.1.tgz", + "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", + "dev": true, + "peer": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "2.6.10", + "resolved": "https://registry.npmmirror.com/vite/download/vite-2.6.10.tgz", + "integrity": "sha1-ek9CDG4sfZBix/nORXioF8crOEI=", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.13.2", + "fsevents": "~2.3.2", + "postcss": "^8.3.8", + "resolve": "^1.20.0", + "rollup": "^2.57.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": ">=12.2.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "less": "*", + "sass": "*", + "stylus": "*" + }, + "peerDependenciesMeta": { + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + } + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/void-elements/download/void-elements-3.1.0.tgz", + "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vscode-css-languageservice": { + "version": "5.1.7", + "resolved": "https://registry.npmmirror.com/vscode-css-languageservice/download/vscode-css-languageservice-5.1.7.tgz?cache=0&sync_timestamp=1632845171641&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvscode-css-languageservice%2Fdownload%2Fvscode-css-languageservice-5.1.7.tgz", + "integrity": "sha1-67+AOwP95Tm9aDWIzS2mxKYbkOI=", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + } + }, + "node_modules/vscode-html-languageservice": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/vscode-html-languageservice/download/vscode-html-languageservice-4.1.0.tgz", + "integrity": "sha1-4WYvH/O2I7kQxU0/Siqtjzl+U9c=", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + } + }, + "node_modules/vscode-json-languageservice": { + "version": "4.1.8", + "resolved": "https://registry.npmmirror.com/vscode-json-languageservice/download/vscode-json-languageservice-4.1.8.tgz", + "integrity": "sha1-OXo5I41Jbj4IpUSouT3yzRM0fQw=", + "dev": true, + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + }, + "engines": { + "npm": ">=7.0.0" + } + }, + "node_modules/vscode-json-languageservice/node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/jsonc-parser/download/jsonc-parser-3.0.0.tgz", + "integrity": "sha1-q914VwHH5+rKip7IzwcMpRp0WiI=", + "dev": true + }, + "node_modules/vscode-jsonrpc": { + "version": "8.0.0-next.3", + "resolved": "https://registry.npmmirror.com/vscode-jsonrpc/download/vscode-jsonrpc-8.0.0-next.3.tgz", + "integrity": "sha1-tV7f8OVQsD84BKreRKyiaZryclU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0 || >=10.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "8.0.0-next.3", + "resolved": "https://registry.npmmirror.com/vscode-languageserver/download/vscode-languageserver-8.0.0-next.3.tgz", + "integrity": "sha1-NscBpoROwmlQVTnjuEo3aTdgpS8=", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.0-next.9" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.0-next.9", + "resolved": "https://registry.npmmirror.com/vscode-languageserver-protocol/download/vscode-languageserver-protocol-3.17.0-next.9.tgz", + "integrity": "sha1-D9StQ2EclqzYPY2Zjb52Zo9g5gQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.0.0-next.3", + "vscode-languageserver-types": "3.17.0-next.4" + } + }, + "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { + "version": "3.17.0-next.4", + "resolved": "https://registry.npmmirror.com/vscode-languageserver-types/download/vscode-languageserver-types-3.17.0-next.4.tgz", + "integrity": "sha1-9niLN17BY9qLOB8vPj9UfLx/vuw=", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/vscode-languageserver-textdocument/download/vscode-languageserver-textdocument-1.0.2.tgz", + "integrity": "sha1-L59r1bXrPY4hQkwMNnAJIW8BYjY=", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmmirror.com/vscode-languageserver-types/download/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha1-7POT/BIexpdLLaPvsxVWRMUU4kc=", + "dev": true + }, + "node_modules/vscode-nls": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/vscode-nls/download/vscode-nls-5.0.0.tgz", + "integrity": "sha1-mfDaC9nqfNpE5WWnTFSx8rwleEA=", + "dev": true + }, + "node_modules/vscode-pug-languageservice": { + "version": "0.27.24", + "resolved": "https://registry.npmmirror.com/vscode-pug-languageservice/download/vscode-pug-languageservice-0.27.24.tgz?cache=0&sync_timestamp=1634525902153&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvscode-pug-languageservice%2Fdownload%2Fvscode-pug-languageservice-0.27.24.tgz", + "integrity": "sha1-+oBcTT4z3uNoHmYKB2cTZzjmg3A=", + "dev": true, + "dependencies": { + "@volar/code-gen": "^0.27.24", + "@volar/shared": "^0.27.24", + "@volar/source-map": "^0.27.24", + "@volar/transforms": "^0.27.24", + "pug-lexer": "^5.0.1", + "pug-parser": "^6.0.0", + "vscode-languageserver": "^8.0.0-next.2" + } + }, + "node_modules/vscode-typescript-languageservice": { + "version": "0.27.25", + "resolved": "https://registry.npmmirror.com/vscode-typescript-languageservice/download/vscode-typescript-languageservice-0.27.25.tgz?cache=0&sync_timestamp=1634525899745&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvscode-typescript-languageservice%2Fdownload%2Fvscode-typescript-languageservice-0.27.25.tgz", + "integrity": "sha1-rNIRcjtgAQjCVRU4i3XVXOFbsFY=", + "dev": true, + "dependencies": { + "@volar/shared": "^0.27.24", + "semver": "^7.3.5", + "upath": "^2.0.1", + "vscode-languageserver": "^8.0.0-next.2", + "vscode-languageserver-textdocument": "^1.0.1" + } + }, + "node_modules/vscode-uri": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/vscode-uri/download/vscode-uri-3.0.2.tgz", + "integrity": "sha1-7P0dBmy470w6II3s26uajCPQVdA=", + "dev": true + }, + "node_modules/vscode-vue-languageservice": { + "version": "0.27.30", + "resolved": "https://registry.npmmirror.com/vscode-vue-languageservice/download/vscode-vue-languageservice-0.27.30.tgz?cache=0&sync_timestamp=1634525905894&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvscode-vue-languageservice%2Fdownload%2Fvscode-vue-languageservice-0.27.30.tgz", + "integrity": "sha1-HzKwID3SM1gvdKRXQoUZpjGPA54=", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/code-gen": "^0.27.24", + "@volar/html2pug": "^0.27.13", + "@volar/shared": "^0.27.24", + "@volar/source-map": "^0.27.24", + "@volar/transforms": "^0.27.24", + "@vscode/emmet-helper": "^2.7.0", + "@vue/compiler-dom": "^3.2.19", + "@vue/reactivity": "^3.2.19", + "@vue/shared": "^3.2.19", + "request-light": "^0.5.4", + "upath": "^2.0.1", + "vscode-css-languageservice": "^5.1.4", + "vscode-html-languageservice": "^4.0.7", + "vscode-json-languageservice": "^4.1.7", + "vscode-languageserver": "^8.0.0-next.2", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-pug-languageservice": "^0.27.24", + "vscode-typescript-languageservice": "^0.27.25" + } + }, + "node_modules/vue": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/vue/download/vue-3.2.20.tgz", + "integrity": "sha1-lA+KqL8+O+eCQ8pYK61B/NRa4+Y=", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.2.20", + "@vue/compiler-sfc": "3.2.20", + "@vue/runtime-dom": "3.2.20", + "@vue/server-renderer": "3.2.20", + "@vue/shared": "3.2.20" + } + }, + "node_modules/vue-router": { + "version": "4.0.12", + "resolved": "https://registry.npmmirror.com/vue-router/download/vue-router-4.0.12.tgz?cache=0&sync_timestamp=1634663514839&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvue-router%2Fdownload%2Fvue-router-4.0.12.tgz", + "integrity": "sha1-jceSzd9bsavMOQj5BkE23n4TxGA=", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.0.0-beta.18" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-tsc": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/vue-tsc/download/vue-tsc-0.3.0.tgz?cache=0&sync_timestamp=1634525906016&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvue-tsc%2Fdownload%2Fvue-tsc-0.3.0.tgz", + "integrity": "sha1-Ozhyv08dLkQJtXrb2CYDLiU9tAY=", + "dev": true, + "dependencies": { + "vscode-vue-languageservice": "^0.27.0" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/watchpack": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/watchpack/download/watchpack-2.2.0.tgz", + "integrity": "sha1-R9ePVBX+VQ7NdA+Z/iiCMjpYsc4=", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.59.0", + "resolved": "https://registry.npmmirror.com/webpack/download/webpack-5.59.0.tgz?cache=0&sync_timestamp=1634666267884&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack%2Fdownload%2Fwebpack-5.59.0.tgz", + "integrity": "sha1-pQOPwNTZNQ7lKOfh4CgggMY+/PU=", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-3.2.1.tgz", + "integrity": "sha1-JRp9lyDXWtoUacoH27YvNkGgW20=", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "8.5.0", + "resolved": "https://registry.nlark.com/acorn/download/acorn-8.5.0.tgz?cache=0&sync_timestamp=1630916517167&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-8.5.0.tgz", + "integrity": "sha1-RRLMuZs2mMdSWR6btEcuOK1DzuI=", + "dev": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/download/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha1-uitZOc5iwjjbbZPYHJsRGym4Vek=", + "dev": true, + "license": "MIT", + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/with": { + "version": "7.0.2", + "resolved": "https://registry.npm.taobao.org/with/download/with-7.0.2.tgz", + "integrity": "sha1-zO461ULSVTinp6gKrSErmChJW6w=", + "dev": true, + "dependencies": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz", + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + } + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k=", + "dev": true + }, + "@babel/parser": { + "version": "7.15.8", + "resolved": "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.15.8.tgz", + "integrity": "sha1-e6zcvnG9w/+TbVEMFdzqfPC5kBY=" + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.15.6.tgz", + "integrity": "sha1-mavcSCGLKIHAWN0KerBbmcm+dY8=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "@emmetio/abbreviation": { + "version": "2.2.2", + "resolved": "https://registry.nlark.com/@emmetio/abbreviation/download/@emmetio/abbreviation-2.2.2.tgz", + "integrity": "sha1-dGdi/Z56jC6mBPWAxi48/iUOaYk=", + "dev": true, + "requires": { + "@emmetio/scanner": "^1.0.0" + } + }, + "@emmetio/css-abbreviation": { + "version": "2.1.4", + "resolved": "https://registry.nlark.com/@emmetio/css-abbreviation/download/@emmetio/css-abbreviation-2.1.4.tgz", + "integrity": "sha1-kDYuihEizjt29sMVeQfTAYL1P1Q=", + "dev": true, + "requires": { + "@emmetio/scanner": "^1.0.0" + } + }, + "@emmetio/scanner": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/@emmetio/scanner/download/@emmetio/scanner-1.0.0.tgz", + "integrity": "sha1-Blsq9iM/50dNRII+PeuJckr0K18=", + "dev": true + }, + "@types/eslint": { + "version": "7.28.1", + "resolved": "https://registry.npmmirror.com/@types/eslint/download/@types/eslint-7.28.1.tgz", + "integrity": "sha1-ULB3R/H4TCuozTlM8P4LoHr84yA=", + "dev": true, + "peer": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.nlark.com/@types/eslint-scope/download/@types/eslint-scope-3.7.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Feslint-scope%2Fdownload%2F%40types%2Feslint-scope-3.7.1.tgz", + "integrity": "sha1-jcOQp7T53Z8ShGKe/OmC5BYSEW4=", + "dev": true, + "peer": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.nlark.com/@types/estree/download/@types/estree-0.0.50.tgz", + "integrity": "sha1-Hgyqk2TT/M0pMcPtlv2+ql1MyoM=", + "dev": true, + "peer": true + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz?cache=0&sync_timestamp=1629708346907&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.9.tgz", + "integrity": "sha1-l+3JA36gw4WFMgsolk3eOznkZg0=", + "dev": true, + "peer": true + }, + "@types/node": { + "version": "16.11.1", + "resolved": "https://registry.npmmirror.com/@types/node/download/@types/node-16.11.1.tgz?cache=0&sync_timestamp=1634443414534&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-16.11.1.tgz", + "integrity": "sha1-LlCmSaUPxANDOhT4Ke+s4aNEPpc=", + "dev": true, + "peer": true + }, + "@vitejs/plugin-vue": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/download/@vitejs/plugin-vue-1.9.3.tgz", + "integrity": "sha1-k9YYk85scj0CCa8Eg+yLkaLNgR8=", + "dev": true, + "requires": {} + }, + "@volar/code-gen": { + "version": "0.27.24", + "resolved": "https://registry.npmmirror.com/@volar/code-gen/download/@volar/code-gen-0.27.24.tgz?cache=0&sync_timestamp=1634525899573&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40volar%2Fcode-gen%2Fdownload%2F%40volar%2Fcode-gen-0.27.24.tgz", + "integrity": "sha1-zNvoWJUcHuTgw5eSMtUkEtxGdWo=", + "dev": true, + "requires": { + "@volar/shared": "^0.27.24", + "@volar/source-map": "^0.27.24" + } + }, + "@volar/html2pug": { + "version": "0.27.13", + "resolved": "https://registry.npmmirror.com/@volar/html2pug/download/@volar/html2pug-0.27.13.tgz?cache=0&sync_timestamp=1634525896799&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40volar%2Fhtml2pug%2Fdownload%2F%40volar%2Fhtml2pug-0.27.13.tgz", + "integrity": "sha1-SN+nPs8e8ZVaAqBG0MiIRZUPrIU=", + "dev": true, + "requires": { + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0", + "htmlparser2": "^6.1.0", + "pug": "^3.0.2" + } + }, + "@volar/shared": { + "version": "0.27.24", + "resolved": "https://registry.npmmirror.com/@volar/shared/download/@volar/shared-0.27.24.tgz", + "integrity": "sha1-ozRX7IrAsNNn7VTJ4hkTpfjC1sI=", + "dev": true, + "requires": { + "upath": "^2.0.1", + "vscode-jsonrpc": "^8.0.0-next.2", + "vscode-uri": "^3.0.2" + } + }, + "@volar/source-map": { + "version": "0.27.24", + "resolved": "https://registry.npmmirror.com/@volar/source-map/download/@volar/source-map-0.27.24.tgz?cache=0&sync_timestamp=1634525899596&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40volar%2Fsource-map%2Fdownload%2F%40volar%2Fsource-map-0.27.24.tgz", + "integrity": "sha1-YPLgcMFpvoLL9/+ilqMMKCPFIF8=", + "dev": true, + "requires": { + "@volar/shared": "^0.27.24" + } + }, + "@volar/transforms": { + "version": "0.27.24", + "resolved": "https://registry.npmmirror.com/@volar/transforms/download/@volar/transforms-0.27.24.tgz?cache=0&sync_timestamp=1634525899639&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40volar%2Ftransforms%2Fdownload%2F%40volar%2Ftransforms-0.27.24.tgz", + "integrity": "sha1-aOvFPcouNohOJHwIZuw9JO2BV4Q=", + "dev": true, + "requires": { + "@volar/shared": "^0.27.24", + "vscode-languageserver": "^8.0.0-next.2" + } + }, + "@vscode/emmet-helper": { + "version": "2.8.2", + "resolved": "https://registry.npmmirror.com/@vscode/emmet-helper/download/@vscode/emmet-helper-2.8.2.tgz", + "integrity": "sha1-myzk/dYs8/2kXPivZ8ASz85V7ck=", + "dev": true, + "requires": { + "emmet": "^2.3.0", + "jsonc-parser": "^2.3.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-nls": "^5.0.0", + "vscode-uri": "^2.1.2" + }, + "dependencies": { + "vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/vscode-uri/download/vscode-uri-2.1.2.tgz", + "integrity": "sha1-yNQN6T61evMfPHFd1lDiyiwJbxw=", + "dev": true + } + } + }, + "@vue/compiler-core": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/download/@vue/compiler-core-3.2.20.tgz?cache=0&sync_timestamp=1633712761777&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fcompiler-core%2Fdownload%2F%40vue%2Fcompiler-core-3.2.20.tgz", + "integrity": "sha1-r1o8UjeBiDWw0L6DfrWIWo0hwWA=", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.20", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/download/@vue/compiler-dom-3.2.20.tgz?cache=0&sync_timestamp=1633712762936&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fcompiler-dom%2Fdownload%2F%40vue%2Fcompiler-dom-3.2.20.tgz", + "integrity": "sha1-jg7zVEScD69BUZsAv8IEXq4B3LU=", + "requires": { + "@vue/compiler-core": "3.2.20", + "@vue/shared": "3.2.20" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.2.20.tgz?cache=0&sync_timestamp=1633712762379&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fcompiler-sfc%2Fdownload%2F%40vue%2Fcompiler-sfc-3.2.20.tgz", + "integrity": "sha1-LXZo528GbFZt18CcFcmszk6Hbgo=", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.20", + "@vue/compiler-dom": "3.2.20", + "@vue/compiler-ssr": "3.2.20", + "@vue/ref-transform": "3.2.20", + "@vue/shared": "3.2.20", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/download/@vue/compiler-ssr-3.2.20.tgz", + "integrity": "sha1-nM62Jh2ZMstVaCAmEMHCj4bF5SE=", + "requires": { + "@vue/compiler-dom": "3.2.20", + "@vue/shared": "3.2.20" + } + }, + "@vue/devtools-api": { + "version": "6.0.0-beta.19", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/download/@vue/devtools-api-6.0.0-beta.19.tgz", + "integrity": "sha1-+OiAWdqkJFFZkkJqDH6lzeB+mb8=" + }, + "@vue/reactivity": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/download/@vue/reactivity-3.2.20.tgz?cache=0&sync_timestamp=1633712785771&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Freactivity%2Fdownload%2F%40vue%2Freactivity-3.2.20.tgz", + "integrity": "sha1-gf4cNo5/ILwOwd7BBFu+4lNYLeg=", + "requires": { + "@vue/shared": "3.2.20" + } + }, + "@vue/ref-transform": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/ref-transform/download/@vue/ref-transform-3.2.20.tgz?cache=0&sync_timestamp=1633712763825&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fref-transform%2Fdownload%2F%40vue%2Fref-transform-3.2.20.tgz", + "integrity": "sha1-KlnskMr45cczZ3agkAv/CouBwJA=", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.20", + "@vue/shared": "3.2.20", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/runtime-core": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/download/@vue/runtime-core-3.2.20.tgz?cache=0&sync_timestamp=1633712786645&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fruntime-core%2Fdownload%2F%40vue%2Fruntime-core-3.2.20.tgz", + "integrity": "sha1-j2PpVqP4j7dyVBRDxFp3ASEQEss=", + "requires": { + "@vue/reactivity": "3.2.20", + "@vue/shared": "3.2.20" + } + }, + "@vue/runtime-dom": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/download/@vue/runtime-dom-3.2.20.tgz?cache=0&sync_timestamp=1633712766458&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fruntime-dom%2Fdownload%2F%40vue%2Fruntime-dom-3.2.20.tgz", + "integrity": "sha1-iqVq5sMPnNSnHKDp7DxL3GcUjRU=", + "requires": { + "@vue/runtime-core": "3.2.20", + "@vue/shared": "3.2.20", + "csstype": "^2.6.8" + } + }, + "@vue/server-renderer": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/download/@vue/server-renderer-3.2.20.tgz?cache=0&sync_timestamp=1633713532607&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fserver-renderer%2Fdownload%2F%40vue%2Fserver-renderer-3.2.20.tgz", + "integrity": "sha1-cF4HrpQlEysrYifTCKUaE/TU7IE=", + "requires": { + "@vue/compiler-ssr": "3.2.20", + "@vue/shared": "3.2.20" + } + }, + "@vue/shared": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/@vue/shared/download/@vue/shared-3.2.20.tgz?cache=0&sync_timestamp=1633712765807&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Fshared%2Fdownload%2F%40vue%2Fshared-3.2.20.tgz", + "integrity": "sha1-U3RpYfcxqOpmbjMWJx6UQjjcMds=" + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.11.1.tgz", + "integrity": "sha1-K/12fq4aaZb0Mv9+jX/HVnnAtqc=", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha1-9sYacF8P16auyqToGY8j2dwXnk8=", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.11.1.tgz?cache=0&sync_timestamp=1625473346773&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.11.1.tgz", + "integrity": "sha1-GmMZLYeI5cASgAump6RscFKI/RY=", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.11.1.tgz", + "integrity": "sha1-gyqQDrREiEzemnytRn+BUA9eWrU=", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-numbers/download/@webassemblyjs/helper-numbers-1.11.1.tgz", + "integrity": "sha1-ZNgdohn7u6HjvRv8dPboxOEKYq4=", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha1-8ygkHkHnsZnQsgwY6IQpxEMyleE=", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.11.1.tgz", + "integrity": "sha1-Ie4GWntjXzGec48N1zv72igcCXo=", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.11.1.tgz?cache=0&sync_timestamp=1625473413840&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.11.1.tgz", + "integrity": "sha1-ljkp6bvQVwnn4SJDoJkYCBKZJhQ=", + "dev": true, + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.11.1.tgz", + "integrity": "sha1-zoFLRVdOk9drrh+yZEq5zdlSeqU=", + "dev": true, + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.11.1.tgz?cache=0&sync_timestamp=1625473414168&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.11.1.tgz", + "integrity": "sha1-0fi3ZDaefG5rrjUOhU3smlnwo/8=", + "dev": true, + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.11.1.tgz", + "integrity": "sha1-rSBuv0v5WgWM6YgKjAksXeyBk9Y=", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.11.1.tgz", + "integrity": "sha1-hsXqMEhJdZt9iMR6MvTwOa48j3Y=", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.11.1.tgz", + "integrity": "sha1-ZXtMIgL0zzs0X4pMZGHIwkGJhfI=", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.11.1.tgz", + "integrity": "sha1-hspzRTT0F+m9PGfHocddi+QfsZk=", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.11.1.tgz", + "integrity": "sha1-0Mc77ajuxUJvEK6O9VzuXnCEwvA=", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", + "dev": true, + "peer": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.nlark.com/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", + "dev": true, + "peer": true + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1630916517167&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz", + "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1631493758159&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz", + "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", + "dev": true, + "peer": true, + "requires": {} + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.nlark.com/asap/download/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "assert-never": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/assert-never/download/assert-never-1.2.1.tgz", + "integrity": "sha1-EfDjY78UYgX7CBk7XHuQ9NHPRP4=", + "dev": true + }, + "babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.nlark.com/babel-walk/download/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha1-9m7Ncpg1eu5ElV8jWm71QhkQSxE=", + "dev": true, + "requires": { + "@babel/types": "^7.9.6" + } + }, + "browserslist": { + "version": "4.17.4", + "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-4.17.4.tgz", + "integrity": "sha1-cuJQivKkA67ApJhH7zG9gjxX6tQ=", + "dev": true, + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30001265", + "electron-to-chromium": "^1.3.867", + "escalade": "^3.1.1", + "node-releases": "^2.0.0", + "picocolors": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz?cache=0&sync_timestamp=1634093378416&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-1.0.0.tgz", + "integrity": "sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=", + "dev": true, + "peer": true + } + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz?cache=0&sync_timestamp=1627578710888&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbuffer-from%2Fdownload%2Fbuffer-from-1.1.2.tgz", + "integrity": "sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=", + "dev": true, + "peer": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz", + "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caniuse-lite": { + "version": "1.0.30001269", + "resolved": "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001269.tgz?cache=0&sync_timestamp=1634446545470&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001269.tgz", + "integrity": "sha1-OnG+4D32JzZEGPn9Ma38eqHMLVY=", + "dev": true, + "peer": true + }, + "character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/character-parser/download/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "dev": true, + "requires": { + "is-regex": "^1.0.3" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz?cache=0&sync_timestamp=1617905865899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchrome-trace-event%2Fdownload%2Fchrome-trace-event-1.0.3.tgz", + "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=", + "dev": true, + "peer": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1631257724267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", + "dev": true, + "peer": true + }, + "constantinople": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/constantinople/download/constantinople-4.0.1.tgz", + "integrity": "sha1-De8RP6Dk3I3oMzGlz3nIsyUhMVE=", + "dev": true, + "requires": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, + "copy-anything": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/copy-anything/download/copy-anything-2.0.3.tgz?cache=0&sync_timestamp=1612447113795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcopy-anything%2Fdownload%2Fcopy-anything-2.0.3.tgz", + "integrity": "sha1-hCQHugJGaw34RIGbvjuuu+XUXYc=", + "dev": true, + "requires": { + "is-what": "^3.12.0" + } + }, + "csstype": { + "version": "2.6.18", + "resolved": "https://registry.nlark.com/csstype/download/csstype-2.6.18.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.18.tgz", + "integrity": "sha1-mAqLUwhfNK8xNBCvBk8r0kF4Qhg=" + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.nlark.com/debug/download/debug-3.2.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctypes": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/doctypes/download/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", + "dev": true + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz?cache=0&sync_timestamp=1621256858583&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-1.3.2.tgz", + "integrity": "sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&sync_timestamp=1617298545989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz", + "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", + "dev": true + }, + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.nlark.com/domhandler/download/domhandler-4.2.2.tgz?cache=0&sync_timestamp=1630246778110&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomhandler%2Fdownload%2Fdomhandler-4.2.2.tgz", + "integrity": "sha1-6CXXIdGahrjCAaNSZOImxnjudV8=", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.nlark.com/domutils/download/domutils-2.8.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-2.8.0.tgz", + "integrity": "sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU=", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "electron-to-chromium": { + "version": "1.3.873", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.3.873.tgz", + "integrity": "sha1-wjjJGZ5JUZUv6BWmXBvqtdtIJrg=", + "dev": true, + "peer": true + }, + "emmet": { + "version": "2.3.4", + "resolved": "https://registry.nlark.com/emmet/download/emmet-2.3.4.tgz", + "integrity": "sha1-W6DXpVaaaMdpffqJDHcuTzF50SM=", + "dev": true, + "requires": { + "@emmetio/abbreviation": "^2.2.2", + "@emmetio/css-abbreviation": "^2.1.4" + } + }, + "enhanced-resolve": { + "version": "5.8.3", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-5.8.3.tgz?cache=0&sync_timestamp=1632130912600&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-5.8.3.tgz", + "integrity": "sha1-bVUtRlzOBCP1s9cYUR6lOCansvA=", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", + "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.8.tgz", + "integrity": "sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=", + "dev": true, + "optional": true, + "requires": { + "prr": "~1.0.1" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmmirror.com/es-module-lexer/download/es-module-lexer-0.9.3.tgz", + "integrity": "sha1-bxPbAMw4QXE32vdDZvU1yOtDjxk=", + "dev": true, + "peer": true + }, + "esbuild": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild/download/esbuild-0.13.8.tgz?cache=0&sync_timestamp=1634439358064&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild%2Fdownload%2Fesbuild-0.13.8.tgz", + "integrity": "sha1-vXzFG4gasGd4n4jhe6ynRyTB7E8=", + "dev": true, + "requires": { + "esbuild-android-arm64": "0.13.8", + "esbuild-darwin-64": "0.13.8", + "esbuild-darwin-arm64": "0.13.8", + "esbuild-freebsd-64": "0.13.8", + "esbuild-freebsd-arm64": "0.13.8", + "esbuild-linux-32": "0.13.8", + "esbuild-linux-64": "0.13.8", + "esbuild-linux-arm": "0.13.8", + "esbuild-linux-arm64": "0.13.8", + "esbuild-linux-mips64le": "0.13.8", + "esbuild-linux-ppc64le": "0.13.8", + "esbuild-netbsd-64": "0.13.8", + "esbuild-openbsd-64": "0.13.8", + "esbuild-sunos-64": "0.13.8", + "esbuild-windows-32": "0.13.8", + "esbuild-windows-64": "0.13.8", + "esbuild-windows-arm64": "0.13.8" + } + }, + "esbuild-android-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-android-arm64/download/esbuild-android-arm64-0.13.8.tgz", + "integrity": "sha1-wg6HXDyYFksf+6myhje9+W9ennw=", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-64/download/esbuild-darwin-64-0.13.8.tgz", + "integrity": "sha1-9G5rRx3b9iJlI0gIpqGqkd8YpBc=", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/download/esbuild-darwin-arm64-0.13.8.tgz", + "integrity": "sha1-qZEVemAT+s1PLhQVm32lJibJAVQ=", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/download/esbuild-freebsd-64-0.13.8.tgz", + "integrity": "sha1-MBYB0uRDrUWJYONZtAKhfZUAvp0=", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/download/esbuild-freebsd-arm64-0.13.8.tgz", + "integrity": "sha1-A5pjrMEuwIkgBsFH6iIeVfkSWp8=", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-32/download/esbuild-linux-32-0.13.8.tgz", + "integrity": "sha1-xTe2fX5pS2C/onhlgUEoOMa6AoQ=", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-64/download/esbuild-linux-64-0.13.8.tgz", + "integrity": "sha1-AJL8igZAAad3v6DjtCW7i+j5bmo=", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm/download/esbuild-linux-arm-0.13.8.tgz", + "integrity": "sha1-rWNPlr8pdVNpB665/bdaMZT03c4=", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/download/esbuild-linux-arm64-0.13.8.tgz", + "integrity": "sha1-XNPyu5JCEpcUgujbwlxK/QmygRA=", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/download/esbuild-linux-mips64le-0.13.8.tgz", + "integrity": "sha1-V4V+3+v5v2V2bci+FjfyF5yZBXI=", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/download/esbuild-linux-ppc64le-0.13.8.tgz", + "integrity": "sha1-/bgqBZpbhrsQ+0IJG0689Ii5zUY=", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/download/esbuild-netbsd-64-0.13.8.tgz", + "integrity": "sha1-14eecSPTssBHVOzovQYapoZt7v8=", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/download/esbuild-openbsd-64-0.13.8.tgz", + "integrity": "sha1-iLKAtssKP2rbYKvyf8UGxQajXPA=", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-sunos-64/download/esbuild-sunos-64-0.13.8.tgz", + "integrity": "sha1-Iprnx3AxlqWKzQ8Cka2b69qBXWM=", + "dev": true, + "optional": true + }, + "esbuild-windows-32": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-32/download/esbuild-windows-32-0.13.8.tgz", + "integrity": "sha1-iS0JPjKiHAyRNeWg/9w4Cutw52M=", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-64/download/esbuild-windows-64-0.13.8.tgz", + "integrity": "sha1-fe/Y15rju35vU7ZacZC+fa+QFoY=", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/download/esbuild-windows-arm64-0.13.8.tgz", + "integrity": "sha1-5ZrgBElv2KWrZ7/HlFouR0gNb7k=", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz", + "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", + "dev": true, + "peer": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.nlark.com/eslint-scope/download/eslint-scope-5.1.1.tgz", + "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", + "dev": true, + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz?cache=0&sync_timestamp=1598899004767&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesrecurse%2Fdownload%2Fesrecurse-4.3.0.tgz", + "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", + "dev": true, + "peer": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz", + "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", + "dev": true, + "peer": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/estraverse/download/estraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "dev": true, + "peer": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/estree-walker/download/estree-walker-2.0.2.tgz", + "integrity": "sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw=" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/events/download/events-3.3.0.tgz", + "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=", + "dev": true, + "peer": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", + "dev": true, + "peer": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", + "dev": true, + "peer": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz", + "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz", + "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.4.1.tgz", + "integrity": "sha1-x1KXCHyFG5pXi9IX3VmpL1n+VG4=", + "dev": true, + "peer": true + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.8.tgz", + "integrity": "sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo=", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true, + "peer": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443484522&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz", + "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz", + "integrity": "sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/htmlparser2/download/htmlparser2-6.1.0.tgz", + "integrity": "sha1-xNditsM3GgXb5l6UrkOp+EX7j7c=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.0.tgz?cache=0&sync_timestamp=1634237061095&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.8.0.tgz", + "integrity": "sha1-AyEzbD0JJeSX/Zf12VyxFKXM1Ug=", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/is-expression/download/is-expression-4.0.0.tgz", + "integrity": "sha1-wzFVliq/IdCv0lUlFNZ9LsFv0qs=", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/is-promise/download/is-promise-2.2.2.tgz", + "integrity": "sha1-OauVnMv5p3TPB597QMeib3YxNfE=", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz?cache=0&sync_timestamp=1628223915149&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.4.tgz", + "integrity": "sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/is-what/download/is-what-3.14.1.tgz?cache=0&sync_timestamp=1634283375645&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-what%2Fdownload%2Fis-what-3.14.1.tgz", + "integrity": "sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE=", + "dev": true + }, + "jest-worker": { + "version": "27.3.1", + "resolved": "https://registry.npmmirror.com/jest-worker/download/jest-worker-27.3.1.tgz", + "integrity": "sha1-De9/6uW4BCvjhHl5mut7X6ysJLI=", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/js-stringify/download/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", + "dev": true, + "peer": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true, + "peer": true + }, + "jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.nlark.com/jsonc-parser/download/jsonc-parser-2.3.1.tgz", + "integrity": "sha1-WVSRULEz8u+sykj+nOHsBlmvI0I=", + "dev": true + }, + "jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/jstransformer/download/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "dev": true, + "requires": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/klona/download/klona-2.0.4.tgz", + "integrity": "sha1-e7Hjr/sMuGJFR+9+j2cI6i4538A=", + "dev": true + }, + "less": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/less/download/less-4.1.2.tgz", + "integrity": "sha1-YJnuWEmZdQwmJLZfgBRfhnTktLA=", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^2.5.2", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" + } + }, + "less-loader": { + "version": "10.2.0", + "resolved": "https://registry.npmmirror.com/less-loader/download/less-loader-10.2.0.tgz?cache=0&sync_timestamp=1634563207805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fless-loader%2Fdownload%2Fless-loader-10.2.0.tgz", + "integrity": "sha1-lyhth5fcPcBbHRaw7OxflovdTjI=", + "dev": true, + "requires": { + "klona": "^2.0.4" + } + }, + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-4.2.0.tgz?cache=0&sync_timestamp=1610027852811&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-4.2.0.tgz", + "integrity": "sha1-1wIjgNZtFMX7HUlriYZOvP1Hg4Q=", + "dev": true, + "peer": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz?cache=0&sync_timestamp=1615982572805&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-6.0.0.tgz", + "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.nlark.com/magic-string/download/magic-string-0.25.7.tgz?cache=0&sync_timestamp=1618847046304&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmagic-string%2Fdownload%2Fmagic-string-0.25.7.tgz", + "integrity": "sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE=", + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true, + "optional": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", + "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", + "dev": true, + "peer": true + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true, + "optional": true + }, + "mime-db": { + "version": "1.50.0", + "resolved": "https://registry.nlark.com/mime-db/download/mime-db-1.50.0.tgz", + "integrity": "sha1-q9SslOmNPA4YUBbGerRdX95AwR8=", + "dev": true, + "peer": true + }, + "mime-types": { + "version": "2.1.33", + "resolved": "https://registry.npmmirror.com/mime-types/download/mime-types-2.1.33.tgz?cache=0&sync_timestamp=1633108207787&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.33.tgz", + "integrity": "sha1-H6EqkERy+v0GjkjZ6EAfdNP3Dts=", + "dev": true, + "peer": true, + "requires": { + "mime-db": "1.50.0" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.3.tgz?cache=0&sync_timestamp=1632788512775&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fms%2Fdownload%2Fms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", + "dev": true, + "optional": true + }, + "nanoid": { + "version": "3.1.30", + "resolved": "https://registry.npmmirror.com/nanoid/download/nanoid-3.1.30.tgz?cache=0&sync_timestamp=1634166241996&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnanoid%2Fdownload%2Fnanoid-3.1.30.tgz", + "integrity": "sha1-Y/k8xUjSoRPcXfvGO/oJ4rm2Q2I=" + }, + "needle": { + "version": "2.9.1", + "resolved": "https://registry.nlark.com/needle/download/needle-2.9.1.tgz", + "integrity": "sha1-ItHf++NJDCuD4wH3cJtnNs2PJoQ=", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz", + "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", + "dev": true, + "peer": true + }, + "node-releases": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.0.tgz", + "integrity": "sha1-Z9x0kDEAp96wRAN7ii5fRTuwVAA=", + "dev": true, + "peer": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628812721654&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dev": true, + "peer": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/parse-node-version/download/parse-node-version-1.0.1.tgz", + "integrity": "sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz?cache=0&sync_timestamp=1634093378416&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpicocolors%2Fdownload%2Fpicocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz?cache=0&sync_timestamp=1593529716831&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", + "dev": true, + "optional": true + }, + "postcss": { + "version": "8.3.9", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-8.3.9.tgz", + "integrity": "sha1-mHVMqgbE7p61nMSL0HO7a9NDfDE=", + "requires": { + "nanoid": "^3.1.28", + "picocolors": "^0.2.1", + "source-map-js": "^0.6.2" + } + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.nlark.com/promise/download/promise-7.3.1.tgz", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "dev": true, + "requires": { + "asap": "~2.0.3" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true, + "optional": true + }, + "pug": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/pug/download/pug-3.0.2.tgz", + "integrity": "sha1-81xxBzQ0VOQ7wnrg/3bHMbeOpTU=", + "dev": true, + "requires": { + "pug-code-gen": "^3.0.2", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pug-attrs/download/pug-attrs-3.0.0.tgz", + "integrity": "sha1-sQRR4DSBZeMfrRzCPr3dncc0fEE=", + "dev": true, + "requires": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "pug-code-gen": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/pug-code-gen/download/pug-code-gen-3.0.2.tgz", + "integrity": "sha1-rRkPSUMTO/GGtguA3kgxAOEy4s4=", + "dev": true, + "requires": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.0.0", + "pug-runtime": "^3.0.0", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "pug-error": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pug-error/download/pug-error-2.0.0.tgz", + "integrity": "sha1-XGIXPLCcNN4qLOBPF7it/sdNjKU=", + "dev": true + }, + "pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/pug-filters/download/pug-filters-4.0.0.tgz", + "integrity": "sha1-0+Sa9bqEcum3pm2YDnB86dLMm14=", + "dev": true, + "requires": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/pug-lexer/download/pug-lexer-5.0.1.tgz", + "integrity": "sha1-rkRijFvvmxkLZlaDsojKkCS4sNU=", + "dev": true, + "requires": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/pug-linker/download/pug-linker-4.0.0.tgz", + "integrity": "sha1-EsvAWU/Fo+Brn8Web5PBRpYqdwg=", + "dev": true, + "requires": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pug-load/download/pug-load-3.0.0.tgz", + "integrity": "sha1-n9nNpSICsIrbEdJWgfufNL1BtmI=", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/pug-parser/download/pug-parser-6.0.0.tgz", + "integrity": "sha1-qP3ANYY6lbLB3F6/Ts+AtOdqEmA=", + "dev": true, + "requires": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/pug-runtime/download/pug-runtime-3.0.1.tgz", + "integrity": "sha1-9jaXYgRyPzWoxfb61qzaKhkbg9c=", + "dev": true + }, + "pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/pug-strip-comments/download/pug-strip-comments-2.0.0.tgz", + "integrity": "sha1-+UsH/WtJVSMzD0kKf1VLT/h2MD4=", + "dev": true, + "requires": { + "pug-error": "^2.0.0" + } + }, + "pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/pug-walk/download/pug-walk-2.0.0.tgz", + "integrity": "sha1-QXqrwpIyu0SZtbUGmistKiTV9f4=", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", + "dev": true, + "peer": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "request-light": { + "version": "0.5.4", + "resolved": "https://registry.npmmirror.com/request-light/download/request-light-0.5.4.tgz", + "integrity": "sha1-SXqYxtiuSVNkF6Xi1/ODuTTz44w=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "rollup": { + "version": "2.58.0", + "resolved": "https://registry.npmmirror.com/rollup/download/rollup-2.58.0.tgz", + "integrity": "sha1-pkOYM2Xnv39bfGKoMxuYO3xMZ/s=", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", + "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", + "dev": true, + "peer": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true, + "optional": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "peer": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-6.0.0.tgz", + "integrity": "sha1-765diPRdeSQUHai1w6en5mP+/rg=", + "dev": true, + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.nlark.com/source-map-js/download/source-map-js-0.6.2.tgz", + "integrity": "sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=" + }, + "source-map-support": { + "version": "0.5.20", + "resolved": "https://registry.nlark.com/source-map-support/download/source-map-support-0.5.20.tgz", + "integrity": "sha1-EhZgifj15ejFaSazd2Mzkt0stsk=", + "dev": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.nlark.com/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz", + "integrity": "sha1-6oBL2UhXQC5pktBaOO8a41qatMQ=" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.nlark.com/supports-color/download/supports-color-8.1.1.tgz?cache=0&sync_timestamp=1626703414084&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/tapable/download/tapable-2.2.1.tgz?cache=0&sync_timestamp=1631526982870&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftapable%2Fdownload%2Ftapable-2.2.1.tgz", + "integrity": "sha1-GWenPvQGCoLxKrlq+G1S/bdu7KA=", + "dev": true, + "peer": true + }, + "terser": { + "version": "5.9.0", + "resolved": "https://registry.nlark.com/terser/download/terser-5.9.0.tgz", + "integrity": "sha1-R9bmKaUiljJA8rVfyqPJkIPSw1E=", + "dev": true, + "peer": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz", + "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "dev": true, + "peer": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.2.4", + "resolved": "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-5.2.4.tgz?cache=0&sync_timestamp=1631202398853&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-5.2.4.tgz", + "integrity": "sha1-rRvnY5scvj6kn6uZXL5yJLMXR6E=", + "dev": true, + "peer": true, + "requires": { + "jest-worker": "^27.0.6", + "p-limit": "^3.1.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1628418855671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "token-stream": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/token-stream/download/token-stream-1.0.0.tgz", + "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=", + "dev": true + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.1.tgz?cache=0&sync_timestamp=1628722580350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.1.tgz", + "integrity": "sha1-6KM1rdXOrlGqJh0ypJAVjvBC7wE=", + "dev": true + }, + "typescript": { + "version": "4.4.4", + "resolved": "https://registry.npmmirror.com/typescript/download/typescript-4.4.4.tgz?cache=0&sync_timestamp=1634627805458&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftypescript%2Fdownload%2Ftypescript-4.4.4.tgz", + "integrity": "sha1-LNAaGh8WBwTTEB/VpY/w+fy4Aww=", + "dev": true + }, + "upath": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/upath/download/upath-2.0.1.tgz", + "integrity": "sha1-UMc96mjW9rmQ9R0nnOYIFmXWGos=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.nlark.com/uri-js/download/uri-js-4.4.1.tgz", + "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", + "dev": true, + "peer": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "vite": { + "version": "2.6.10", + "resolved": "https://registry.npmmirror.com/vite/download/vite-2.6.10.tgz", + "integrity": "sha1-ek9CDG4sfZBix/nORXioF8crOEI=", + "dev": true, + "requires": { + "esbuild": "^0.13.2", + "fsevents": "~2.3.2", + "postcss": "^8.3.8", + "resolve": "^1.20.0", + "rollup": "^2.57.0" + } + }, + "void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/void-elements/download/void-elements-3.1.0.tgz", + "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=", + "dev": true + }, + "vscode-css-languageservice": { + "version": "5.1.7", + "resolved": "https://registry.npmmirror.com/vscode-css-languageservice/download/vscode-css-languageservice-5.1.7.tgz?cache=0&sync_timestamp=1632845171641&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvscode-css-languageservice%2Fdownload%2Fvscode-css-languageservice-5.1.7.tgz", + "integrity": "sha1-67+AOwP95Tm9aDWIzS2mxKYbkOI=", + "dev": true, + "requires": { + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + } + }, + "vscode-html-languageservice": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/vscode-html-languageservice/download/vscode-html-languageservice-4.1.0.tgz", + "integrity": "sha1-4WYvH/O2I7kQxU0/Siqtjzl+U9c=", + "dev": true, + "requires": { + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + } + }, + "vscode-json-languageservice": { + "version": "4.1.8", + "resolved": "https://registry.npmmirror.com/vscode-json-languageservice/download/vscode-json-languageservice-4.1.8.tgz", + "integrity": "sha1-OXo5I41Jbj4IpUSouT3yzRM0fQw=", + "dev": true, + "requires": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + }, + "dependencies": { + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/jsonc-parser/download/jsonc-parser-3.0.0.tgz", + "integrity": "sha1-q914VwHH5+rKip7IzwcMpRp0WiI=", + "dev": true + } + } + }, + "vscode-jsonrpc": { + "version": "8.0.0-next.3", + "resolved": "https://registry.npmmirror.com/vscode-jsonrpc/download/vscode-jsonrpc-8.0.0-next.3.tgz", + "integrity": "sha1-tV7f8OVQsD84BKreRKyiaZryclU=", + "dev": true + }, + "vscode-languageserver": { + "version": "8.0.0-next.3", + "resolved": "https://registry.npmmirror.com/vscode-languageserver/download/vscode-languageserver-8.0.0-next.3.tgz", + "integrity": "sha1-NscBpoROwmlQVTnjuEo3aTdgpS8=", + "dev": true, + "requires": { + "vscode-languageserver-protocol": "3.17.0-next.9" + } + }, + "vscode-languageserver-protocol": { + "version": "3.17.0-next.9", + "resolved": "https://registry.npmmirror.com/vscode-languageserver-protocol/download/vscode-languageserver-protocol-3.17.0-next.9.tgz", + "integrity": "sha1-D9StQ2EclqzYPY2Zjb52Zo9g5gQ=", + "dev": true, + "requires": { + "vscode-jsonrpc": "8.0.0-next.3", + "vscode-languageserver-types": "3.17.0-next.4" + }, + "dependencies": { + "vscode-languageserver-types": { + "version": "3.17.0-next.4", + "resolved": "https://registry.npmmirror.com/vscode-languageserver-types/download/vscode-languageserver-types-3.17.0-next.4.tgz", + "integrity": "sha1-9niLN17BY9qLOB8vPj9UfLx/vuw=", + "dev": true + } + } + }, + "vscode-languageserver-textdocument": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/vscode-languageserver-textdocument/download/vscode-languageserver-textdocument-1.0.2.tgz", + "integrity": "sha1-L59r1bXrPY4hQkwMNnAJIW8BYjY=", + "dev": true + }, + "vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmmirror.com/vscode-languageserver-types/download/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha1-7POT/BIexpdLLaPvsxVWRMUU4kc=", + "dev": true + }, + "vscode-nls": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/vscode-nls/download/vscode-nls-5.0.0.tgz", + "integrity": "sha1-mfDaC9nqfNpE5WWnTFSx8rwleEA=", + "dev": true + }, + "vscode-pug-languageservice": { + "version": "0.27.24", + "resolved": "https://registry.npmmirror.com/vscode-pug-languageservice/download/vscode-pug-languageservice-0.27.24.tgz?cache=0&sync_timestamp=1634525902153&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvscode-pug-languageservice%2Fdownload%2Fvscode-pug-languageservice-0.27.24.tgz", + "integrity": "sha1-+oBcTT4z3uNoHmYKB2cTZzjmg3A=", + "dev": true, + "requires": { + "@volar/code-gen": "^0.27.24", + "@volar/shared": "^0.27.24", + "@volar/source-map": "^0.27.24", + "@volar/transforms": "^0.27.24", + "pug-lexer": "^5.0.1", + "pug-parser": "^6.0.0", + "vscode-languageserver": "^8.0.0-next.2" + } + }, + "vscode-typescript-languageservice": { + "version": "0.27.25", + "resolved": "https://registry.npmmirror.com/vscode-typescript-languageservice/download/vscode-typescript-languageservice-0.27.25.tgz?cache=0&sync_timestamp=1634525899745&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvscode-typescript-languageservice%2Fdownload%2Fvscode-typescript-languageservice-0.27.25.tgz", + "integrity": "sha1-rNIRcjtgAQjCVRU4i3XVXOFbsFY=", + "dev": true, + "requires": { + "@volar/shared": "^0.27.24", + "semver": "^7.3.5", + "upath": "^2.0.1", + "vscode-languageserver": "^8.0.0-next.2", + "vscode-languageserver-textdocument": "^1.0.1" + } + }, + "vscode-uri": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/vscode-uri/download/vscode-uri-3.0.2.tgz", + "integrity": "sha1-7P0dBmy470w6II3s26uajCPQVdA=", + "dev": true + }, + "vscode-vue-languageservice": { + "version": "0.27.30", + "resolved": "https://registry.npmmirror.com/vscode-vue-languageservice/download/vscode-vue-languageservice-0.27.30.tgz?cache=0&sync_timestamp=1634525905894&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvscode-vue-languageservice%2Fdownload%2Fvscode-vue-languageservice-0.27.30.tgz", + "integrity": "sha1-HzKwID3SM1gvdKRXQoUZpjGPA54=", + "dev": true, + "requires": { + "@volar/code-gen": "^0.27.24", + "@volar/html2pug": "^0.27.13", + "@volar/shared": "^0.27.24", + "@volar/source-map": "^0.27.24", + "@volar/transforms": "^0.27.24", + "@vscode/emmet-helper": "^2.7.0", + "@vue/compiler-dom": "^3.2.19", + "@vue/reactivity": "^3.2.19", + "@vue/shared": "^3.2.19", + "request-light": "^0.5.4", + "upath": "^2.0.1", + "vscode-css-languageservice": "^5.1.4", + "vscode-html-languageservice": "^4.0.7", + "vscode-json-languageservice": "^4.1.7", + "vscode-languageserver": "^8.0.0-next.2", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-pug-languageservice": "^0.27.24", + "vscode-typescript-languageservice": "^0.27.25" + } + }, + "vue": { + "version": "3.2.20", + "resolved": "https://registry.npmmirror.com/vue/download/vue-3.2.20.tgz", + "integrity": "sha1-lA+KqL8+O+eCQ8pYK61B/NRa4+Y=", + "requires": { + "@vue/compiler-dom": "3.2.20", + "@vue/compiler-sfc": "3.2.20", + "@vue/runtime-dom": "3.2.20", + "@vue/server-renderer": "3.2.20", + "@vue/shared": "3.2.20" + } + }, + "vue-router": { + "version": "4.0.12", + "resolved": "https://registry.npmmirror.com/vue-router/download/vue-router-4.0.12.tgz?cache=0&sync_timestamp=1634663514839&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvue-router%2Fdownload%2Fvue-router-4.0.12.tgz", + "integrity": "sha1-jceSzd9bsavMOQj5BkE23n4TxGA=", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.18" + } + }, + "vue-tsc": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/vue-tsc/download/vue-tsc-0.3.0.tgz?cache=0&sync_timestamp=1634525906016&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvue-tsc%2Fdownload%2Fvue-tsc-0.3.0.tgz", + "integrity": "sha1-Ozhyv08dLkQJtXrb2CYDLiU9tAY=", + "dev": true, + "requires": { + "vscode-vue-languageservice": "^0.27.0" + } + }, + "watchpack": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/watchpack/download/watchpack-2.2.0.tgz", + "integrity": "sha1-R9ePVBX+VQ7NdA+Z/iiCMjpYsc4=", + "dev": true, + "peer": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.59.0", + "resolved": "https://registry.npmmirror.com/webpack/download/webpack-5.59.0.tgz?cache=0&sync_timestamp=1634666267884&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack%2Fdownload%2Fwebpack-5.59.0.tgz", + "integrity": "sha1-pQOPwNTZNQ7lKOfh4CgggMY+/PU=", + "dev": true, + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" + }, + "dependencies": { + "acorn": { + "version": "8.5.0", + "resolved": "https://registry.nlark.com/acorn/download/acorn-8.5.0.tgz?cache=0&sync_timestamp=1630916517167&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-8.5.0.tgz", + "integrity": "sha1-RRLMuZs2mMdSWR6btEcuOK1DzuI=", + "dev": true, + "peer": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/download/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha1-uitZOc5iwjjbbZPYHJsRGym4Vek=", + "dev": true, + "peer": true, + "requires": {} + } + } + }, + "webpack-sources": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-3.2.1.tgz", + "integrity": "sha1-JRp9lyDXWtoUacoH27YvNkGgW20=", + "dev": true, + "peer": true + }, + "with": { + "version": "7.0.2", + "resolved": "https://registry.npm.taobao.org/with/download/with-7.0.2.tgz", + "integrity": "sha1-zO461ULSVTinp6gKrSErmChJW6w=", + "dev": true, + "requires": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz", + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", + "dev": true, + "peer": true + } + } +} diff --git a/web/package.json b/web/package.json new file mode 100644 index 0000000..8f114e8 --- /dev/null +++ b/web/package.json @@ -0,0 +1,21 @@ +{ + "name": "shop-web", + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vue-tsc --noEmit && vite build", + "serve": "vite preview" + }, + "dependencies": { + "vue": "^3.2.16", + "vue-router": "^4.0.12" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^1.9.3", + "less": "^4.1.2", + "less-loader": "^10.2.0", + "typescript": "^4.4.3", + "vite": "^2.6.4", + "vue-tsc": "^0.3.0" + } +} diff --git a/web/public/favicon.ico b/web/public/favicon.ico new file mode 100644 index 0000000..df36fcf Binary files /dev/null and b/web/public/favicon.ico differ diff --git a/web/src/App.vue b/web/src/App.vue new file mode 100644 index 0000000..dbe8274 --- /dev/null +++ b/web/src/App.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/web/src/assets/logo.png b/web/src/assets/logo.png new file mode 100644 index 0000000..f3d2503 Binary files /dev/null and b/web/src/assets/logo.png differ diff --git a/web/src/components/HelloWorld.vue b/web/src/components/HelloWorld.vue new file mode 100644 index 0000000..2d61249 --- /dev/null +++ b/web/src/components/HelloWorld.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/web/src/env.d.ts b/web/src/env.d.ts new file mode 100644 index 0000000..d27eb5a --- /dev/null +++ b/web/src/env.d.ts @@ -0,0 +1,8 @@ +/// + +declare module '*.vue' { + import { DefineComponent } from 'vue' + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/web/src/main.ts b/web/src/main.ts new file mode 100644 index 0000000..b116ceb --- /dev/null +++ b/web/src/main.ts @@ -0,0 +1,7 @@ +import { createApp } from 'vue' +import router from './routes' +import App from './App.vue' + +const app = createApp(App) // 创建vue app +app.use(router) // 使用路由 +app.mount('#app') // 将vue app绑定到index.html中的 div#app 元素上 diff --git a/web/src/pages/a.vue b/web/src/pages/a.vue new file mode 100644 index 0000000..adeec00 --- /dev/null +++ b/web/src/pages/a.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/web/src/pages/b.vue b/web/src/pages/b.vue new file mode 100644 index 0000000..bf181ee --- /dev/null +++ b/web/src/pages/b.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/web/src/routes.ts b/web/src/routes.ts new file mode 100644 index 0000000..0dfb6e2 --- /dev/null +++ b/web/src/routes.ts @@ -0,0 +1,33 @@ +import PageA from './pages/a.vue' // vue组件的引入 需要写完整路径 需要包含.vue扩展 +import PageB from './pages/b.vue' + +// 路由配置文件 + +const routes = [ + { + path: '/', // 这是页面对应的访问路径 /表示首页 + component: PageA // 对应对应的vue组件 + }, + { + path: '/about', + component: PageB + }, +] +// 创建路由信息管理器 +// 3.x +// import VueRouter from 'vue-router' +// 老版本写法 +// const router = new VueRouter({ +// routes +// }); + +import {createWebHashHistory, createRouter} from 'vue-router' +// 4.x +// 直接创建一个路由器 +const router = createRouter({ + history: createWebHashHistory(), // 使用hash的模式 + routes, +}) + +// 暴露路由器 +export default router \ No newline at end of file diff --git a/web/tsconfig.json b/web/tsconfig.json new file mode 100644 index 0000000..8617c8a --- /dev/null +++ b/web/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "moduleResolution": "node", + "strict": true, + "jsx": "preserve", + "sourceMap": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "lib": ["esnext", "dom"] + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"] +} diff --git a/web/vite.config.ts b/web/vite.config.ts new file mode 100644 index 0000000..47fddd7 --- /dev/null +++ b/web/vite.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()], + server:{ + port:30001 + } +})