【惊】 前端圈又现 npm 投毒事件!!
起因业界大佬雪碧老师发的文:今天我们发现一位公关试图毒害我们的 GitHub 项目一个名为 chalk-next 复刻 chalk 的包文件中包含递归删除本地配置代码。
NPM 地址: https://www.npmjs.com/package/chalk-next 现在已经看不见了
作者为 vue-admin-beautiful 前端 Admin 项目的作者
经过有人顺着这个人查了下。
这个人很可能是那个不断发广告文档收费的那个,那个 1w stars 但是没有 issues 和 PR.
这个人的 v2ex 相关的帖子
这个人做了不少包名 + next 都包含递归删除的代码
GitHub 搜了下,有几个项目用了这些包其中还有企业项目
v2ex 相关帖子:
新的前端 npm 包投毒事件
评论部分内容:
从他的营销 vue-admin-beautiful 就感到恶心,果然丑人多作怪
https://www.npmjs.com/package/chokidar-next?activeTab=explore 搜索 thanks 不止 chalk-next 投了,...
时长一年半前端练习生的 2022 年终总结
2023 关键字:工作、琐事、开源 | 2022 flag 完成情况
和女朋友订婚。👩❤️👨 (疫情原因,推迟到 2023 年初)
产出一个 50-100star 的开源项目。🤠 (完美达成)
关注学习财经类知识。🏴☠️ (老韭菜了)
工作能更进一步。💰 (一般般)
| 工作今年,我终于不再是一个刚毕业的前端小白,是一个时长一年半的前端练习生,擅长唱、跳,rap(手动狗头)。
今年怎么说,工作没有惊喜也没有意外,平平淡淡,但确实也在这个公司学习到了很多。薪资就不说了,一般水平。
是不是现在啥公司都在搞低代码平台,我今年也有大部分时间花在了这上面。说实话我不怎么看好这个赛道。没办法老板喜欢这玩意,据说能提效,然后打翻自己的狗碗。
工作中感觉接触面比较小,这可能就是 B 端页面到弊端,当然也因为此有时间研究一些好玩的东西,比如 vscode 插件,chrome 插件什么的,能沉淀出一些业务框架。现在基本上已经全面切换到 vite 和 vue3 了,业务中没有上 TS,底层库也全切到 TS 了。
希望明年,薪资能有一个质的改变吧。
希望技术也能多方面发展一下,一直想学一下后端技术,看看 2023 年能不能有 ...
极简的 git 账号与 npm registry 管理工具
极简的 git 账号与 npm registry 管理工具极简的 git 账号与 npm registry 管理工具( Git Account Management Tools & NPM Registry Manager )
Why Do
需要经常切换 git 账户,懂的都懂!!
当前 nrm 的最新版本 nrm@1.2.5 不显示当前源地址 Pana/nrm#111 过了一年也没有修复。
Features
✨ git 账户与 npm registry 管理工具( 无缝切换)
🚀 极简的操作方式,just like nvm
😊 gacm [gnrm] ls 自动添加本地 git 账户或者本地 npm registry 管理工具
👋 gnrm 灵活配置,无污染,区分包管理器
Getting Started123456pnpm add gacm -gyarn add gacm -gnpm install gacm -g
Usage 切换 git 账户 12345678910 ...
【低代码平台之哈姆雷特】千变万化的属性设置器
序一个低代码平台最核心部分,可能大多数人都觉得是渲染器部分,而我更觉得属性设置器才是正正的灵魂所在,渲染器,物料决定了一个低代码平台的下线,而属性设置器决定了上线。就像一千个观众眼中有一千个哈姆雷特一样。今天就带大家看看 lowcode-engine 是怎么实现属性设置器的。
什么是属性设置器我们先来梳理一下,我们来写 vue 的时候,使用一个组件,肯定会有很多属性,事件,样式需要我们去定义,低代码平台也一样,只是简化了我们使用的成本,利用这种可视化的方式去设置,组件的这些参数依然需要有地方去告诉组件,该怎么去渲染。这是就是属性设置器发挥作用的地方了。
设置器主要用于低代码组件属性值的设置,顾名思义叫” 设置器”,又称为 Setter。由于组件的属性有各种类型,需要有与之对应的设置器支持,每一个设置器对应一个值的类型。—— lowcode-engine 官方定义
我们可以很清晰的看见 lowcode-engine 将设置器分为四类:
属性:展示该物料常规的属性
样式:展示该物料样式的属性
事件:如果该物料有声明事件,则会出现事件面板,用于绑定事件。
高级:两个逻辑相关的属性,条件 ...
【低代码平台之万物互联】怎么打通物料,渲染器,属性设置器?
序低代码平台核心的三个概念:物料、渲染器、属性设置器。那 Low-Code Engine 怎么将他们串联起来形成一个整体,并保持高拓展性,只要你动手做过低代码,你就会发现前文提到的协议的重要性了。
《低代码引擎搭建协议规范》
《低代码引擎物料协议规范》
《低代码引擎资产包协议规范》
什么是物料?
物料是页面搭建的原料,按照粒度可分为组件、区块和模板:
组件:组件是页面搭建最小的可复用单元,其只对外暴露配置项,用户无需感知其内部实现;
区块:区块是一小段符合低代码协议的 schema,其内部会包含一个或多个组件,用户向设置器中拖入一个区块后可以随意修改其内部内容;
模板:模板和区块类似,也是一段符合低代码协议的 schema,不过其根节点的 componentName 需固定为 Page,它常常用于初始化一个页面;
低代码编辑器中的物料需要进行一定的配置和处理,才能让用户在低代码平台使用起来。这个过程中,需要一份一份配置文件,也就是资产包。资产包文件中,针对每个物料定义了它们在低代码编辑器中的使用描述。
先看一下一份简单的 Button 物料配置 123456789101 ...
【低代码系列之万物之初】重生之梦回 Dreamweaver?
背景上期,简单了说了一下低代码平台的现状以及认识,有小伙伴说这不就是 Dreamweaver 吗?拖拉拽,生成代码。只能说是这样也不是这样,Dreamweaver 能算作可视化编程的一个解决方案吧,但不能完全代表低代码平台。笔者并没有使用过 Dreamweaver(入手便是 vscode🥭)。所以网上冲浪了一下看网友的总结 Dreamweaver:
1. 生成的代码基本无法维护,生成一坨屎, 如果下一个接手这个项目的人不用 DW, 那人就蒙圈了
2. 无法使用前端生态,与什么 vue,React 之类的框架水土不服,npm 你都不好引入
3. 不利于开发者自身发展,对代码的认识很非常浅,长期 DW 会导致不能深入技术
4. 不能编写复杂的系统,比如一些没有 UI 的算法库
这基本也是开发低代码平台的难点,这一期来说说,怎么搭建一个低代码平台吧。浅析一下阿里低代码引擎( Low-Code Engine)到底做了些什么。他们怎么解决这些难题的。
标准化协议协议对于开发来说并不陌生,我们常见的什么 HTTP 协议、DNS 协议、TCP/IP 协议等等,一份优秀的协议能未后面省去不少 ...
【低代码系列之序章】打翻前端的狗碗?
什么是低代码平台让我们先看一下来着百度词条是怎么解释的:
低代码开发平台(LCDP)是无需编码(0 代码)或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法(参考可视编程语言),使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。低代码开发平台(LCDP)的正式名称直到 2014 年 6 月才正式确定,整个低代码开发领域却可以追溯到更早前第四代编程语言和快速应用开发工具。
【看完】呃呃呃…. 什么玩意
前端眼中的低代码广义上的低代码平台包括低代码平台和零代码平台,它们都属于 APaaS(Application Platform as a Service 应用平台即服务),两者的主要区别在于对代码的依赖程度:
低代码平台:通过自动代码生成和可视化编程,只需要少量代码,即可快速搭建各种应用
零代码平台:零开发经验的业务人员通过拖拽等方式,无需编写代码,即可快速搭建各种应用
到底啥是低代码,在我看来就是拖拉拽,呼呼呼,一通操作,搞出一套能跑的系统,前端,后端,数据库,一把梭哈。当然这可能是最终目标,
...
✨每个前端都应该拥有自己的快速模板 CLI 工具
✨ 每个前端都应该拥有自己的快速模板 CLI 工具背景作为工作一年的前端小码农,也写了不少项目,就想着是不是应该有个总结,正好最近在写脚手架工具,就给以前的项目,弄了一套快速生成模板的工具,再也不用担心,每次开新项目,环境配置半天,都还没有还是写代码。
需求分析
可以配置 eslint,husky 等项目配套设施
需要快速生成对应项目模板(如:谷歌插件,node-cli 等)
模板与 cli 分解,更新模板不需要更新 cli
万物之初首先我们介绍 kolorist、minimist、prompts 三个必不可少的开源库
kolorist 改变控制台颜色,可以看着 chalk 的替代品
minimist 极简的命令行解析工具
12var argv = require ('minimist')(process.argv.slice (2));console.log (argv);
1234567891011121314$ node example/parse.js -a beep -b boop { _: [], a: 'beep' ...
vitepress+github page 快速搭建个人博客
vitepress+github page 快速搭建个人博客初衷呃呃呃,初衷就是两个字没钱 😀,哈哈哈,最近学生时期买的腾讯云服务过期了,没钱不想续费了,还有腾讯云比起阿里云的确还是有些差距(这两种服务器都用过。不是云玩家,虽然是学生机,便宜货),所以准备白嫖 github pages。花了两天不到时间就搞定了,虽然有些粗糙了 😀
预览地址:@阿乐去买菜
实现主页部分
文章部分
项目部分
个人部分
技术选型以前的老博客是 vue2+node 做的,感觉太麻烦了,这次就用了 vitepress 来做,也不需要后端了,不得不说体验咻咻的 😂
目录结构 1234567891011- config 主要是一些配置信息 - docs 打包产物 - script 脚本工具,用来将 md 文件自动创建目录索引 - src - .vitepress vitepress 相关配置 - components 公共组件 - public 静态资源 - type 类型文件 - views md 文件 - index.md 首页
源码有兴趣的小伙伴可以自行克隆,做精细一点,也可以给个 star
g ...
【gacm】傻瓜式 git 账号管理工具
【gacm】傻瓜式 git 账号管理工具起因最近多个项目老是需要切换 git 账号,git 命令都输入烦了,就想能不能像 nvm,或者 nrm 一样管理 git 账户,正好最近写了一个 node-cli 的模板,正好有用武之地,说干就干。
开始
用法 just like nvm
12345678910gacm lsgacm use xxx ---localgacm use xxx ---globalgacm add --name xxx --email xxxgacm delate user
功能需求
切换 git 账户(包含当前项目,全局用户,系统用户)
增加用户
删除用户
查看用户列表
获取 cli 模板拉取一下我的模板工具 template-node-cli
内置了基于 typescript+rollup+gulp 的打包工具
给出了一些简单模板
核心思路
通过 cli 执行 shell 命令
12git config --xxx user.name xxxxgit config --xxx user.email xxxx
源码
github
gitee