Skip to content

Commit

Permalink
feat: make nx plugin work without angular preset and add tailwind opt…
Browse files Browse the repository at this point in the history
…ion (#370)
  • Loading branch information
goetzrobin committed May 5, 2023
1 parent 9a7e15f commit c8ee37c
Show file tree
Hide file tree
Showing 28 changed files with 462 additions and 178 deletions.
6 changes: 6 additions & 0 deletions packages/nx-plugin/generators.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@
"factory": "./src/generators/app/generator",
"schema": "./src/generators/app/schema.json",
"description": "Generates an AnalogJs application"
},
"preset": {
"factory": "./src/generators/preset/generator",
"schema": "./src/generators/preset/schema.json",
"description": "Analog preset for create-nx-workspace",
"x-use-standalone-layout": true
}
},
"schematics": {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
const { join } = require('path');

module.exports = {
plugins: {
tailwindcss: {
config: join(__dirname, 'tailwind.config.js')
},
autoprefixer: {}
}
};
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"extends": ["../../.eslintrc.json"],
"extends": ["<%= offsetFromRoot %>.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
"files": ["*.ts"],
"extends": [
"plugin:@nrwl/nx/angular",
"plugin:<%= nxPackageNamespace %>/nx/angular",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
Expand All @@ -29,7 +29,7 @@
},
{
"files": ["*.html"],
"extends": ["plugin:@nrwl/nx/angular-template"],
"extends": ["plugin:<%= nxPackageNamespace %>/nx/angular-template"],
"rules": {}
}
]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"outDir": "<%= offsetFromRoot %>dist/out-tsc",
"types": [],
"target": "ES2022",
"useDefineForClassFields": false
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"extends": "<%= offsetFromRoot %>tsconfig.base.json",
"files": [],
"include": [],
"exclude": ["./src/server/**/*"],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"outDir": "<%= offsetFromRoot %>dist/out-tsc",
"types": ["node", "vitest/globals"]
},
"files": [
"src/test-setup.ts",
"src/polyfills.ts"
],
"include": [
"src/**/*.spec.ts",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,33 @@ export default defineConfig(({ mode }) => {
},
plugins: [
analog({
ssrBuildDir: '../../dist/apps/<%= projectName %>/ssr',
entryServer: 'apps/<%= projectName %>/src/main.server.ts',
ssrBuildDir: '<%= offsetFromRoot %>dist/<%= appsDir %>/<%= projectName %>/ssr',
entryServer: '<%= appsDir %>/<%= projectName %>/src/main.server.ts',
vite: {
inlineStylesExtension: 'css',
tsconfig:
mode === 'test'
? 'apps/<%= projectName %>/tsconfig.spec.json'
: 'apps/<%= projectName %>/tsconfig.app.json',
? '<%= appsDir %>/<%= projectName %>/tsconfig.spec.json'
: '<%= appsDir %>/<%= projectName %>/tsconfig.app.json',
},
nitro: {
rootDir: 'apps/<%= projectName %>',
rootDir: '<%= appsDir %>/<%= projectName %>',
output: {
dir: '../../../dist/apps/<%= projectName %>/analog',
publicDir: '../../../dist/apps/<%= projectName %>/analog/public',
dir: '<%= offsetFromRoot %>../dist/<%= appsDir %>/<%= projectName %>/analog',
publicDir: '<%= offsetFromRoot %>../dist/<%= appsDir %>/<%= projectName %>/analog/public',
},
publicAssets: [{ dir: `../../../dist/apps/<%= projectName %>/client` }],
publicAssets: [{ dir: `<%= offsetFromRoot %>../dist/<%= appsDir %>/<%= projectName %>/client` }],
serverAssets: [
{ baseName: 'public', dir: `./dist/apps/<%= projectName %>/client` },
{ baseName: 'public', dir: `./dist/<%= appsDir %>/<%= projectName %>/client` },
],
buildDir: '../../dist/apps/<%= projectName %>/.nitro',
buildDir: '<%= offsetFromRoot %>dist/<%= appsDir %>/<%= projectName %>/.nitro',
},
prerender: {
routes: ['/'],
},
}),
tsConfigPaths({
root: '../../',
root: '<%= offsetFromRoot %>',
}),
visualizer() as Plugin,
splitVendorChunkPlugin(),
Expand All @@ -54,7 +54,7 @@ export default defineConfig(({ mode }) => {
setupFiles: ['src/test-setup.ts'],
include: ['**/*.spec.ts'],
cache: {
dir: `../../node_modules/.vitest`,
dir: `<%= offsetFromRoot %>node_modules/.vitest`,
},
},
define: {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"extends": ["../../.eslintrc.json"],
"extends": ["<%= offsetFromRoot %>.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
"files": ["*.ts"],
"extends": [
"plugin:@nrwl/nx/angular",
"plugin:<%= nxPackageNamespace %>/nx/angular",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
Expand All @@ -29,7 +29,7 @@
},
{
"files": ["*.html"],
"extends": ["plugin:@nrwl/nx/angular-template"],
"extends": ["plugin:<%= nxPackageNamespace %>/nx/angular-template"],
"rules": {}
}
]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"outDir": "<%= offsetFromRoot %>dist/out-tsc",
"types": [],
"target": "ES2022",
"useDefineForClassFields": false
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"extends": "<%= offsetFromRoot %>tsconfig.base.json",
"files": [],
"include": [],
"exclude": ["./src/server/**/*"],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"outDir": "<%= offsetFromRoot %>dist/out-tsc",
"types": ["node", "vitest/globals"]
},
"files": [
"src/test-setup.ts",
"src/polyfills.ts"
],
"include": [
"src/**/*.spec.ts",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,44 +17,44 @@ export default defineConfig(({ mode }) => {
},
plugins: [
analog({
ssrBuildDir: '../../dist/apps/<%= projectName %>/ssr',
entryServer: 'apps/<%= projectName %>/src/main.server.ts',
ssrBuildDir: '<%= offsetFromRoot %>dist/<%= appsDir %>/<%= projectName %>/ssr',
entryServer: '<%= appsDir %>/<%= projectName %>/src/main.server.ts',
vite: {
inlineStylesExtension: 'css',
tsconfig:
mode === 'test'
? 'apps/<%= projectName %>/tsconfig.spec.json'
: 'apps/<%= projectName %>/tsconfig.app.json',
? '<%= appsDir %>/<%= projectName %>/tsconfig.spec.json'
: '<%= appsDir %>/<%= projectName %>/tsconfig.app.json',
},
nitro: {
rootDir: 'apps/<%= projectName %>',
rootDir: '<%= appsDir %>/<%= projectName %>',
output: {
dir: '../../../dist/apps/<%= projectName %>/analog',
publicDir: '../../../dist/apps/<%= projectName %>/analog/public',
dir: '<%= offsetFromRoot %>../dist/<%= appsDir %>/<%= projectName %>/analog',
publicDir: '<%= offsetFromRoot %>../dist/<%= appsDir %>/<%= projectName %>/analog/public',
},
publicAssets: [{ dir: `../../../dist/apps/<%= projectName %>/client` }],
publicAssets: [{ dir: `<%= offsetFromRoot %>../dist/<%= appsDir %>/<%= projectName %>/client` }],
serverAssets: [
{ baseName: 'public', dir: `./dist/apps/<%= projectName %>/client` },
{ baseName: 'public', dir: `./dist/<%= appsDir %>/<%= projectName %>/client` },
],
buildDir: '../../dist/apps/<%= projectName %>/.nitro',
buildDir: '<%= offsetFromRoot %>dist/<%= appsDir %>/<%= projectName %>/.nitro',
},
prerender: {
routes: ['/'],
},
}),
tsConfigPaths({
root: '../../',
root: '<%= offsetFromRoot %>',
}),
visualizer() as Plugin,
splitVendorChunkPlugin(),
],
test: {
globals: true,
environment: 'jsdom',
setupFiles: ['src/test.ts'],
setupFiles: ['src/test-setup.ts'],
include: ['**/*.spec.ts'],
cache: {
dir: `../../node_modules/.vitest`,
dir: `<%= offsetFromRoot %>node_modules/.vitest`,
},
},
define: {
Expand Down
2 changes: 2 additions & 0 deletions packages/nx-plugin/src/generators/app/generator.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ import { readJson, readProjectConfiguration } from '@nx/devkit';

import generator from './generator';
import { AnalogNxApplicationGeneratorOptions } from './schema';
import { addDependenciesToPackageJson } from '@nrwl/devkit';

describe('nx-plugin generator', () => {
const setup = async (options: AnalogNxApplicationGeneratorOptions) => {
const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' });
addDependenciesToPackageJson(tree, { nx: '16.0.0' }, {});
await generator(tree, options);
const config = readProjectConfiguration(tree, options.name);
return {
Expand Down
Loading

0 comments on commit c8ee37c

Please sign in to comment.