Skip to content

Repository files navigation

DebugNxIncrementalBuildTypechecking

Setup Log

$ npx create-nx-workspace@latest

 NX   Let's create a new workspace [https://nx.dev/getting-started/intro]

✔ Where would you like to create your workspace? · debug-nx-incremental-build-typechecking
✔ Which stack do you want to use? · node
✔ What framework should be used? · none
✔ Integrated monorepo, or standalone project? · integrated
✔ Application name · default-app
✔ Would you like to generate a Dockerfile? [https://docs.docker.com/] · No
✔ Which CI provider would you like to use? · skip
✔ Would you like remote caching to make your build faster? · skip
$ npx nx g @nx/js:library util-lib

 NX  Generating @nx/js:library

✔ Which bundler would you like to use to build the library? Choose 'none' to skip build setup. · tsc
✔ Which linter would you like to use? · eslint
✔ Which unit test runner would you like to use? · none

Update util-lib/src/lib/util-lib.ts:

export function utilLib(arg1): string {
  return arg1 ? arg1 : 'util-lib';
}

Disable noImplicitAny in packages/util-lib/tsconfig.json:

"noImplicitAny": false
$ npx nx g @nx/node:application webpack-app --bundler webpack

 NX  Generating @nx/node:application

✔ Which linter would you like to use? · eslint
✔ Which unit test runner would you like to use? · none
✔ Which end-to-end test runner would you like to use? · none
✔ Which framework do you want to use? · none

Add ajv@8 dependency to package.json and run npm install:

"ajv": "^8.12.0",

Update webpack-app/src/main.ts:

import { utilLib } from '@debug-nx-incremental-build-typechecking/util-lib';

console.log('Hello World');
console.log(utilLib('Hello Lib'));

Update webpack-app/tsconfig.json:

"strict": true

✨ Your new, shiny Nx workspace is ready ✨.

Learn more about this workspace setup and its capabilities or run npx nx graph to visually explore what was created. Now, let's get you up to speed!

Run tasks

To run the dev server for your app, use:

npx nx serve default-app

To create a production bundle:

npx nx build default-app

To see all available targets to run for a project, run:

npx nx show project default-app

These targets are either inferred automatically or defined in the project.json or package.json files.

More about running tasks in the docs »

Add new projects

While you could add new projects to your workspace manually, you might want to leverage Nx plugins and their code generation feature.

Use the plugin's generator to create new projects.

To generate a new application, use:

npx nx g @nx/node:app demo

To generate a new library, use:

npx nx g @nx/node:lib mylib

You can use npx nx list to get a list of installed plugins. Then, run npx nx list <plugin-name> to learn about more specific capabilities of a particular plugin. Alternatively, install Nx Console to browse plugins and generators in your IDE.

Learn more about Nx plugins » | Browse the plugin registry »

Set up CI!

Step 1

To connect to Nx Cloud, run the following command:

npx nx connect

Connecting to Nx Cloud ensures a fast and scalable CI pipeline. It includes features such as:

Step 2

Use the following command to configure a CI workflow for your workspace:

npx nx g ci-workflow

Learn more about Nx on CI

Install Nx Console

Nx Console is an editor extension that enriches your developer experience. It lets you run tasks, generate code, and improves code autocompletion in your IDE. It is available for VSCode and IntelliJ.

Install Nx Console »

Useful links

Learn more:

And join the Nx community:

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages