icejs 支持创建 Electron 应用、faker.js/colors.js 被植入恶意代码 | 淘系前端架构周刊 220110 期

🗞 News

icejs 支持创建 Electron 应用

icejs 的又一重磅新特性,提供了创建 Electron 的脚手架:

  • 基于最新版本的 electron 和 Chromium
  • 使用 icejs x Vite 作为调试和编译构建工具,拥有更快的模块热更新(HMR)速度
  • 使用 electron-builder 打包 Electron 应用
  • 使用 electron-updater 为 Electron 应用自动更新

创建基于 Electron 的桌面端应用也做到了开箱即用,只需要执行:

# 通过脚手架快速创建项目
npm init ice icejs-electron --template @icedesign/scaffold-electron

# 本地调试
cd icejs-electron/
npm start

# 打包构建
npm run build
复制代码

查看效果:视频链接

faker.js/colors.js 被植入恶意代码

下载量与 Vue.js 一样大的开源软件(faker.js 和 colors.js)被作者恶意破坏,导致众多应用受到牵连。

原文链接:下载量和 Vue 一样大的开源软件被作者恶意破坏,数千款应用受到牵连 (qq.com)

📦 Open Source

Vue.js 新文档

全新的 Vue.js 文档,采用 VitePress 构建,正在开发中……

文档链接:Vue.js (vuejs.org)

GitHub Repo 分支:vuejs/docs at next (github.com)

Haunted

一个为 Web Components 提供 React Hooks API 的库。

<html lang="en">
  <my-counter></my-counter>

  <script type="module">
    import { html } from 'https://unpkg.com/lit-html/lit-html.js';
    import { component, useState } from 'https://unpkg.com/haunted/haunted.js';

    function Counter() {
      const [count, setCount] = useState(0);

      return html`
        <div id="count">${count}</div>
        <button type="button" @click=${() => setCount(count + 1)}>
          Increment
        </button>
      `;
    }

    customElements.define('my-counter', component(Counter));
  </script>
</html>
复制代码

GitHub Repo:matthewp/haunted: React's Hooks API implemented for web components 👻 (github.com)

Turborepo

同样是适用业务项目的 Monorepo 管理方案,后起之秀 Turborepo 基于 Go 进行构建工作,被 Vercel 收购后背靠一个强大的 SaaS 平台,和老牌方案 Nx Workspace 比起来它有何优劣?来看看 Nx 官方的这篇文章:Nx and Turborepo | Nx

Home Page:Turborepo

GitHub Repo:vercel/turborepo: The High-performance Build System for JavaScript & TypeScript Codebases (github.com)

lage

微软的 Monorepo Task Runner 方案,它并不是 RushStask、Nx Worksapce 这一类完整的 Monorepo 管理方案,也不是 pnpm / yarn workspace 这一类主要关心依赖与 Link 的 Monorepo 方案,它和 lerna、ultra-runner、pnpm recursive 一样,主要关心在各个 package 中按照拓扑排序执行 script ,而创新之处在于它提出了新的基于 pipeline 的执行方案。

Home Page:lage (microsoft.github.io)

GitHub Repo:microsoft/lage: Task runner in JS monorepos (github.com)

📑 Article

知其然,知其所以然:TypeScript 中的协变与逆变

协变、逆变以及子类型是具备类型系统的语言中绕不开的话题,本篇文章带你了解协变与逆变在前端同学们最熟悉的语言—— TypeScript 中的表现。

原文链接:知其然,知其所以然:TypeScript 中的协变与逆变 - 知乎 (zhihu.com)

评论