Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
@nx/devkit
Advanced tools
The Nx Devkit is used to customize Nx for different technologies and use cases. It contains many utility functions for reading and writing files, updating configuration, working with Abstract Syntax Trees(ASTs), and more. Learn more about [extending Nx by
The @nx/devkit package is a set of utilities for building and managing development workflows, particularly in the context of monorepos managed by Nx. It provides APIs for creating plugins, generating files from templates, and interacting with the Nx workspace configuration.
Plugin Creation
This code sample demonstrates how to create a simple Nx plugin that writes a greeting to a file, formats the files in the workspace, and schedules a task to install npm packages.
import { Tree, formatFiles, installPackagesTask } from '@nrwl/devkit';
export default async function (tree: Tree, schema: any) {
tree.write('hello.txt', `Hello ${schema.name}!`);
await formatFiles(tree);
return () => {
installPackagesTask(tree);
};
}
Workspace Configuration Interaction
This code sample shows how to read and update the workspace configuration in an Nx workspace using the @nx/devkit package.
import { updateWorkspaceConfiguration, readWorkspaceConfiguration } from '@nrwl/devkit';
export function updateWorkspace(tree) {
const config = readWorkspaceConfiguration(tree);
config.version = 2;
updateWorkspaceConfiguration(tree, config);
}
Generating Files from Templates
This example illustrates how to generate files in an Nx workspace from a set of templates, using the options provided to customize the generated output.
import { generateFiles, joinPathFragments } from '@nrwl/devkit';
export function generateComponent(tree, options) {
const templatePath = './path/to/templates';
const targetPath = joinPathFragments('libs', options.name);
generateFiles(tree, templatePath, targetPath, options);
}
Yeoman is a generic scaffolding system that allows the creation of any kind of app. It can be used to scaffold complete projects or parts of projects, and it's not tied to a specific project structure like @nx/devkit is with Nx workspaces.
Plop is a micro-generator framework that provides a simple template-based system for code generation. It's less opinionated than @nx/devkit and can be used in any project, not just Nx workspaces.
Hygen is a scalable code generator that's fast and simple. It's similar to @nx/devkit in that it helps automate the creation of code, but it's not specifically designed for Nx workspaces and can be used in various types of projects.
Nx is a build system with built-in tooling and advanced CI capabilities. It helps you maintain and scale monorepos, both locally and on CI.
This package contains a set of utilities for creating Nx plugins.
Using npx
npx create-nx-workspace
Using npm init
npm init nx-workspace
Using yarn create
yarn create nx-workspace
Run:
npx nx@latest init
FAQs
The Nx Devkit is used to customize Nx for different technologies and use cases. It contains many utility functions for reading and writing files, updating configuration, working with Abstract Syntax Trees(ASTs), and more. Learn more about [extending Nx by
We found that @nx/devkit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.