Files
Michael BiancoandGitHub 14a60ffdf8 feat(node): nx support (#606)
* feat(example): add node-nx-next workspace scaffold

- Initialize an Nx workspace with a Next.js application using pnpm.
- Configure workspace tooling including TypeScript, Prettier, and ESLint.
- Include a generation script to automate the workspace setup process.

Generated-by: aiautocommit

* feat(node): add BuildScriptContains helper to PackageJson

Generated-by: aiautocommit

* feat(node): add support for Nx workspaces with Next.js

- Implement Nx workspace detection and package resolution.
- Enable automatic Nx build commands when no root build script is detected.
- Add RAILPACK_NX_APP environment variable to support selecting specific apps in multi-app workspaces.
- Refactor Next.js detection logic to better support monorepo and Nx-inferred architectures.
- Include unit tests for Nx workspace detection and build/start command generation.

Generated-by: aiautocommit

* docs: add documentation for Nx monorepo support

- Explain how Railpack handles Nx workspaces, including automatic detection and support for inferred tasks.
- Document the new `RAILPACK_NX_APP` configuration variable to target specific apps in multi-app workspaces.
- Detail the build and start behavior for Next.js applications within an Nx context.

Generated-by: aiautocommit

* test: add snapshot for Nx Node.js and Next.js example

Generated-by: aiautocommit

* chore: bump railpack images and set version to dev

- Update builder and runtime images to mise-2026.7.7
- Include RAILPACK_VERSION environment variable in build plan

Generated-by: aiautocommit
2026-07-21 12:50:43 -06:00

55 lines
1.2 KiB
JSON

{
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"analytics": false,
"namedInputs": {
"default": ["{projectRoot}/**/*", "sharedGlobals"],
"production": [
"default",
"!{projectRoot}/.eslintrc.json",
"!{projectRoot}/eslint.config.mjs"
],
"sharedGlobals": []
},
"plugins": [
{
"plugin": "@nx/js/typescript",
"options": {
"typecheck": {
"targetName": "typecheck"
},
"build": {
"targetName": "build",
"configName": "tsconfig.lib.json",
"buildDepsName": "build-deps",
"watchDepsName": "watch-deps"
}
}
},
{
"plugin": "@nx/next/plugin",
"options": {
"startTargetName": "start",
"buildTargetName": "build",
"devTargetName": "dev",
"serveStaticTargetName": "serve-static",
"buildDepsTargetName": "build-deps",
"watchDepsTargetName": "watch-deps"
}
},
{
"plugin": "@nx/eslint/plugin",
"options": {
"targetName": "lint"
}
}
],
"generators": {
"@nx/next": {
"application": {
"style": "css",
"linter": "eslint"
}
}
}
}