[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`17.3.1` -> `18.0.4`](https://renovatebot.com/diffs/npm/@nx%2fvite/17.3.1/18.0.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`^17.1.3` -> `^18.0.0`](https://renovatebot.com/diffs/npm/nx/17.3.1/18.0.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [nx](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/nx)) | [`^17.2.8` -> `^18.0.0`](https://renovatebot.com/diffs/npm/nx/17.3.1/18.0.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>nrwl/nx (@​nx/vite)</summary> ### [`v18.0.4`](https://togithub.com/nrwl/nx/releases/tag/18.0.4) [Compare Source](https://togithub.com/nrwl/nx/compare/18.0.3...18.0.4) ##### 18.0.4 (2024-02-09) ##### 🚀 Features - **core:** update swc/register ([#​21755](https://togithub.com/nrwl/nx/pull/21755)) - **expo:** support cjs and mjs ([#​21408](https://togithub.com/nrwl/nx/pull/21408)) - **nx-dev:** update launch conf timings ([db78715a70](https://togithub.com/nrwl/nx/commit/db78715a70)) - **nx-dev:** update launch page link text ([#​21747](https://togithub.com/nrwl/nx/pull/21747)) ##### 🩹 Fixes - **angular:** resolve the index html transformer correctly for esbuild based build targets in dev-server ([#​21679](https://togithub.com/nrwl/nx/pull/21679)) - **angular:** generate app server module setup correctly in setup-ssr generator ([#​21702](https://togithub.com/nrwl/nx/pull/21702)) - **angular:** add missing forceEsbuild option to dev-server executor ([#​21753](https://togithub.com/nrwl/nx/pull/21753)) - **core:** remove implementation detail from warning ([89797d2f7a](https://togithub.com/nrwl/nx/commit/89797d2f7a)) - **core:** static run one lifecycle should always print dependent task status, and output when verbose ([#​21720](https://togithub.com/nrwl/nx/pull/21720)) - **js:** babel preset should also check for JEST_WORKER_ID to transpile to CJS ([#​21754](https://togithub.com/nrwl/nx/pull/21754)) - **misc:** pin generated vite version to ~5.0.0 to avoid issues with storybook ([#​21740](https://togithub.com/nrwl/nx/pull/21740)) - **module-federation:** map static remote locations correctly ([#​21709](https://togithub.com/nrwl/nx/pull/21709)) - **nextjs:** src package.json should not be copied to output folder ([b0506c9f8f](https://togithub.com/nrwl/nx/commit/b0506c9f8f)) - **nextjs:** Custom server should work with Crystal ([#​21736](https://togithub.com/nrwl/nx/pull/21736)) - **nx-dev:** remove fence from new packages and "nx add" commands ([#​21705](https://togithub.com/nrwl/nx/pull/21705)) - **playwright:** fix include in tsconfig.json ([#​21730](https://togithub.com/nrwl/nx/pull/21730)) - **release:** logging improvements ([#​21692](https://togithub.com/nrwl/nx/pull/21692)) - **release:** ensure `nx release publish --graph` only includes projects with target ([#​21726](https://togithub.com/nrwl/nx/pull/21726)) - **release:** do not stop daemon in dry-run ([#​21743](https://togithub.com/nrwl/nx/pull/21743)) - **remix:** do not rename root jest.preset.js ([#​21703](https://togithub.com/nrwl/nx/pull/21703)) - **testing:** increase the default timeout to 15s for the dev server to start ([#​21716](https://togithub.com/nrwl/nx/pull/21716)) - **testing:** ensure cypress closes the web dev server ([#​21759](https://togithub.com/nrwl/nx/pull/21759)) ##### ❤️ Thank You - Austin Fahsl [@​fahslaj](https://togithub.com/fahslaj) - Colum Ferry [@​Coly010](https://togithub.com/Coly010) - Emily Xiong [@​xiongemi](https://togithub.com/xiongemi) - Jack Hsu [@​jaysoo](https://togithub.com/jaysoo) - James Henry [@​JamesHenry](https://togithub.com/JamesHenry) - Jason Jean [@​FrozenPandaz](https://togithub.com/FrozenPandaz) - Juri [@​juristr](https://togithub.com/juristr) - Juri Strumpflohner [@​juristr](https://togithub.com/juristr) - Leosvel Pérez Espinosa [@​leosvelperez](https://togithub.com/leosvelperez) - Miroslav Jonas [@​meeroslav](https://togithub.com/meeroslav) - Miroslav Jonaš [@​meeroslav](https://togithub.com/meeroslav) - Nicholas Cunningham [@​ndcunningham](https://togithub.com/ndcunningham) - Yu Zheng ### [`v18.0.3`](https://togithub.com/nrwl/nx/releases/tag/18.0.3) [Compare Source](https://togithub.com/nrwl/nx/compare/18.0.2...18.0.3) #### 18.0.3 (2024-02-07) ##### 🚀 Features - **bundling:** bump rollup-plugin-typescript2 version ([#​20609](https://togithub.com/nrwl/nx/pull/20609)) - **remix:** add playwright option for e2eTestRunner ([#​21603](https://togithub.com/nrwl/nx/pull/21603)) ##### 🩹 Fixes - **angular:** ajv hoisting issue ([#​21641](https://togithub.com/nrwl/nx/pull/21641)) - **core:** add missing parts to ci workflws and update docs ([3078ecf66f](https://togithub.com/nrwl/nx/commit/3078ecf66f)) - **core:** temporary use forked portable_pty to inherit cursor position for windows ([#​21683](https://togithub.com/nrwl/nx/pull/21683)) - **core:** handle blocking stdin ([#​21672](https://togithub.com/nrwl/nx/pull/21672)) - **linter:** adjust terminal run check for crystal ([#​21638](https://togithub.com/nrwl/nx/pull/21638)) - **misc:** ensure swc transpiler process required files ([#​21674](https://togithub.com/nrwl/nx/pull/21674)) - **nx-dev:** launch page mobile experience ([e8d2b471a8](https://togithub.com/nrwl/nx/commit/e8d2b471a8)) - **nx-dev:** redirect on remote caching page ([#​21669](https://togithub.com/nrwl/nx/pull/21669)) - **testing:** cleanup e2e atomization plugins ([#​21688](https://togithub.com/nrwl/nx/pull/21688)) - **vite:** import esbuild before loading config to keep it in cache ([#​21685](https://togithub.com/nrwl/nx/pull/21685)) ##### ❤️ Thank You - Colum Ferry [@​Coly010](https://togithub.com/Coly010) - Craigory Coppola [@​AgentEnder](https://togithub.com/AgentEnder) - Jack Hsu [@​jaysoo](https://togithub.com/jaysoo) - Jonathan Cammisuli - Juri [@​juristr](https://togithub.com/juristr) - Juri Strumpflohner [@​juristr](https://togithub.com/juristr) - Leosvel Pérez Espinosa [@​leosvelperez](https://togithub.com/leosvelperez) - Miroslav Jonas [@​meeroslav](https://togithub.com/meeroslav) - Miroslav Jonaš [@​meeroslav](https://togithub.com/meeroslav) - Nikita Barsukov [@​nsbarsukov](https://togithub.com/nsbarsukov) ### [`v18.0.2`](https://togithub.com/nrwl/nx/releases/tag/18.0.2) [Compare Source](https://togithub.com/nrwl/nx/compare/18.0.1...18.0.2) ##### 18.0.2 (2024-02-05) ##### 🩹 Fixes - **angular:** fix wrong trailing comma in mf bootstrap code generation ([#​21600](https://togithub.com/nrwl/nx/pull/21600)) - **angular:** support inferred cypress targets in setup-mf generator ([#​21619](https://togithub.com/nrwl/nx/pull/21619)) - **core:** pass the full resolved path of ts-node/esm when reloading the CLI ([#​21607](https://togithub.com/nrwl/nx/pull/21607)) - **core:** remove logic to reload process with esm loader for Node 18 ([#​21623](https://togithub.com/nrwl/nx/pull/21623)) - **core:** prevent target defaults from being discarded during merge process ([#​21624](https://togithub.com/nrwl/nx/pull/21624)) - **misc:** handle workspaces if no plugin selected in nx init and only generate files after prompts ([#​21606](https://togithub.com/nrwl/nx/pull/21606)) - **nextjs:** move `next/constants` from top-level import to when it is needed ([#​21612](https://togithub.com/nrwl/nx/pull/21612)) - **nextjs:** Enable next e2e test ([#​21625](https://togithub.com/nrwl/nx/pull/21625)) - **node:** Broken E2E tests ([#​21569](https://togithub.com/nrwl/nx/pull/21569)) - **nx-dev:** redirect core-features page ([#​21616](https://togithub.com/nrwl/nx/pull/21616)) - **webpack:** require ForkTsCheckerWebpackPlugin only as required ([#​21629](https://togithub.com/nrwl/nx/pull/21629)) ##### ❤️ Thank You - Craigory Coppola [@​AgentEnder](https://togithub.com/AgentEnder) - Jack Hsu [@​jaysoo](https://togithub.com/jaysoo) - Katerina Skroumpelou [@​mandarini](https://togithub.com/mandarini) - Leosvel Pérez Espinosa [@​leosvelperez](https://togithub.com/leosvelperez) - Nicholas Cunningham [@​ndcunningham](https://togithub.com/ndcunningham) ### [`v18.0.1`](https://togithub.com/nrwl/nx/releases/tag/18.0.1) [Compare Source](https://togithub.com/nrwl/nx/compare/18.0.0...18.0.1) ##### 18.0.1 (2024-02-04) ##### 🩹 Fixes - **core:** nx cloud prompt during migrate doesn't skip connection ([#​21588](https://togithub.com/nrwl/nx/pull/21588)) ##### ❤️ Thank You - Philip Fulcher ### [`v18.0.0`](https://togithub.com/nrwl/nx/releases/tag/18.0.0) [Compare Source](https://togithub.com/nrwl/nx/compare/17.3.2...18.0.0) ##### 18.0.0 (2024-02-03) Nx 18 introduces Project Crystal 💎, a significant shift towards making Nx more transparent and easy to understand! [Learn more here!](https://nx.dev/concepts/inferred-tasks). This is now enabled by default where avaialble and is the reason why we decided to mark it as a major version. > Note: Though this is a major version, there are no removals of previous deprecations. Any deprecations which were previously scheduled for Nx 18 are now scheduled for Nx 19 which will still be coming out around April 2024. ##### 🚀 Features - **angular:** add generator to convert targets to use the esbuild-based application executor ([#​21333](https://togithub.com/nrwl/nx/pull/21333)) - **core:** don't clear NX_BASE or NX_HEAD ([#​20125](https://togithub.com/nrwl/nx/pull/20125)) - **core:** log to guide users to show details after project generation ([#​21350](https://togithub.com/nrwl/nx/pull/21350)) - **core:** improve nx connect success message ([#​21295](https://togithub.com/nrwl/nx/pull/21295)) - **core:** add support for loading .ts files using ESM ([#​21268](https://togithub.com/nrwl/nx/pull/21268)) - **core:** support --use-agents and --no-agents ([#​21472](https://togithub.com/nrwl/nx/pull/21472)) - **core:** enable project crystal by default ([#​21403](https://togithub.com/nrwl/nx/pull/21403)) - **core:** move distribution to beginning of generated ci workflows ([#​21483](https://togithub.com/nrwl/nx/pull/21483)) - **core:** add migration to disable adding plugins automatically in existing workspaces ([#​21508](https://togithub.com/nrwl/nx/pull/21508)) - **core:** add log lines grouping for GH Actions ([#​21357](https://togithub.com/nrwl/nx/pull/21357)) - **core:** add fallback flow to nx init when no plugins are detected ([#​21538](https://togithub.com/nrwl/nx/pull/21538)) - **core:** improve the commented dte message on ci-workflows ([#​21524](https://togithub.com/nrwl/nx/pull/21524)) - **core:** add e2e to ci workflows ([#​21487](https://togithub.com/nrwl/nx/pull/21487)) - **devkit:** improving error handeling read target options ([#​20336](https://togithub.com/nrwl/nx/pull/20336)) - **devkit:** add loadConfigFile function for plugins to use ([#​21511](https://togithub.com/nrwl/nx/pull/21511)) - **linter:** add error and warning statistics ([#​18313](https://togithub.com/nrwl/nx/pull/18313)) - **linter:** add option for [@​nx/dependency-checks](https://togithub.com/nx/dependency-checks) to update workspace dependencies using local file paths ([#​20157](https://togithub.com/nrwl/nx/pull/20157)) - **nextjs:** upgrade Next.js 14.0.3 ([#​20334](https://togithub.com/nrwl/nx/pull/20334)) - **nx-dev:** more logos & announcement banner ([#​21444](https://togithub.com/nrwl/nx/pull/21444)) - **react-native:** add useTransformReactJSX babel config to generators ([#​19170](https://togithub.com/nrwl/nx/pull/19170)) - **react-native:** upgrade react native to 0.73 ([#​20896](https://togithub.com/nrwl/nx/pull/20896)) - **vite:** allow passing path to custom tsconfig file when skipTypeCheck is false ([#​19784](https://togithub.com/nrwl/nx/pull/19784)) ##### 🩹 Fixes - nestjs lib generator pass skipPackageJson flag to js lib generator ([#​20442](https://togithub.com/nrwl/nx/pull/20442)) - **angular:** fix dev-server validation for esbuildMiddleware ([#​21413](https://togithub.com/nrwl/nx/pull/21413)) - **angular:** should not log invalid extension includedScripts ([#​21441](https://togithub.com/nrwl/nx/pull/21441)) - **angular:** handle indexHtmlTransformer option in dev-server correctly ([#​21520](https://togithub.com/nrwl/nx/pull/21520)) - **bundling:** consider index/folder imports in manual file resolution ([#​19030](https://togithub.com/nrwl/nx/pull/19030)) - **core:** remove misleading message at front of error ([#​21443](https://togithub.com/nrwl/nx/pull/21443)) - **core:** new generator not skipping package installation ([#​17927](https://togithub.com/nrwl/nx/pull/17927)) - **core:** include typescript package when calculating project hashes ([#​21285](https://togithub.com/nrwl/nx/pull/21285)) - **core:** do not append node_module paths in `run-script` executor ([#​21445](https://togithub.com/nrwl/nx/pull/21445)) - **core:** update axios to address CVE-2023-45857 ([#​20493](https://togithub.com/nrwl/nx/pull/20493)) - **core:** Add missing migration from playwright ([#​21448](https://togithub.com/nrwl/nx/pull/21448)) - **core:** always remove cursor reset in terminal output for Windows ([#​21467](https://togithub.com/nrwl/nx/pull/21467)) - **core:** do not run pty in run-script when we're not TTY ([#​21496](https://togithub.com/nrwl/nx/pull/21496)) - **core:** target defaults should be able to apply to multiple targets with the same executor ([#​21438](https://togithub.com/nrwl/nx/pull/21438)) - **core:** nx build --graph file.json should work in subdirectories ([#​19858](https://togithub.com/nrwl/nx/pull/19858)) - **core:** Update Nx Welcome to include nx show project ([#​21509](https://togithub.com/nrwl/nx/pull/21509)) - **core:** handle negative patterns better when specified in pnpm-workspaces ([#​19983](https://togithub.com/nrwl/nx/pull/19983)) - **core:** module federation migration for project with no targets ([#​21536](https://togithub.com/nrwl/nx/pull/21536)) - **core:** remove the full workspace path with node_modules from the path env variable when running `run-scripts` ([#​21532](https://togithub.com/nrwl/nx/pull/21532)) - **core:** do not watch temporary vite files ([#​21514](https://togithub.com/nrwl/nx/pull/21514)) - **core:** target defaults from specifier should not be clobbered by name based target defaults ([#​21539](https://togithub.com/nrwl/nx/pull/21539)) - **core:** fix missing nxCloud error message on ci workflows ([#​21564](https://togithub.com/nrwl/nx/pull/21564)) - **core:** handle spaces when launching nxFork ([#​21571](https://togithub.com/nrwl/nx/pull/21571)) - **expo:** set port for e2e ([#​21559](https://togithub.com/nrwl/nx/pull/21559)) - **graph:** repair externalApiService usage broken after refactor ([#​21422](https://togithub.com/nrwl/nx/pull/21422)) - **graph:** fix expand when using external api ([#​21433](https://togithub.com/nrwl/nx/pull/21433)) - **graph:** don't show open config button on nx.dev & refactor tooltips ([#​21463](https://togithub.com/nrwl/nx/pull/21463)) - **graph:** fix openen project details with expanded target from external api ([#​21548](https://togithub.com/nrwl/nx/pull/21548)) - **js:** allow inlined libs without imports ([#​20649](https://togithub.com/nrwl/nx/pull/20649)) - **js:** package type is module should emit esm ([#​21473](https://togithub.com/nrwl/nx/pull/21473)) - **linter:** remove extend of [@​angular-eslint/recommended--extra](https://togithub.com/angular-eslint/recommended--extra) config ([#​18465](https://togithub.com/nrwl/nx/pull/18465)) - **linter:** restore rules to match previous [@​typescript-eslint/recommended](https://togithub.com/typescript-eslint/recommended) ([#​21424](https://togithub.com/nrwl/nx/pull/21424)) - **linter:** make target default migrations a bit more robust ([#​21446](https://togithub.com/nrwl/nx/pull/21446)) - **linter:** make eslint mandatory dependency ([#​21406](https://togithub.com/nrwl/nx/pull/21406)) - **linter:** ensure flat config generator works for pcv3 plugin ([#​21485](https://togithub.com/nrwl/nx/pull/21485)) - **linter:** remove reportUnusedDisableDirectives for flat config ([#​21405](https://togithub.com/nrwl/nx/pull/21405)) - **linter:** prevent dep-checks leaking when used outside nx ([#​21404](https://togithub.com/nrwl/nx/pull/21404)) - **misc:** prevent ts-node from reading tsconfig when registering transpiler ([#​21381](https://togithub.com/nrwl/nx/pull/21381)) - **misc:** set $schema in nx.json generated during nx init ([#​21455](https://togithub.com/nrwl/nx/pull/21455)) - **misc:** use caret for semver version ([#​18140](https://togithub.com/nrwl/nx/pull/18140)) - **module-federation:** ensure the static remotes env var is used for task hashing [#​21390](https://togithub.com/nrwl/nx/issues/21390) ([#​21414](https://togithub.com/nrwl/nx/pull/21414), [#​21390](https://togithub.com/nrwl/nx/issues/21390)) - **module-federation:** ensure incorrect tsconfig path mappings are not used [#​21391](https://togithub.com/nrwl/nx/issues/21391) ([#​21416](https://togithub.com/nrwl/nx/pull/21416), [#​21391](https://togithub.com/nrwl/nx/issues/21391)) - **nest:** exclude react-specific packages when generating nx nest monorepo ([#​21153](https://togithub.com/nrwl/nx/pull/21153)) - **nest:** ensure dependencies are installed when generating nest libraries ([#​21534](https://togithub.com/nrwl/nx/pull/21534)) - **nextjs:** Add missing support swc for custom server ([#​21401](https://togithub.com/nrwl/nx/pull/21401)) - **nextjs:** lazy load plugin import ([#​21426](https://togithub.com/nrwl/nx/pull/21426)) - **nextjs:** nextjs standalone playwright linting ([#​21555](https://togithub.com/nrwl/nx/pull/21555)) - **nextjs:** vite workspace libs ([#​21553](https://togithub.com/nrwl/nx/pull/21553)) - **nuxt:** change nuxi to nuxt ([#​21484](https://togithub.com/nrwl/nx/pull/21484)) - **nx-dev:** fix hero text typo ([#​20937](https://togithub.com/nrwl/nx/pull/20937)) - **nx-dev:** remove unmatched bracket. updates warning description ([#​19481](https://togithub.com/nrwl/nx/pull/19481)) - **nx-dev:** launch week agenda minor fixes ([#​21419](https://togithub.com/nrwl/nx/pull/21419)) - **nx-dev:** typos on launch-nx website ([#​21552](https://togithub.com/nrwl/nx/pull/21552)) - **react:** import SupportedStyles type from correct path ([#​20239](https://togithub.com/nrwl/nx/pull/20239)) - **react:** setup-ssr generator should not read the graph for a project that doesnt exist ([#​21522](https://togithub.com/nrwl/nx/pull/21522)) - **react:** extensions - vite e2e test ([#​21530](https://togithub.com/nrwl/nx/pull/21530)) - **react:** app generator should handle crystal workspaces ([#​21537](https://togithub.com/nrwl/nx/pull/21537)) - **react-native:** Application generator failing ([#​21507](https://togithub.com/nrwl/nx/pull/21507)) - **release:** skip lock file update if yarn classic ([#​21489](https://togithub.com/nrwl/nx/pull/21489)) - **testing:** fix config references to js files ([#​21018](https://togithub.com/nrwl/nx/pull/21018)) - **testing:** add support for generating and loading cypress config in ESM format ([#​21471](https://togithub.com/nrwl/nx/pull/21471)) - **vite:** prevent vite:build copying package.json when generatePackageJson false ([#​19780](https://togithub.com/nrwl/nx/pull/19780)) - **vite:** deep file resolution in nx-tsconfig-paths.plugin.ts ([#​21513](https://togithub.com/nrwl/nx/pull/21513)) - **vue:** do not add [@​vue/tsconfig](https://togithub.com/vue/tsconfig) dependency ([#​19873](https://togithub.com/nrwl/nx/pull/19873)) - **webpack:** correctly handle data URIs with escaped quotes in style… ([#​20988](https://togithub.com/nrwl/nx/pull/20988)) - **webpack:** fix webpack plugin issues and e2e tests ([#​21531](https://togithub.com/nrwl/nx/pull/21531)) ##### ❤️ Thank You - Adam Hunter [@​adamrhunter](https://togithub.com/adamrhunter) - Altan Stalker - andreasmoller25 [@​andreasmoller25](https://togithub.com/andreasmoller25) - Austin Fahsl [@​fahslaj](https://togithub.com/fahslaj) - Benjamin Kroeger [@​benkroeger](https://togithub.com/benkroeger) - Christian Käslin - Colum Ferry [@​Coly010](https://togithub.com/Coly010) - Craigory Coppola [@​AgentEnder](https://togithub.com/AgentEnder) - Denis Frenademetz [@​skrtheboss](https://togithub.com/skrtheboss) - Eduardo Barros - Emily Xiong [@​xiongemi](https://togithub.com/xiongemi) - Ian Chadwick [@​ianchadwick](https://togithub.com/ianchadwick) - Isaac Mann [@​isaacplmann](https://togithub.com/isaacplmann) - Jack Hsu [@​jaysoo](https://togithub.com/jaysoo) - James Henry [@​JamesHenry](https://togithub.com/JamesHenry) - Jan Pretzel - Jason Jean [@​FrozenPandaz](https://togithub.com/FrozenPandaz) - Jonathan Cammisuli - Juri Strumpflohner [@​juristr](https://togithub.com/juristr) - Katerina Skroumpelou [@​mandarini](https://togithub.com/mandarini) - Leosvel Pérez Espinosa [@​leosvelperez](https://togithub.com/leosvelperez) - Lukas [@​LukasTy](https://togithub.com/LukasTy) - MaxKless [@​MaxKless](https://togithub.com/MaxKless) - Michal Jez [@​MJez29](https://togithub.com/MJez29) - Mihail Golban [@​mihailgolban](https://togithub.com/mihailgolban) - Miloš Lajtman [@​miluoshi](https://togithub.com/miluoshi) - Miroslav Jonaš [@​meeroslav](https://togithub.com/meeroslav) - Nicholas Cunningham [@​ndcunningham](https://togithub.com/ndcunningham) - Phillip Barta [@​Phillip9587](https://togithub.com/Phillip9587) - Remco Krams - Simeon Cheeseman [@​SimeonC](https://togithub.com/SimeonC) - Tobbb - Vinit Neogi [@​vneogi199](https://togithub.com/vneogi199) - wout junius [@​wout-junius](https://togithub.com/wout-junius) - Zac Bristow - zenvanexus [@​zenvanexus](https://togithub.com/zenvanexus) ### [`v17.3.2`](https://togithub.com/nrwl/nx/releases/tag/17.3.2) [Compare Source](https://togithub.com/nrwl/nx/compare/17.3.1...17.3.2) ##### 17.3.2 (2024-02-03) ##### 🚀 Features - **core:** add log lines grouping for GH Actions ([#​21357](https://togithub.com/nrwl/nx/pull/21357)) - **linter:** add error and warning statistics ([#​18313](https://togithub.com/nrwl/nx/pull/18313)) ##### 🩹 Fixes - **angular:** handle indexHtmlTransformer option in dev-server correctly ([#​21520](https://togithub.com/nrwl/nx/pull/21520)) - **core:** update axios to address CVE-2023-45857 ([#​20493](https://togithub.com/nrwl/nx/pull/20493)) - **core:** Add missing migration from playwright ([#​21448](https://togithub.com/nrwl/nx/pull/21448)) - **core:** always remove cursor reset in terminal output for Windows ([#​21467](https://togithub.com/nrwl/nx/pull/21467)) - **core:** do not run pty in run-script when we're not TTY ([#​21496](https://togithub.com/nrwl/nx/pull/21496)) - **core:** target defaults should be able to apply to multiple targets with the same executor ([#​21438](https://togithub.com/nrwl/nx/pull/21438)) - **core:** nx build --graph file.json should work in subdirectories ([#​19858](https://togithub.com/nrwl/nx/pull/19858)) - **core:** Update Nx Welcome to include nx show project ([#​21509](https://togithub.com/nrwl/nx/pull/21509)) - **core:** handle negative patterns better when specified in pnpm-workspaces ([#​19983](https://togithub.com/nrwl/nx/pull/19983)) - **core:** remove the full workspace path with node_modules from the path env variable when running `run-scripts` ([#​21532](https://togithub.com/nrwl/nx/pull/21532)) - **core:** do not watch temporary vite files ([#​21514](https://togithub.com/nrwl/nx/pull/21514)) - **core:** target defaults from specifier should not be clobbered by name based target defaults ([#​21539](https://togithub.com/nrwl/nx/pull/21539)) - **graph:** fix expand when using external api ([#​21433](https://togithub.com/nrwl/nx/pull/21433)) - **graph:** don't show open config button on nx.dev & refactor tooltips ([#​21463](https://togithub.com/nrwl/nx/pull/21463)) - **js:** package type is module should emit esm ([#​21473](https://togithub.com/nrwl/nx/pull/21473)) - **linter:** make eslint mandatory dependency ([#​21406](https://togithub.com/nrwl/nx/pull/21406)) - **linter:** ensure flat config generator works for pcv3 plugin ([#​21485](https://togithub.com/nrwl/nx/pull/21485)) - **linter:** remove reportUnusedDisableDirectives for flat config ([#​21405](https://togithub.com/nrwl/nx/pull/21405)) - **linter:** prevent dep-checks leaking when used outside nx ([#​21404](https://togithub.com/nrwl/nx/pull/21404)) - **misc:** set $schema in nx.json generated during nx init ([#​21455](https://togithub.com/nrwl/nx/pull/21455)) - **misc:** use caret for semver version ([#​18140](https://togithub.com/nrwl/nx/pull/18140)) - **module-federation:** ensure the static remotes env var is used for task hashing [#​21390](https://togithub.com/nrwl/nx/issues/21390) ([#​21414](https://togithub.com/nrwl/nx/pull/21414), [#​21390](https://togithub.com/nrwl/nx/issues/21390)) - **module-federation:** ensure incorrect tsconfig path mappings are not used [#​21391](https://togithub.com/nrwl/nx/issues/21391) ([#​21416](https://togithub.com/nrwl/nx/pull/21416), [#​21391](https://togithub.com/nrwl/nx/issues/21391)) - **nest:** exclude react-specific packages when generating nx nest monorepo ([#​21153](https://togithub.com/nrwl/nx/pull/21153)) - **release:** skip lock file update if yarn classic ([#​21489](https://togithub.com/nrwl/nx/pull/21489)) - **testing:** fix config references to js files ([#​21018](https://togithub.com/nrwl/nx/pull/21018)) - **vite:** deep file resolution in nx-tsconfig-paths.plugin.ts ([#​21513](https://togithub.com/nrwl/nx/pull/21513)) - **webpack:** correctly handle data URIs with escaped quotes in style… ([#​20988](https://togithub.com/nrwl/nx/pull/20988)) ##### ❤️ Thank You - andreasmoller25 [@​andreasmoller25](https://togithub.com/andreasmoller25) - Austin Fahsl [@​fahslaj](https://togithub.com/fahslaj) - Colum Ferry [@​Coly010](https://togithub.com/Coly010) - Craigory Coppola [@​AgentEnder](https://togithub.com/AgentEnder) - Emily Xiong [@​xiongemi](https://togithub.com/xiongemi) - Ian Chadwick [@​ianchadwick](https://togithub.com/ianchadwick) - Jason Jean [@​FrozenPandaz](https://togithub.com/FrozenPandaz) - Jonathan Cammisuli - Leosvel Pérez Espinosa [@​leosvelperez](https://togithub.com/leosvelperez) - Lukas [@​LukasTy](https://togithub.com/LukasTy) - MaxKless [@​MaxKless](https://togithub.com/MaxKless) - Mihail Golban [@​mihailgolban](https://togithub.com/mihailgolban) - Miroslav Jonaš [@​meeroslav](https://togithub.com/meeroslav) - Nicholas Cunningham [@​ndcunningham](https://togithub.com/ndcunningham) - Phillip Barta [@​Phillip9587](https://togithub.com/Phillip9587) - Remco Krams - Simeon Cheeseman [@​SimeonC](https://togithub.com/SimeonC) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
AFFiNE.PRO
Write, Draw and Plan All at Once
One hyper-fused platform for wildly creative minds.
A privacy-focussed, local-first, open-source, and ready-to-use alternative for Notion & Miro.
Join our community
Before we tell you how to get started with AFFiNE, we'd like to shamelessly plug our awesome user and developer communities across official discord server! Once you’re familiar with using the software, maybe you will share your wisdom with others and even consider joining the AFFiNE Ambassador program to help spread AFFiNE to the world.
Getting started & staying tuned with us.
⚠️ Please note that AFFiNE is still under active development and is not yet ready for production use. ⚠️
No installation or registration required! Head over to our website and try it out now.
Our wonderful community, where you can meet and engage with the team, developers and other like-minded enthusiastic user of AFFiNE.
Star us, and you will receive all releases notifications from GitHub without any delay!

Features
- Hyper merged — Write, draw and plan all at once. Assemble any blocks you love on any canvas you like to enjoy seamless transitions between workflows with AFFiNE.
- Privacy focussed — AFFiNE is built with your privacy in mind and is one of our key concerns. We want you to keep control of your data, allowing you to store it as you like, where you like while still being able to freely edit and view your data on-demand.
- Offline-first — With your privacy in mind we also decided to go offline-first. This means that AFFiNE can be used offline, whether you want to view or edit, with support for conflict-free merging when you are back online.
- Clean, intuitive design — With AFFiNE you can concentrate on editing with a clean and modern interface. Which is responsive, so it looks great on tablets too, and mobile support is coming in the future.
- Modern Block Editor with Markdown support — A modern block editor can help you not only for docs, but slides and tables as well. When you write in AFFiNE you can use Markdown syntax which helps create an easier editing experience, that can be experienced with just a keyboard. And this allows you to export your data cleanly into Markdown.
- Collaboration — Whether you want to collaborate with yourself across multiple devices, or work together with others, support for collaboration and multiplayer is out-of-the-box, which makes it easy for teams to get started with AFFiNE.
- Choice of multiple languages — Thanks to community contributions AFFiNE offers support for multiple languages. If you don't find your language or would like to suggest some changes we welcome your contributions.
Contributing
| Bug Reports | Feature Requests | Questions/Discussions | AFFiNE Community |
|---|---|---|---|
| Create a bug report | Submit a feature request | Check GitHub Discussion | Vist the AFFiNE Community |
| Something isn't working as expected | An idea for a new feature, or improvements | Discuss and ask questions | A place to ask, learn and engage with others |
Calling all developers, testers, tech writers and more! Contributions of all types are more than welcome, you can read more in docs/types-of-contributions.md. If you are interested in contributing code, read our docs/CONTRIBUTING.md and feel free to check out our GitHub issues to get stuck in to show us what you’re made of.
Before you start contributing, please make sure you have read and accepted our Contributor License Agreement. To indicate your agreement, simply edit this file and submit a pull request.
For bug reports, feature requests and other suggestions you can also create a new issue and choose the most appropriate template for your feedback.
For translation and language support you can visit our i18n General Space.
Looking for others ways to contribute and wondering where to start? Check out the AFFiNE Ambassador program, we work closely with passionate community members and provide them with a wide-range of support and resources.
If you have questions, you are welcome to contact us. One of the best places to get more info and learn more is in the AFFiNE Community where you can engage with other like-minded individuals.
Ecosystem
| Name | ||
|---|---|---|
| @affine/component | AFFiNE Component Resources | |
| @toeverything/y-indexeddb | IndexedDB database adapter for Yjs | |
| @toeverything/theme | AFFiNE theme |
Upstreams
We would also like to give thanks to open-source projects that make AFFiNE possible:
- blocksuite - 💠 BlockSuite is the open-source collaborative editor project behind AFFiNE.
- OctoBase - 🐙 OctoBase is the open-source database behind AFFiNE, local-first, yet collaborative. A light-weight, scalable, data engine written in Rust.
- yjs - Fundamental support of CRDTs for our implementation on state management and data sync.
- electron - Build cross-platform desktop apps with JavaScript, HTML, and CSS.
- React - The library for web and native user interfaces.
- napi-rs - A framework for building compiled Node.js add-ons in Rust via Node-API.
- Jotai - Primitive and flexible state management for React.
- async-call-rpc - A lightweight JSON RPC client & server.
- Vite - Next generation frontend tooling.
- Other upstream dependencies.
Thanks a lot to the community for providing such powerful and simple libraries, so that we can focus more on the implementation of the product logic, and we hope that in the future our projects will also provide a more easy-to-use knowledge base for everyone.
Contributors
We would like to express our gratitude to all the individuals who have already contributed to AFFiNE! If you have any AFFiNE-related project, documentation, tool or template, please feel free to contribute it by submitting a pull request to our curated list on GitHub: awesome-affine.
Self-Host
We know that the self-host version has been out of date for a long time.
We are working hard to get this updated to the latest version, you can try our desktop version first.
Get started with Docker and deploy your own feature-rich, restriction-free deployment of AFFiNE. We are working hard to get this updated to the latest version, you can keep an eye on the latest packages.
Hiring
Some amazing companies including AFFiNE are looking for developers! Are you interested in helping build with AFFiNE and/or its partners? Check out some of the latest jobs available.
Upgrading
For upgrading information, please see our update page.
Feature Request
For feature request, please see community.affine.pro.
Building
Codespaces
From the GitHub repo main page, click the green "Code" button and select "Create codespace on master". This will open a new Codespace with the (supposedly auto-forked AFFiNE repo cloned, built, and ready to go.
Local
See BUILDING.md for instructions on how to build AFFiNE from source code.
Contributing
We welcome contributions from everyone. See docs/contributing/tutorial.md for details.
Thanks
Thanks to Chromatic for providing the visual testing platform that helps us review UI changes and catch visual regressions.
License
See LICENSE for details.

