IceJS Electron Support, Haunted, Turborepo vs Nx, TypeScript Covariance
Today's roundup introduces IceJS's new Electron scaffold, warns about malicious code in faker.js and colors.js, showcases the upcoming Vue.js documentation, highlights the Haunted web‑components library, compares Turborepo with Nx, presents Microsoft’s lage task runner, and explains TypeScript covariance and contravariance concepts.
IceJS supports creating Electron applications
IceJS introduces a new scaffold for building Electron desktop apps with the latest Electron and Chromium, using icejs x Vite for faster HMR, electron-builder for packaging, and electron-updater for automatic updates.
# Quickly create a project via the scaffold
npm init ice icejs-electron --template @icedesign/scaffold-electron
# Local debugging
cd icejs-electron/
npm start
# Build for production
npm run buildfaker.js/colors.js injected with malicious code
Two popular open‑source packages, faker.js and colors.js, were maliciously altered by their author, affecting thousands of downstream applications.
Original article: Download volume and Vue‑like open‑source software sabotaged (qq.com)
Vue.js new documentation
A brand‑new Vue.js documentation site built with VitePress is under development.
Documentation link: vuejs.org
Haunted
Haunted provides a React‑like Hooks API for Web Components.
<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`
<section id="count">${count}</section>
<button type="button" @click=${() => setCount(count + 1)}>
Increment
</button>
`;
}
customElements.define('my-counter', component(Counter));
</script>
</html>GitHub repository: matthewp/haunted
Turborepo
Turborepo is a newer monorepo management solution built with Go and backed by Vercel. It is compared with the established Nx Workspace in terms of advantages and disadvantages.
Reference article: Nx and Turborepo | Nx
Home page: turborepo.org
lage
Microsoft’s lage is a task‑runner for JavaScript monorepos that focuses on topologically ordered script execution, offering a pipeline‑based approach distinct from full‑featured monorepo tools.
Home page: lage
Article: Understanding Covariance and Contravariance in TypeScript
Covariance, contravariance, and subtyping are essential topics in typed languages. This article explains how these concepts manifest in TypeScript, the language most front‑end developers use.
Original article: 知其然,知其所以然:TypeScript 中的协变与逆变
Taobao Frontend Technology
The frontend landscape is constantly evolving, with rapid innovations across familiar languages. Like us, your understanding of the frontend is continually refreshed. Join us on Taobao, a vibrant, all‑encompassing platform, to uncover limitless potential.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
