docs(core): remove standalone tutorials (#30125)
Remove standalone tutorials
This commit is contained in:
parent
639d748b70
commit
a90de969ab
@ -19,9 +19,7 @@ While speed is of major importance, developer ergonomics shouldn't be left behin
|
||||
|
||||
## Update (Aug 2023): Want a non-monorepo setup?
|
||||
|
||||
This article walks you through how to setup a new Nx monorepo workspace with React. If you rather prefer starting with a single-project setup (also named "standalone") then you might want to have a look at this tutorial (including video):
|
||||
|
||||
[/getting-started/tutorials/react-standalone-tutorial](/getting-started/tutorials/react-standalone-tutorial)
|
||||
This article walks you through how to setup a new Nx monorepo workspace with React. If you rather prefer starting with a single-project setup (also named "standalone") then you might want to have a look at the standalone tutorial (including video).
|
||||
|
||||
## Why use a devtool CLI?
|
||||
|
||||
|
||||
@ -181,7 +181,6 @@ It is an ongoing process, and we have a lot of content to cover! We follow the [
|
||||
|
||||
Besides the two new [package-based](/getting-started/tutorials/typescript-packages-tutorial) and [integrated style tutorials](/getting-started/tutorials/react-monorepo-tutorial) we also have two brand new reworked tutorials
|
||||
|
||||
- [/getting-started/tutorials/react-standalone-tutorial](/getting-started/tutorials/react-standalone-tutorial)
|
||||
- [/getting-started/tutorials](/getting-started/tutorials)
|
||||
|
||||
Stay tuned for more updates to come.
|
||||
|
||||
@ -39,7 +39,7 @@ And so did also [Fireship](https://youtu.be/2OTq15A5s0Y) and ultimately [Dan Abr
|
||||
|
||||
Code generators speed up such configuration tasks. They are valuable for scaffolding the initial project structure and adding new features to the app setup, such as Tailwind.
|
||||
|
||||
Nx has such generators. To use them, you need an Nx-based React setup. If you're starting new, you can create an [Nx Standalone React project](/getting-started/tutorials/react-standalone-tutorial) easily using the following command
|
||||
Nx has such generators. To use them, you need an Nx-based React setup. If you're starting new, you can create an Nx Standalone React project easily using the following command
|
||||
|
||||
```shell
|
||||
$ npx create-nx-workspace reactapp --preset=react-standalone
|
||||
@ -59,7 +59,7 @@ You can pass `--vite=false` if you still want to keep the Webpack configuration
|
||||
|
||||
## Generating a Tailwind Setup
|
||||
|
||||
Once you have a [Nx-based React](/getting-started/tutorials/react-standalone-tutorial) setup, adding Tailwind is as easy as running:
|
||||
Once you have a [Nx-based React](/getting-started/tutorials/react-monorepo-tutorial) setup, adding Tailwind is as easy as running:
|
||||
|
||||
```shell
|
||||
$ npx nx g @nrwl/react:setup-tailwind
|
||||
@ -79,7 +79,6 @@ You'll get
|
||||
|
||||
You should be all setup and ready now! Here are some related resources to explore:
|
||||
|
||||
- [Nx docs: React Standalone tutorial](/getting-started/tutorials/react-standalone-tutorial)
|
||||
- [Nx docs: React Monorepo tutorial](/getting-started/tutorials/react-monorepo-tutorial)
|
||||
- [Youtube: Is CRA Dead](https://youtu.be/fkTz6KJxhhE)
|
||||
- [Nx docs: Migrate CRA to React and Vite](/recipes/adopting-nx/adding-to-existing-project)
|
||||
|
||||
@ -636,7 +636,7 @@ This should give you a good insight into how to get started. But there's more to
|
||||
- We could also include "[executors](/extending-nx/recipes/local-executors)", which are wrappers around tasks to abstract the lower-level details of it
|
||||
- etc.
|
||||
|
||||
Now clearly this was a simple example of how you could build your own CRA using Nx. If you want to see a real-world React setup powered by Nx, check out our React Tutorial: [/getting-started/tutorials/react-standalone-tutorial](/getting-started/tutorials/react-standalone-tutorial)
|
||||
Now clearly this was a simple example of how you could build your own CRA using Nx. If you want to see a real-world React setup powered by Nx, check out our React Tutorial: [/getting-started/tutorials/react-monorepo-tutorial](/getting-started/tutorials/react-monorepo-tutorial)
|
||||
|
||||
## Learn more
|
||||
|
||||
|
||||
@ -54,8 +54,6 @@ And you'll have access to Nx generators so that you can generate Vue application
|
||||
|
||||
We're very excited for this support to land, and we're eager to get it into our user's hands and see what Nx can do to help Vue developers so we can continue to refine our support and make Vue with Nx an excellent developer experience.
|
||||
|
||||
If you're eager to learn more, make sure to check out our new [Vue standalone tutorial](/getting-started/tutorials/vue-standalone-tutorial).
|
||||
|
||||
## Enhancements to Module Federation Support
|
||||
|
||||
Nx already had great support for Module Federation — Nx 17 improves on this support:
|
||||
@ -236,7 +234,7 @@ For more [checkout our API docs](/nx-api/nx/documents/release), and be sure to c
|
||||
|
||||
At Nx, we're OBSESSED with building a better, more robust experience for our developers. Towards this end, we're now in [v2 of our Project Inference API](/extending-nx/recipes/project-graph-plugins).
|
||||
|
||||
This API is a way of extending the Nx project graph, which can be particularly helpful for extending Nx to support other languages, allowing Nx to determine where to find and draw boundaries around projects in your workspace. A great example is our very own [Vue plugin](/getting-started/tutorials/vue-standalone-tutorial).
|
||||
This API is a way of extending the Nx project graph, which can be particularly helpful for extending Nx to support other languages, allowing Nx to determine where to find and draw boundaries around projects in your workspace. A great example is our very own [Vue plugin](/nx-api/vue).
|
||||
|
||||
Interestingly, v2 includes support for dynamic targets as well. This opens up exciting new doors to reducing configuration, and we hope to expand on this to better support our first-party plugins in the near future.
|
||||
|
||||
|
||||
@ -220,7 +220,7 @@ And you'll then have access to Nx generators so you can create Vue applications,
|
||||
|
||||

|
||||
|
||||
Checkout out our [Vue standalone tutorial](/getting-started/tutorials/vue-standalone-tutorial) for more, as well as our [Vue API docs](/nx-api/vue), and stay tuned as Nx prepares to offer more Vue support (including support for [Nuxt](https://nuxt.com/), a full-stack framework built around Vue) in the near future!
|
||||
Checkout out our [Vue API docs](/nx-api/vue), and stay tuned as Nx prepares to offer more Vue support (including support for [Nuxt](https://nuxt.com/), a full-stack framework built around Vue) in the near future!
|
||||
|
||||
### Extending Nx: Local Generators, Build your Own CLI, Verdaccio Support
|
||||
|
||||
|
||||
@ -54,14 +54,6 @@
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "React Standalone",
|
||||
"path": "/getting-started/tutorials/react-standalone-tutorial",
|
||||
"id": "react-standalone-tutorial",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "React Monorepo",
|
||||
"path": "/getting-started/tutorials/react-monorepo-tutorial",
|
||||
@ -70,14 +62,6 @@
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Angular Standalone",
|
||||
"path": "/getting-started/tutorials/angular-standalone-tutorial",
|
||||
"id": "angular-standalone-tutorial",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Angular Monorepo",
|
||||
"path": "/getting-started/tutorials/angular-monorepo-tutorial",
|
||||
@ -86,14 +70,6 @@
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Vue Standalone",
|
||||
"path": "/getting-started/tutorials/vue-standalone-tutorial",
|
||||
"id": "vue-standalone-tutorial",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Gradle Monorepo",
|
||||
"path": "/getting-started/tutorials/gradle-tutorial",
|
||||
@ -154,14 +130,6 @@
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "React Standalone",
|
||||
"path": "/getting-started/tutorials/react-standalone-tutorial",
|
||||
"id": "react-standalone-tutorial",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "React Monorepo",
|
||||
"path": "/getting-started/tutorials/react-monorepo-tutorial",
|
||||
@ -170,14 +138,6 @@
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Angular Standalone",
|
||||
"path": "/getting-started/tutorials/angular-standalone-tutorial",
|
||||
"id": "angular-standalone-tutorial",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Angular Monorepo",
|
||||
"path": "/getting-started/tutorials/angular-monorepo-tutorial",
|
||||
@ -186,14 +146,6 @@
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Vue Standalone",
|
||||
"path": "/getting-started/tutorials/vue-standalone-tutorial",
|
||||
"id": "vue-standalone-tutorial",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Gradle Monorepo",
|
||||
"path": "/getting-started/tutorials/gradle-tutorial",
|
||||
@ -213,14 +165,6 @@
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "React Standalone",
|
||||
"path": "/getting-started/tutorials/react-standalone-tutorial",
|
||||
"id": "react-standalone-tutorial",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "React Monorepo",
|
||||
"path": "/getting-started/tutorials/react-monorepo-tutorial",
|
||||
@ -229,14 +173,6 @@
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Angular Standalone",
|
||||
"path": "/getting-started/tutorials/angular-standalone-tutorial",
|
||||
"id": "angular-standalone-tutorial",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Angular Monorepo",
|
||||
"path": "/getting-started/tutorials/angular-monorepo-tutorial",
|
||||
@ -245,14 +181,6 @@
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Vue Standalone",
|
||||
"path": "/getting-started/tutorials/vue-standalone-tutorial",
|
||||
"id": "vue-standalone-tutorial",
|
||||
"isExternal": false,
|
||||
"children": [],
|
||||
"disableCollapsible": false
|
||||
},
|
||||
{
|
||||
"name": "Gradle Monorepo",
|
||||
"path": "/getting-started/tutorials/gradle-tutorial",
|
||||
|
||||
@ -68,17 +68,6 @@
|
||||
"path": "/getting-started/tutorials/typescript-packages-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "react-standalone-tutorial",
|
||||
"name": "React Standalone",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "shared/tutorials/react-standalone",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/getting-started/tutorials/react-standalone-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "react-monorepo-tutorial",
|
||||
"name": "React Monorepo",
|
||||
@ -90,17 +79,6 @@
|
||||
"path": "/getting-started/tutorials/react-monorepo-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "angular-standalone-tutorial",
|
||||
"name": "Angular Standalone",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "shared/tutorials/angular-standalone",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/getting-started/tutorials/angular-standalone-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "angular-monorepo-tutorial",
|
||||
"name": "Angular Monorepo",
|
||||
@ -112,17 +90,6 @@
|
||||
"path": "/getting-started/tutorials/angular-monorepo-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "vue-standalone-tutorial",
|
||||
"name": "Vue Standalone",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "shared/tutorials/vue-standalone",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/getting-started/tutorials/vue-standalone-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "gradle-tutorial",
|
||||
"name": "Gradle Monorepo",
|
||||
@ -206,17 +173,6 @@
|
||||
"path": "/getting-started/tutorials/typescript-packages-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "react-standalone-tutorial",
|
||||
"name": "React Standalone",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "shared/tutorials/react-standalone",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/getting-started/tutorials/react-standalone-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "react-monorepo-tutorial",
|
||||
"name": "React Monorepo",
|
||||
@ -228,17 +184,6 @@
|
||||
"path": "/getting-started/tutorials/react-monorepo-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "angular-standalone-tutorial",
|
||||
"name": "Angular Standalone",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "shared/tutorials/angular-standalone",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/getting-started/tutorials/angular-standalone-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "angular-monorepo-tutorial",
|
||||
"name": "Angular Monorepo",
|
||||
@ -250,17 +195,6 @@
|
||||
"path": "/getting-started/tutorials/angular-monorepo-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "vue-standalone-tutorial",
|
||||
"name": "Vue Standalone",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "shared/tutorials/vue-standalone",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/getting-started/tutorials/vue-standalone-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
{
|
||||
"id": "gradle-tutorial",
|
||||
"name": "Gradle Monorepo",
|
||||
@ -288,17 +222,6 @@
|
||||
"path": "/getting-started/tutorials/typescript-packages-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
"/getting-started/tutorials/react-standalone-tutorial": {
|
||||
"id": "react-standalone-tutorial",
|
||||
"name": "React Standalone",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "shared/tutorials/react-standalone",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/getting-started/tutorials/react-standalone-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
"/getting-started/tutorials/react-monorepo-tutorial": {
|
||||
"id": "react-monorepo-tutorial",
|
||||
"name": "React Monorepo",
|
||||
@ -310,17 +233,6 @@
|
||||
"path": "/getting-started/tutorials/react-monorepo-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
"/getting-started/tutorials/angular-standalone-tutorial": {
|
||||
"id": "angular-standalone-tutorial",
|
||||
"name": "Angular Standalone",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "shared/tutorials/angular-standalone",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/getting-started/tutorials/angular-standalone-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
"/getting-started/tutorials/angular-monorepo-tutorial": {
|
||||
"id": "angular-monorepo-tutorial",
|
||||
"name": "Angular Monorepo",
|
||||
@ -332,17 +244,6 @@
|
||||
"path": "/getting-started/tutorials/angular-monorepo-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
"/getting-started/tutorials/vue-standalone-tutorial": {
|
||||
"id": "vue-standalone-tutorial",
|
||||
"name": "Vue Standalone",
|
||||
"description": "",
|
||||
"mediaImage": "",
|
||||
"file": "shared/tutorials/vue-standalone",
|
||||
"itemList": [],
|
||||
"isExternal": false,
|
||||
"path": "/getting-started/tutorials/vue-standalone-tutorial",
|
||||
"tags": []
|
||||
},
|
||||
"/getting-started/tutorials/gradle-tutorial": {
|
||||
"id": "gradle-tutorial",
|
||||
"name": "Gradle Monorepo",
|
||||
|
||||
@ -35,7 +35,7 @@ Here's a quick side-by-side overview comparing the features between the Angular
|
||||
| Executors | ✅ (Builders) | ✅ |
|
||||
| Advanced Generators (e.g. Module Federation, Tailwind,...) | ❌ | ✅ |
|
||||
| Integrated Tooling (Jest, Cypress, Playwright etc.) | ❌ | ✅ |
|
||||
| Support for [single-project Workspaces](/getting-started/tutorials/angular-standalone-tutorial) | ✅ | ✅ |
|
||||
| Support for single-project Workspaces | ✅ | ✅ |
|
||||
| First-Class [Monorepo Support](/getting-started/tutorials/angular-monorepo-tutorial) | ❌\* | ✅ |
|
||||
| [Enforced Module Boundaries](/features/enforce-module-boundaries) | ❌ | ✅ |
|
||||
| Interactive [Project Graph](/features/explore-graph) | ❌ | ✅ |
|
||||
@ -67,8 +67,6 @@ Nx is not just exclusively for monorepos, but can create
|
||||
- a single-project workspace (basically what the Angular CLI gives you)
|
||||
- a monorepo workspace (multiple projects in a single repo)
|
||||
|
||||
You can check out the [Angular single-project workspace tutorial](/getting-started/tutorials/angular-standalone-tutorial) to learn more about it.
|
||||
|
||||
### Generate a new project
|
||||
|
||||
You can create a new Nx single-project workspace using the following command:
|
||||
@ -270,7 +268,7 @@ Nx goes beyond being just a CLI and comes with [Nx Console](/getting-started/edi
|
||||
Nx is really made to scale with you. You can
|
||||
|
||||
- start small with a single-project workspace
|
||||
- modularize your application into more fine-grained libraries for better maintainability as your application (and team) grows ([more about that here](/getting-started/tutorials/angular-standalone-tutorial#modularizing-your-angular-app-with-local-libraries)), including mechanisms to make sure [things stay within their boundaries](/features/enforce-module-boundaries)
|
||||
- modularize your application into more fine-grained libraries for better maintainability as your application (and team) grows, including mechanisms to make sure [things stay within their boundaries](/features/enforce-module-boundaries)
|
||||
- you can then migrate to a monorepo when you are ready and need one ([more here](/recipes/tips-n-tricks/standalone-to-monorepo))
|
||||
- or even [add Webpack Module Federation support](/recipes/angular/module-federation-with-ssr)
|
||||
|
||||
@ -408,5 +406,4 @@ There is also a guide describing how to [consolidate multiple Angular CLI projec
|
||||
|
||||
You can learn more about Angular & Nx by following our dedicated tutorials:
|
||||
|
||||
- [Tutorial: Building Angular Apps with the Nx Standalone Projects Setup](/getting-started/tutorials/angular-standalone-tutorial)
|
||||
- [Tutorial: Building Angular Apps in an Nx Monorepo](/getting-started/tutorials/angular-monorepo-tutorial)
|
||||
|
||||
@ -59,8 +59,8 @@ npm add -D @nx/angular
|
||||
{% /tab %}
|
||||
{% /tabs %}
|
||||
|
||||
{% callout type="note" title="Angular Tutorials" %}
|
||||
For a full tutorial experience, follow the [Angular Standalone Tutorial](/getting-started/tutorials/angular-standalone-tutorial) or the [Angular Monorepo Tutorial](/getting-started/tutorials/angular-monorepo-tutorial)
|
||||
{% callout type="note" title="Angular Tutorial" %}
|
||||
For a full tutorial experience, follow the [Angular Monorepo Tutorial](/getting-started/tutorials/angular-monorepo-tutorial)
|
||||
{% /callout %}
|
||||
|
||||
## Using the Angular Plugin
|
||||
@ -127,7 +127,6 @@ nx g @nx/angular:service apps/appName/src/lib/my-service/my-service
|
||||
|
||||
## More Documentation
|
||||
|
||||
- [Angular Standalone Tutorial](/getting-started/tutorials/angular-standalone-tutorial)
|
||||
- [Angular Monorepo Tutorial](/getting-started/tutorials/angular-monorepo-tutorial)
|
||||
- [Migrating from the Angular CLI](/recipes/angular/migration/angular)
|
||||
- [Setup Module Federation with Angular and Nx](/concepts/module-federation/faster-builds-with-module-federation)
|
||||
|
||||
@ -12,8 +12,8 @@ It provides:
|
||||
|
||||
To create a new workspace with React, run `npx create-nx-workspace@latest --preset=react-standalone`.
|
||||
|
||||
{% callout type="note" title="React Tutorials" %}
|
||||
For a full tutorial experience, follow the [React Standalone Tutorial](/getting-started/tutorials/react-standalone-tutorial) or the [React Monorepo Tutorial](/getting-started/tutorials/react-monorepo-tutorial)
|
||||
{% callout type="note" title="React Tutorial" %}
|
||||
For a full tutorial experience, follow the [React Monorepo Tutorial](/getting-started/tutorials/react-monorepo-tutorial)
|
||||
{% /callout %}
|
||||
|
||||
### Installation
|
||||
@ -144,7 +144,6 @@ The library in `dist` is publishable to npm or a private registry.
|
||||
|
||||
## More Documentation
|
||||
|
||||
- [React Standalone Tutorial](/getting-started/tutorials/react-standalone-tutorial)
|
||||
- [React Monorepo Tutorial](/getting-started/tutorials/react-monorepo-tutorial)
|
||||
- [Using Cypress](/nx-api/cypress)
|
||||
- [Using Jest](/nx-api/jest)
|
||||
|
||||
@ -11,10 +11,6 @@ The Nx plugin for [Vue](https://vuejs.org/).
|
||||
|
||||
To create a new workspace with Vue, run `npx create-nx-workspace@latest --preset=vue`.
|
||||
|
||||
{% callout type="note" title="Vue Standalone Tutorial" %}
|
||||
For a full tutorial experience, follow the [Vue Standalone Tutorial](/getting-started/tutorials/vue-standalone-tutorial)
|
||||
{% /callout %}
|
||||
|
||||
### Installation
|
||||
|
||||
{% callout type="note" title="Keep Nx Package Versions In Sync" %}
|
||||
@ -59,7 +55,3 @@ To generate a Vue library, run the following:
|
||||
```shell
|
||||
nx g @nx/vue:lib libs/my-lib
|
||||
```
|
||||
|
||||
## More Documentation
|
||||
|
||||
- [Vue Standalone Tutorial](/getting-started/tutorials/vue-standalone-tutorial)
|
||||
|
||||
@ -45,31 +45,16 @@
|
||||
"id": "typescript-packages-tutorial",
|
||||
"file": "shared/tutorials/typescript-packages"
|
||||
},
|
||||
{
|
||||
"name": "React Standalone",
|
||||
"id": "react-standalone-tutorial",
|
||||
"file": "shared/tutorials/react-standalone"
|
||||
},
|
||||
{
|
||||
"name": "React Monorepo",
|
||||
"id": "react-monorepo-tutorial",
|
||||
"file": "shared/tutorials/react-monorepo"
|
||||
},
|
||||
{
|
||||
"name": "Angular Standalone",
|
||||
"id": "angular-standalone-tutorial",
|
||||
"file": "shared/tutorials/angular-standalone"
|
||||
},
|
||||
{
|
||||
"name": "Angular Monorepo",
|
||||
"id": "angular-monorepo-tutorial",
|
||||
"file": "shared/tutorials/angular-monorepo"
|
||||
},
|
||||
{
|
||||
"name": "Vue Standalone",
|
||||
"id": "vue-standalone-tutorial",
|
||||
"file": "shared/tutorials/vue-standalone"
|
||||
},
|
||||
{
|
||||
"name": "Gradle Monorepo",
|
||||
"id": "gradle-tutorial",
|
||||
|
||||
@ -64,8 +64,6 @@ Someone whose main focus is on improving their single application will be most i
|
||||
|
||||
{% cards %}
|
||||
{% card title="Standalone Applications with Nx" description="Learn what Standlone Apps are and how Nx can be useful" type="video" url="https://youtu.be/qEaVzh-oBBc" /%}
|
||||
{% card title="Tutorial: React Standalone Tutorial" description="Walkthrough for creating a React standalone application with Nx" type="documentation" url="/getting-started/tutorials/react-standalone-tutorial" /%}
|
||||
{% card title="Tutorial: Angular Standalone Tutorial" description="Walkthrough for creating an Angular standalone application with Nx" type="documentation" url="/getting-started/tutorials/angular-standalone-tutorial" /%}
|
||||
{% /cards %}
|
||||
|
||||
## How to Choose
|
||||
|
||||
@ -137,9 +137,6 @@ To avoid potential issues, it is [recommended to update one major version of Nx
|
||||
Try one of these tutorials for a full walkthrough of what to do after you install Nx
|
||||
|
||||
- [TypeScript Packages Tutorial](/getting-started/tutorials/typescript-packages-tutorial)
|
||||
- [Single React App Tutorial](/getting-started/tutorials/react-standalone-tutorial)
|
||||
- [Single Angular App Tutorial](/getting-started/tutorials/angular-standalone-tutorial)
|
||||
- [Single Vue App Tutorial](/getting-started/tutorials/vue-standalone-tutorial)
|
||||
- [React Monorepo Tutorial](/getting-started/tutorials/react-monorepo-tutorial)
|
||||
- [Angular Monorepo Tutorial](/getting-started/tutorials/angular-monorepo-tutorial)
|
||||
|
||||
|
||||
@ -59,22 +59,12 @@ Also, here are some recipes that give you more details based on the technology s
|
||||
|
||||
{% /cards %}
|
||||
|
||||
{% cards cols="2" lgCols="3" mdCols="3" smCols="2" %}
|
||||
{% cards cols="2" lgCols="4" mdCols="4" smCols="2" %}
|
||||
|
||||
{% link-card title="TypeScript Packages" type="tutorial" url="/getting-started/tutorials/typescript-packages-tutorial" icon="jsMono" /%}
|
||||
|
||||
{% link-card title="Single React App" type="tutorial" url="/getting-started/tutorials/react-standalone-tutorial" icon="react" /%}
|
||||
|
||||
{% link-card title="React Monorepo" type="tutorial" url="/getting-started/tutorials/react-monorepo-tutorial" icon="reactMono" /%}
|
||||
|
||||
{% /cards %}
|
||||
|
||||
{% cards cols="2" lgCols="4" mdCols="4" smCols="2" %}
|
||||
|
||||
{% link-card title="Single Vue App" type="tutorial" url="/getting-started/tutorials/vue-standalone-tutorial" icon="vue" /%}
|
||||
|
||||
{% link-card title="Single Angular App" type="tutorial" url="/getting-started/tutorials/angular-standalone-tutorial" icon="angular" /%}
|
||||
|
||||
{% link-card title="Angular Monorepo" type="tutorial" url="/getting-started/tutorials/angular-monorepo-tutorial" icon="angularMono" /%}
|
||||
|
||||
{% link-card title="Gradle Monorepo" type="tutorial" url="/getting-started/tutorials/gradle-tutorial" icon="gradle" /%}
|
||||
|
||||
@ -35,7 +35,7 @@ Here's a quick side-by-side overview comparing the features between the Angular
|
||||
| Executors | ✅ (Builders) | ✅ |
|
||||
| Advanced Generators (e.g. Module Federation, Tailwind,...) | ❌ | ✅ |
|
||||
| Integrated Tooling (Jest, Cypress, Playwright etc.) | ❌ | ✅ |
|
||||
| Support for [single-project Workspaces](/getting-started/tutorials/angular-standalone-tutorial) | ✅ | ✅ |
|
||||
| Support for single-project Workspaces | ✅ | ✅ |
|
||||
| First-Class [Monorepo Support](/getting-started/tutorials/angular-monorepo-tutorial) | ❌\* | ✅ |
|
||||
| [Enforced Module Boundaries](/features/enforce-module-boundaries) | ❌ | ✅ |
|
||||
| Interactive [Project Graph](/features/explore-graph) | ❌ | ✅ |
|
||||
@ -67,8 +67,6 @@ Nx is not just exclusively for monorepos, but can create
|
||||
- a single-project workspace (basically what the Angular CLI gives you)
|
||||
- a monorepo workspace (multiple projects in a single repo)
|
||||
|
||||
You can check out the [Angular single-project workspace tutorial](/getting-started/tutorials/angular-standalone-tutorial) to learn more about it.
|
||||
|
||||
### Generate a new project
|
||||
|
||||
You can create a new Nx single-project workspace using the following command:
|
||||
@ -270,7 +268,7 @@ Nx goes beyond being just a CLI and comes with [Nx Console](/getting-started/edi
|
||||
Nx is really made to scale with you. You can
|
||||
|
||||
- start small with a single-project workspace
|
||||
- modularize your application into more fine-grained libraries for better maintainability as your application (and team) grows ([more about that here](/getting-started/tutorials/angular-standalone-tutorial#modularizing-your-angular-app-with-local-libraries)), including mechanisms to make sure [things stay within their boundaries](/features/enforce-module-boundaries)
|
||||
- modularize your application into more fine-grained libraries for better maintainability as your application (and team) grows, including mechanisms to make sure [things stay within their boundaries](/features/enforce-module-boundaries)
|
||||
- you can then migrate to a monorepo when you are ready and need one ([more here](/recipes/tips-n-tricks/standalone-to-monorepo))
|
||||
- or even [add Webpack Module Federation support](/recipes/angular/module-federation-with-ssr)
|
||||
|
||||
@ -408,5 +406,4 @@ There is also a guide describing how to [consolidate multiple Angular CLI projec
|
||||
|
||||
You can learn more about Angular & Nx by following our dedicated tutorials:
|
||||
|
||||
- [Tutorial: Building Angular Apps with the Nx Standalone Projects Setup](/getting-started/tutorials/angular-standalone-tutorial)
|
||||
- [Tutorial: Building Angular Apps in an Nx Monorepo](/getting-started/tutorials/angular-monorepo-tutorial)
|
||||
|
||||
@ -59,8 +59,8 @@ npm add -D @nx/angular
|
||||
{% /tab %}
|
||||
{% /tabs %}
|
||||
|
||||
{% callout type="note" title="Angular Tutorials" %}
|
||||
For a full tutorial experience, follow the [Angular Standalone Tutorial](/getting-started/tutorials/angular-standalone-tutorial) or the [Angular Monorepo Tutorial](/getting-started/tutorials/angular-monorepo-tutorial)
|
||||
{% callout type="note" title="Angular Tutorial" %}
|
||||
For a full tutorial experience, follow the [Angular Monorepo Tutorial](/getting-started/tutorials/angular-monorepo-tutorial)
|
||||
{% /callout %}
|
||||
|
||||
## Using the Angular Plugin
|
||||
@ -127,7 +127,6 @@ nx g @nx/angular:service apps/appName/src/lib/my-service/my-service
|
||||
|
||||
## More Documentation
|
||||
|
||||
- [Angular Standalone Tutorial](/getting-started/tutorials/angular-standalone-tutorial)
|
||||
- [Angular Monorepo Tutorial](/getting-started/tutorials/angular-monorepo-tutorial)
|
||||
- [Migrating from the Angular CLI](/recipes/angular/migration/angular)
|
||||
- [Setup Module Federation with Angular and Nx](/concepts/module-federation/faster-builds-with-module-federation)
|
||||
|
||||
@ -12,8 +12,8 @@ It provides:
|
||||
|
||||
To create a new workspace with React, run `npx create-nx-workspace@latest --preset=react-standalone`.
|
||||
|
||||
{% callout type="note" title="React Tutorials" %}
|
||||
For a full tutorial experience, follow the [React Standalone Tutorial](/getting-started/tutorials/react-standalone-tutorial) or the [React Monorepo Tutorial](/getting-started/tutorials/react-monorepo-tutorial)
|
||||
{% callout type="note" title="React Tutorial" %}
|
||||
For a full tutorial experience, follow the [React Monorepo Tutorial](/getting-started/tutorials/react-monorepo-tutorial)
|
||||
{% /callout %}
|
||||
|
||||
### Installation
|
||||
@ -144,7 +144,6 @@ The library in `dist` is publishable to npm or a private registry.
|
||||
|
||||
## More Documentation
|
||||
|
||||
- [React Standalone Tutorial](/getting-started/tutorials/react-standalone-tutorial)
|
||||
- [React Monorepo Tutorial](/getting-started/tutorials/react-monorepo-tutorial)
|
||||
- [Using Cypress](/nx-api/cypress)
|
||||
- [Using Jest](/nx-api/jest)
|
||||
|
||||
@ -11,10 +11,6 @@ The Nx plugin for [Vue](https://vuejs.org/).
|
||||
|
||||
To create a new workspace with Vue, run `npx create-nx-workspace@latest --preset=vue`.
|
||||
|
||||
{% callout type="note" title="Vue Standalone Tutorial" %}
|
||||
For a full tutorial experience, follow the [Vue Standalone Tutorial](/getting-started/tutorials/vue-standalone-tutorial)
|
||||
{% /callout %}
|
||||
|
||||
### Installation
|
||||
|
||||
{% callout type="note" title="Keep Nx Package Versions In Sync" %}
|
||||
@ -59,7 +55,3 @@ To generate a Vue library, run the following:
|
||||
```shell
|
||||
nx g @nx/vue:lib libs/my-lib
|
||||
```
|
||||
|
||||
## More Documentation
|
||||
|
||||
- [Vue Standalone Tutorial](/getting-started/tutorials/vue-standalone-tutorial)
|
||||
|
||||
@ -7,11 +7,8 @@
|
||||
- [Editor Setup](/getting-started/editor-setup)
|
||||
- [Tutorials](/getting-started/tutorials)
|
||||
- [TypeScript Packages](/getting-started/tutorials/typescript-packages-tutorial)
|
||||
- [React Standalone](/getting-started/tutorials/react-standalone-tutorial)
|
||||
- [React Monorepo](/getting-started/tutorials/react-monorepo-tutorial)
|
||||
- [Angular Standalone](/getting-started/tutorials/angular-standalone-tutorial)
|
||||
- [Angular Monorepo](/getting-started/tutorials/angular-monorepo-tutorial)
|
||||
- [Vue Standalone](/getting-started/tutorials/vue-standalone-tutorial)
|
||||
- [Gradle Monorepo](/getting-started/tutorials/gradle-tutorial)
|
||||
- [Features](/features)
|
||||
- [Run Tasks](/features/run-tasks)
|
||||
|
||||
@ -15,10 +15,6 @@ What will you learn?
|
||||
- how to modularize your codebase and impose architectural constraints for better maintainability
|
||||
- [how to speed up CI with Nx Cloud ⚡](#fast-ci)
|
||||
|
||||
{% callout type="info" title="Looking for an Angular standalone app?" %}
|
||||
Note, this tutorial sets up a repo with applications and libraries in their own subfolders. If you are looking for an Angular standalone app setup then check out our [Angular standalone app tutorial](/getting-started/tutorials/angular-standalone-tutorial).
|
||||
{% /callout %}
|
||||
|
||||
## Nx CLI vs. Angular CLI
|
||||
|
||||
Nx evolved from being an extension of the Angular CLI to a [fully standalone CLI working with multiple frameworks](/getting-started/why-nx#how-does-nx-work). As a result, adopting Nx as an Angular user is relatively straightforward. Your existing code, including builders and schematics, will still work as before, but you'll also have access to all the benefits Nx offers.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -15,10 +15,6 @@ What will you learn?
|
||||
- how to modularize your codebase and impose architectural constraints for better maintainability
|
||||
- [how to speed up CI with Nx Cloud ⚡](#fast-ci)
|
||||
|
||||
{% callout type="info" title="Looking for a React standalone app?" %}
|
||||
Note, this tutorial sets up a repo with applications and libraries in their own subfolders. If you are looking for a React standalone app setup then check out our [React standalone app tutorial](/getting-started/tutorials/react-standalone-tutorial).
|
||||
{% /callout %}
|
||||
|
||||
## Why Use an Nx Monorepo?
|
||||
|
||||
In this tutorial, we'll set up a monorepo that is configured with a set of features that work together toward the goal of allowing developers to focus on building features rather than the configuration, coordination and maintenance of the tooling in the repo.
|
||||
|
||||
@ -1,248 +0,0 @@
|
||||
{
|
||||
"project": {
|
||||
"name": "react-app",
|
||||
"type": "lib",
|
||||
"data": {
|
||||
"root": ".",
|
||||
"targets": {
|
||||
"vite:build": {
|
||||
"options": {
|
||||
"cwd": ".",
|
||||
"command": "vite build"
|
||||
},
|
||||
"cache": true,
|
||||
"dependsOn": ["^vite:build"],
|
||||
"inputs": [
|
||||
"default",
|
||||
"^default",
|
||||
{
|
||||
"externalDependencies": ["vite"]
|
||||
}
|
||||
],
|
||||
"outputs": ["{projectRoot}/dist"],
|
||||
"executor": "nx:run-commands",
|
||||
"configurations": {}
|
||||
},
|
||||
"build": {
|
||||
"executor": "nx:run-script",
|
||||
"metadata": {
|
||||
"scriptContent": "nx vite:build",
|
||||
"runCommand": "npm run build"
|
||||
},
|
||||
"cache": true,
|
||||
"dependsOn": ["typecheck"],
|
||||
"options": {
|
||||
"script": "build"
|
||||
},
|
||||
"configurations": {}
|
||||
}
|
||||
},
|
||||
"sourceRoot": ".",
|
||||
"name": "react-app",
|
||||
"projectType": "library",
|
||||
"metadata": {
|
||||
"targetGroups": {
|
||||
"NPM Scripts": ["build"]
|
||||
}
|
||||
},
|
||||
"implicitDependencies": [],
|
||||
"tags": []
|
||||
}
|
||||
},
|
||||
"sourceMap": {
|
||||
"root": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.options": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.cache": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.dependsOn": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.inputs": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.outputs": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.executor": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.options.cwd": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.options.command": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.serve": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.serve.options": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.serve.executor": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.serve.options.cwd": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.serve.options.command": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:preview": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:preview.options": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:preview.executor": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:preview.options.cwd": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:preview.options.command": [
|
||||
"vite.config.ts",
|
||||
"@nx/vite/plugin"
|
||||
],
|
||||
"targets.serve-static": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.serve-static.executor": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.serve-static.options": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.serve-static.options.buildTarget": [
|
||||
"vite.config.ts",
|
||||
"@nx/vite/plugin"
|
||||
],
|
||||
"targets.serve-static.options.spa": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.eslint:lint": [".eslintrc.cjs", "@nx/eslint/plugin"],
|
||||
"targets.eslint:lint.cache": [".eslintrc.cjs", "@nx/eslint/plugin"],
|
||||
"targets.eslint:lint.options": [".eslintrc.cjs", "@nx/eslint/plugin"],
|
||||
"targets.eslint:lint.inputs": [".eslintrc.cjs", "@nx/eslint/plugin"],
|
||||
"targets.eslint:lint.outputs": [".eslintrc.cjs", "@nx/eslint/plugin"],
|
||||
"targets.eslint:lint.executor": [".eslintrc.cjs", "@nx/eslint/plugin"],
|
||||
"targets.eslint:lint.options.cwd": [".eslintrc.cjs", "@nx/eslint/plugin"],
|
||||
"targets.eslint:lint.options.command": [
|
||||
".eslintrc.cjs",
|
||||
"@nx/eslint/plugin"
|
||||
],
|
||||
"targets.typecheck": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets.typecheck.executor": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.typecheck.options": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.typecheck.metadata": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.typecheck.cache": ["nx.json", "nx/core/target-defaults"],
|
||||
"targets.typecheck.options.script": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.typecheck.metadata.scriptContent": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.typecheck.metadata.runCommand": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets.build.executor": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.options": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.metadata": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.cache": ["nx.json", "nx/core/target-defaults"],
|
||||
"targets.build.options.script": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.metadata.scriptContent": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.metadata.runCommand": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.lint": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets.lint.executor": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.lint.options": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets.lint.metadata": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.lint.cache": ["nx.json", "nx/core/target-defaults"],
|
||||
"targets.lint.options.script": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.lint.metadata.scriptContent": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.lint.metadata.runCommand": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"sourceRoot": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"name": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"projectType": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"metadata.targetGroups": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.0": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.1": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.2": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.3": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.4": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.dev": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets.dev.executor": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets.dev.options": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets.dev.metadata": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets.dev.options.script": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.dev.metadata.scriptContent": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.dev.metadata.runCommand": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.dependsOn": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.preview": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets.preview.executor": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.preview.options": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.preview.metadata": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.preview.options.script": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.preview.metadata.scriptContent": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.preview.metadata.runCommand": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
]
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 36 KiB |
File diff suppressed because it is too large
Load Diff
@ -1,186 +0,0 @@
|
||||
{
|
||||
"project": {
|
||||
"name": "vue-app",
|
||||
"type": "lib",
|
||||
"data": {
|
||||
"root": ".",
|
||||
"targets": {
|
||||
"vite:build": {
|
||||
"options": {
|
||||
"cwd": ".",
|
||||
"command": "vite build"
|
||||
},
|
||||
"cache": true,
|
||||
"dependsOn": ["^vite:build"],
|
||||
"inputs": [
|
||||
"default",
|
||||
"^default",
|
||||
{
|
||||
"externalDependencies": ["vite"]
|
||||
}
|
||||
],
|
||||
"outputs": ["{projectRoot}/dist"],
|
||||
"executor": "nx:run-commands",
|
||||
"configurations": {}
|
||||
},
|
||||
"build-only": {
|
||||
"executor": "nx:run-script",
|
||||
"metadata": {
|
||||
"scriptContent": "nx vite:build",
|
||||
"runCommand": "npm run build-only"
|
||||
},
|
||||
"outputs": ["{projectRoot}/dist"],
|
||||
"cache": true,
|
||||
"options": {
|
||||
"script": "build-only"
|
||||
},
|
||||
"configurations": {}
|
||||
},
|
||||
"build": {
|
||||
"executor": "nx:run-script",
|
||||
"metadata": {
|
||||
"scriptContent": "nx exec -- echo 'Ran type-check and build-only'",
|
||||
"runCommand": "npm run build"
|
||||
},
|
||||
"dependsOn": [
|
||||
"type-check",
|
||||
{
|
||||
"target": "build-only",
|
||||
"params": "forward"
|
||||
}
|
||||
],
|
||||
"options": {
|
||||
"script": "build"
|
||||
},
|
||||
"configurations": {}
|
||||
}
|
||||
},
|
||||
"sourceRoot": ".",
|
||||
"name": "vue-app",
|
||||
"projectType": "library",
|
||||
"metadata": {
|
||||
"targetGroups": {
|
||||
"NPM Scripts": ["build", "build-only"]
|
||||
}
|
||||
},
|
||||
"implicitDependencies": [],
|
||||
"tags": []
|
||||
}
|
||||
},
|
||||
"sourceMap": {
|
||||
"root": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.options": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.cache": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.dependsOn": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.inputs": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.outputs": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.executor": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.options.cwd": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.vite:build.options.command": ["vite.config.ts", "@nx/vite/plugin"],
|
||||
"targets.build-only": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets.build-only.executor": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build-only.options": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build-only.metadata": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build-only.outputs": ["nx.json", "nx/core/target-defaults"],
|
||||
"targets.build-only.cache": ["nx.json", "nx/core/target-defaults"],
|
||||
"targets.build-only.options.script": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build-only.metadata.scriptContent": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build-only.metadata.runCommand": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"sourceRoot": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"name": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"projectType": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"metadata.targetGroups": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.0": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.1": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.2": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.3": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.4": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.5": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.6": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.7": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"metadata.targetGroups.NPM Scripts.8": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build": ["package.json", "nx/core/package-json-workspaces"],
|
||||
"targets.build.executor": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.metadata": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.dependsOn": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.options": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.options.script": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.metadata.scriptContent": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
],
|
||||
"targets.build.metadata.runCommand": [
|
||||
"package.json",
|
||||
"nx/core/package-json-workspaces"
|
||||
]
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 30 KiB |
File diff suppressed because it is too large
Load Diff
@ -613,29 +613,29 @@ const standaloneTutorialRedirects = {
|
||||
'/react-tutorial/5-summary':
|
||||
'/getting-started/tutorials/react-monorepo-tutorial',
|
||||
'/react-standalone-tutorial':
|
||||
'/getting-started/tutorials/react-standalone-tutorial',
|
||||
'/getting-started/tutorials/react-monorepo-tutorial',
|
||||
'/react-standalone-tutorial/1-code-generation':
|
||||
'/getting-started/tutorials/react-standalone-tutorial',
|
||||
'/getting-started/tutorials/react-monorepo-tutorial',
|
||||
'/react-standalone-tutorial/2-project-graph':
|
||||
'/getting-started/tutorials/react-standalone-tutorial',
|
||||
'/getting-started/tutorials/react-monorepo-tutorial',
|
||||
'/react-standalone-tutorial/3-task-running':
|
||||
'/getting-started/tutorials/react-standalone-tutorial',
|
||||
'/getting-started/tutorials/react-monorepo-tutorial',
|
||||
'/react-standalone-tutorial/4-task-pipelines':
|
||||
'/getting-started/tutorials/react-standalone-tutorial',
|
||||
'/getting-started/tutorials/react-monorepo-tutorial',
|
||||
'/react-standalone-tutorial/5-summary':
|
||||
'/getting-started/tutorials/react-standalone-tutorial',
|
||||
'/getting-started/tutorials/react-monorepo-tutorial',
|
||||
'/angular-standalone-tutorial':
|
||||
'/getting-started/tutorials/angular-standalone-tutorial',
|
||||
'/getting-started/tutorials/angular-monorepo-tutorial',
|
||||
'/angular-standalone-tutorial/1-code-generation':
|
||||
'/getting-started/tutorials/angular-standalone-tutorial',
|
||||
'/getting-started/tutorials/angular-monorepo-tutorial',
|
||||
'/angular-standalone-tutorial/2-project-graph':
|
||||
'/getting-started/tutorials/angular-standalone-tutorial',
|
||||
'/getting-started/tutorials/angular-monorepo-tutorial',
|
||||
'/angular-standalone-tutorial/3-task-running':
|
||||
'/getting-started/tutorials/angular-standalone-tutorial',
|
||||
'/getting-started/tutorials/angular-monorepo-tutorial',
|
||||
'/angular-standalone-tutorial/4-task-pipelines':
|
||||
'/getting-started/tutorials/angular-standalone-tutorial',
|
||||
'/getting-started/tutorials/angular-monorepo-tutorial',
|
||||
'/angular-standalone-tutorial/5-summary':
|
||||
'/getting-started/tutorials/angular-standalone-tutorial',
|
||||
'/getting-started/tutorials/angular-monorepo-tutorial',
|
||||
};
|
||||
|
||||
const packagesIndexes = {
|
||||
@ -782,9 +782,9 @@ const conceptUrls = {
|
||||
'/getting-started/tutorials/integrated-repo-tutorial':
|
||||
'/getting-started/tutorials/react-monorepo-tutorial',
|
||||
'/getting-started/react-standalone-tutorial':
|
||||
'/getting-started/tutorials/react-standalone-tutorial',
|
||||
'/getting-started/tutorials/react-monorepo-tutorial',
|
||||
'/getting-started/angular-standalone-tutorial':
|
||||
'/getting-started/tutorials/angular-standalone-tutorial',
|
||||
'/getting-started/tutorials/angular-monorepo-tutorial',
|
||||
'/concepts/more-concepts/micro-frontend-architecture':
|
||||
'/concepts/module-federation/micro-frontend-architecture',
|
||||
'/concepts/more-concepts/faster-builds-with-module-federation':
|
||||
@ -806,9 +806,15 @@ const nested5minuteTutorialUrls = {
|
||||
'/tutorials/integrated-repo-tutorial':
|
||||
'/getting-started/tutorials/integrated-repo-tutorial',
|
||||
'/tutorials/react-standalone-tutorial':
|
||||
'/getting-started/tutorials/react-standalone-tutorial',
|
||||
'/getting-started/tutorials/react-monorepo-tutorial',
|
||||
'/getting-started/tutorials/react-standalone-tutorial':
|
||||
'/getting-started/tutorials/react-monorepo-tutorial',
|
||||
'/tutorials/angular-standalone-tutorial':
|
||||
'/getting-started/tutorials/angular-standalone-tutorial',
|
||||
'/getting-started/tutorials/angular-monorepo-tutorial',
|
||||
'/getting-started/tutorials/angular-standalone-tutorial':
|
||||
'/getting-started/tutorials/angular-monorepo-tutorial',
|
||||
'/getting-started/tutorials/vue-standalone-tutorial':
|
||||
'/getting-started/tutorials',
|
||||
'/tutorials/node-server-tutorial': '/getting-started/tutorials',
|
||||
'/angular-tutorial': '/getting-started/tutorials/angular-monorepo-tutorial',
|
||||
'/angular-tutorial/1-code-generation':
|
||||
|
||||
@ -66,11 +66,7 @@ describe('Redirect rules configuration', () => {
|
||||
});
|
||||
|
||||
test('old tutorial links', () => {
|
||||
const oldTutorialUrls = [
|
||||
'/tutorials/integrated-repo-tutorial',
|
||||
'/tutorials/react-standalone-tutorial',
|
||||
'/tutorials/angular-standalone-tutorial',
|
||||
];
|
||||
const oldTutorialUrls = ['/tutorials/integrated-repo-tutorial'];
|
||||
|
||||
for (const url of oldTutorialUrls) {
|
||||
expect(redirectRules.nested5minuteTutorialUrls[url]).toEqual(
|
||||
|
||||
@ -390,20 +390,6 @@ export function SmarterToolsForMonorepos(): JSX.Element {
|
||||
/>
|
||||
</Link>
|
||||
</Card>
|
||||
<Card>
|
||||
<Link
|
||||
href="/getting-started/tutorials/vue-standalone-tutorial?utm_medium=website&utm_campaign=homepage_links&utm_content=cta_smarter_tools_techlink"
|
||||
prefetch={false}
|
||||
title="Nx with Vue"
|
||||
className="h-full w-full p-2 sm:p-4"
|
||||
>
|
||||
<span className="absolute inset-0" />
|
||||
<VueIcon
|
||||
aria-hidden="true"
|
||||
className="h-full w-full shrink-0"
|
||||
/>
|
||||
</Link>
|
||||
</Card>
|
||||
<Card>
|
||||
<Link
|
||||
href="/nx-api/nuxt?utm_medium=website&utm_campaign=homepage_links&utm_content=cta_smarter_tools_techlink"
|
||||
@ -869,20 +855,6 @@ export function SmarterToolsForMonorepos(): JSX.Element {
|
||||
/>
|
||||
</Link>
|
||||
</Card>
|
||||
<Card>
|
||||
<Link
|
||||
href="/getting-started/tutorials/vue-standalone-tutorial?utm_medium=website&utm_campaign=homepage_links&utm_content=cta_smarter_tools_techlink"
|
||||
prefetch={false}
|
||||
title="Nx with Vue"
|
||||
className="h-full w-full p-2 sm:p-4"
|
||||
>
|
||||
<span className="absolute inset-0" />
|
||||
<VueIcon
|
||||
aria-hidden="true"
|
||||
className="h-full w-full shrink-0"
|
||||
/>
|
||||
</Link>
|
||||
</Card>
|
||||
<Card>
|
||||
<Link
|
||||
href="/nx-api/nuxt?utm_medium=website&utm_campaign=homepage_links&utm_content=cta_smarter_tools_techlink"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user