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

43 lines
864 B
JavaScript

import nx from '@nx/eslint-plugin';
export default [
...nx.configs['flat/base'],
...nx.configs['flat/typescript'],
...nx.configs['flat/javascript'],
{
ignores: ['**/dist', '**/out-tsc'],
},
{
files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
rules: {
'@nx/enforce-module-boundaries': [
'error',
{
enforceBuildableLibDependency: true,
allow: ['^.*/eslint(\\.base)?\\.config\\.[cm]?[jt]s$'],
depConstraints: [
{
sourceTag: '*',
onlyDependOnLibsWithTags: ['*'],
},
],
},
],
},
},
{
files: [
'**/*.ts',
'**/*.tsx',
'**/*.cts',
'**/*.mts',
'**/*.js',
'**/*.jsx',
'**/*.cjs',
'**/*.mjs',
],
// Override or add rules here
rules: {},
},
];