diff --git a/apps/app1/.eslintrc.json b/apps/app1/.eslintrc.json new file mode 100644 index 00000000..9d9c0db5 --- /dev/null +++ b/apps/app1/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "extends": ["../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/apps/app1/jest.config.js b/apps/app1/jest.config.js new file mode 100644 index 00000000..9c890769 --- /dev/null +++ b/apps/app1/jest.config.js @@ -0,0 +1,15 @@ +module.exports = { + displayName: 'app1', + preset: '../../jest.preset.js', + globals: { + 'ts-jest': { + tsconfig: '/tsconfig.spec.json', + }, + }, + testEnvironment: 'node', + transform: { + '^.+\\.[tj]s$': 'ts-jest', + }, + moduleFileExtensions: ['ts', 'js', 'html'], + coverageDirectory: '../../coverage/apps/app1', +}; diff --git a/apps/app1/project.json b/apps/app1/project.json new file mode 100644 index 00000000..03b664ff --- /dev/null +++ b/apps/app1/project.json @@ -0,0 +1,52 @@ +{ + "root": "apps/app1", + "sourceRoot": "apps/app1/src", + "projectType": "application", + "targets": { + "build": { + "executor": "@nrwl/node:webpack", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/apps/app1", + "main": "apps/app1/src/main.ts", + "tsConfig": "apps/app1/tsconfig.app.json", + "assets": ["apps/app1/src/assets"] + }, + "configurations": { + "production": { + "optimization": true, + "extractLicenses": true, + "inspect": false, + "fileReplacements": [ + { + "replace": "apps/app1/src/environments/environment.ts", + "with": "apps/app1/src/environments/environment.prod.ts" + } + ] + } + } + }, + "serve": { + "executor": "@nrwl/node:node", + "options": { + "buildTarget": "app1:build" + } + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["apps/app1/**/*.ts"] + } + }, + "test": { + "executor": "@nrwl/jest:jest", + "outputs": ["coverage/apps/app1"], + "options": { + "jestConfig": "apps/app1/jest.config.js", + "passWithNoTests": true + } + } + }, + "tags": [] +} diff --git a/apps/app1/src/app/.gitkeep b/apps/app1/src/app/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/app1/src/assets/.gitkeep b/apps/app1/src/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/app1/src/environments/environment.prod.ts b/apps/app1/src/environments/environment.prod.ts new file mode 100644 index 00000000..c9669790 --- /dev/null +++ b/apps/app1/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true, +}; diff --git a/apps/app1/src/environments/environment.ts b/apps/app1/src/environments/environment.ts new file mode 100644 index 00000000..a20cfe55 --- /dev/null +++ b/apps/app1/src/environments/environment.ts @@ -0,0 +1,3 @@ +export const environment = { + production: false, +}; diff --git a/apps/app1/src/main.ts b/apps/app1/src/main.ts new file mode 100644 index 00000000..cabce2c4 --- /dev/null +++ b/apps/app1/src/main.ts @@ -0,0 +1,3 @@ +// @ts-ignore +import * as app2 from '../../app2/src/import'; +console.log('Hello World!'); diff --git a/apps/app1/tsconfig.app.json b/apps/app1/tsconfig.app.json new file mode 100644 index 00000000..8e944640 --- /dev/null +++ b/apps/app1/tsconfig.app.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["node"] + }, + "exclude": ["**/*.spec.ts", "**/*.test.ts"], + "include": ["**/*.ts"] +} diff --git a/apps/app1/tsconfig.json b/apps/app1/tsconfig.json new file mode 100644 index 00000000..63dbe35f --- /dev/null +++ b/apps/app1/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/apps/app1/tsconfig.spec.json b/apps/app1/tsconfig.spec.json new file mode 100644 index 00000000..a18afb60 --- /dev/null +++ b/apps/app1/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] +} diff --git a/apps/app2/.eslintrc.json b/apps/app2/.eslintrc.json new file mode 100644 index 00000000..9d9c0db5 --- /dev/null +++ b/apps/app2/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "extends": ["../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/apps/app2/jest.config.js b/apps/app2/jest.config.js new file mode 100644 index 00000000..7a4c0656 --- /dev/null +++ b/apps/app2/jest.config.js @@ -0,0 +1,15 @@ +module.exports = { + displayName: 'app2', + preset: '../../jest.preset.js', + globals: { + 'ts-jest': { + tsconfig: '/tsconfig.spec.json', + }, + }, + testEnvironment: 'node', + transform: { + '^.+\\.[tj]s$': 'ts-jest', + }, + moduleFileExtensions: ['ts', 'js', 'html'], + coverageDirectory: '../../coverage/apps/app2', +}; diff --git a/apps/app2/project.json b/apps/app2/project.json new file mode 100644 index 00000000..fbc0fb80 --- /dev/null +++ b/apps/app2/project.json @@ -0,0 +1,52 @@ +{ + "root": "apps/app2", + "sourceRoot": "apps/app2/src", + "projectType": "application", + "targets": { + "build": { + "executor": "@nrwl/node:webpack", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/apps/app2", + "main": "apps/app2/src/main.ts", + "tsConfig": "apps/app2/tsconfig.app.json", + "assets": ["apps/app2/src/assets"] + }, + "configurations": { + "production": { + "optimization": true, + "extractLicenses": true, + "inspect": false, + "fileReplacements": [ + { + "replace": "apps/app2/src/environments/environment.ts", + "with": "apps/app2/src/environments/environment.prod.ts" + } + ] + } + } + }, + "serve": { + "executor": "@nrwl/node:node", + "options": { + "buildTarget": "app2:build" + } + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["apps/app2/**/*.ts"] + } + }, + "test": { + "executor": "@nrwl/jest:jest", + "outputs": ["coverage/apps/app2"], + "options": { + "jestConfig": "apps/app2/jest.config.js", + "passWithNoTests": true + } + } + }, + "tags": [] +} diff --git a/apps/app2/src/app/.gitkeep b/apps/app2/src/app/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/app2/src/assets/.gitkeep b/apps/app2/src/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/app2/src/environments/environment.prod.ts b/apps/app2/src/environments/environment.prod.ts new file mode 100644 index 00000000..c9669790 --- /dev/null +++ b/apps/app2/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true, +}; diff --git a/apps/app2/src/environments/environment.ts b/apps/app2/src/environments/environment.ts new file mode 100644 index 00000000..a20cfe55 --- /dev/null +++ b/apps/app2/src/environments/environment.ts @@ -0,0 +1,3 @@ +export const environment = { + production: false, +}; diff --git a/apps/app2/src/import.ts b/apps/app2/src/import.ts new file mode 100644 index 00000000..f9f5b8a4 --- /dev/null +++ b/apps/app2/src/import.ts @@ -0,0 +1 @@ +export module app2 {} diff --git a/apps/app2/src/main.ts b/apps/app2/src/main.ts new file mode 100644 index 00000000..3d0a7576 --- /dev/null +++ b/apps/app2/src/main.ts @@ -0,0 +1,3 @@ +// @ts-ignore +import * as lib1 from '../../../libs/lib1/src/import'; +console.log('Hello World!'); diff --git a/apps/app2/tsconfig.app.json b/apps/app2/tsconfig.app.json new file mode 100644 index 00000000..8e944640 --- /dev/null +++ b/apps/app2/tsconfig.app.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["node"] + }, + "exclude": ["**/*.spec.ts", "**/*.test.ts"], + "include": ["**/*.ts"] +} diff --git a/apps/app2/tsconfig.json b/apps/app2/tsconfig.json new file mode 100644 index 00000000..63dbe35f --- /dev/null +++ b/apps/app2/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/apps/app2/tsconfig.spec.json b/apps/app2/tsconfig.spec.json new file mode 100644 index 00000000..a18afb60 --- /dev/null +++ b/apps/app2/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] +} diff --git a/apps/app3/.eslintrc.json b/apps/app3/.eslintrc.json new file mode 100644 index 00000000..9d9c0db5 --- /dev/null +++ b/apps/app3/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "extends": ["../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/apps/app3/jest.config.js b/apps/app3/jest.config.js new file mode 100644 index 00000000..4e0d0f0a --- /dev/null +++ b/apps/app3/jest.config.js @@ -0,0 +1,15 @@ +module.exports = { + displayName: 'app3', + preset: '../../jest.preset.js', + globals: { + 'ts-jest': { + tsconfig: '/tsconfig.spec.json', + }, + }, + testEnvironment: 'node', + transform: { + '^.+\\.[tj]s$': 'ts-jest', + }, + moduleFileExtensions: ['ts', 'js', 'html'], + coverageDirectory: '../../coverage/apps/app3', +}; diff --git a/apps/app3/project.json b/apps/app3/project.json new file mode 100644 index 00000000..6b928e71 --- /dev/null +++ b/apps/app3/project.json @@ -0,0 +1,52 @@ +{ + "root": "apps/app3", + "sourceRoot": "apps/app3/src", + "projectType": "application", + "targets": { + "build": { + "executor": "@nrwl/node:webpack", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/apps/app3", + "main": "apps/app3/src/main.ts", + "tsConfig": "apps/app3/tsconfig.app.json", + "assets": ["apps/app3/src/assets"] + }, + "configurations": { + "production": { + "optimization": true, + "extractLicenses": true, + "inspect": false, + "fileReplacements": [ + { + "replace": "apps/app3/src/environments/environment.ts", + "with": "apps/app3/src/environments/environment.prod.ts" + } + ] + } + } + }, + "serve": { + "executor": "@nrwl/node:node", + "options": { + "buildTarget": "app3:build" + } + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["apps/app3/**/*.ts"] + } + }, + "test": { + "executor": "@nrwl/jest:jest", + "outputs": ["coverage/apps/app3"], + "options": { + "jestConfig": "apps/app3/jest.config.js", + "passWithNoTests": true + } + } + }, + "tags": [] +} diff --git a/apps/app3/src/app/.gitkeep b/apps/app3/src/app/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/app3/src/assets/.gitkeep b/apps/app3/src/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/app3/src/environments/environment.prod.ts b/apps/app3/src/environments/environment.prod.ts new file mode 100644 index 00000000..c9669790 --- /dev/null +++ b/apps/app3/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true, +}; diff --git a/apps/app3/src/environments/environment.ts b/apps/app3/src/environments/environment.ts new file mode 100644 index 00000000..a20cfe55 --- /dev/null +++ b/apps/app3/src/environments/environment.ts @@ -0,0 +1,3 @@ +export const environment = { + production: false, +}; diff --git a/apps/app3/src/import.ts b/apps/app3/src/import.ts new file mode 100644 index 00000000..d0deae35 --- /dev/null +++ b/apps/app3/src/import.ts @@ -0,0 +1 @@ +export module app3 {} diff --git a/apps/app3/src/main.ts b/apps/app3/src/main.ts new file mode 100644 index 00000000..cabce2c4 --- /dev/null +++ b/apps/app3/src/main.ts @@ -0,0 +1,3 @@ +// @ts-ignore +import * as app2 from '../../app2/src/import'; +console.log('Hello World!'); diff --git a/apps/app3/tsconfig.app.json b/apps/app3/tsconfig.app.json new file mode 100644 index 00000000..8e944640 --- /dev/null +++ b/apps/app3/tsconfig.app.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["node"] + }, + "exclude": ["**/*.spec.ts", "**/*.test.ts"], + "include": ["**/*.ts"] +} diff --git a/apps/app3/tsconfig.json b/apps/app3/tsconfig.json new file mode 100644 index 00000000..63dbe35f --- /dev/null +++ b/apps/app3/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/apps/app3/tsconfig.spec.json b/apps/app3/tsconfig.spec.json new file mode 100644 index 00000000..a18afb60 --- /dev/null +++ b/apps/app3/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] +} diff --git a/libs/lib1/.eslintrc.json b/libs/lib1/.eslintrc.json new file mode 100644 index 00000000..9d9c0db5 --- /dev/null +++ b/libs/lib1/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "extends": ["../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/libs/lib1/jest.config.js b/libs/lib1/jest.config.js new file mode 100644 index 00000000..4e0d0f0a --- /dev/null +++ b/libs/lib1/jest.config.js @@ -0,0 +1,15 @@ +module.exports = { + displayName: 'app3', + preset: '../../jest.preset.js', + globals: { + 'ts-jest': { + tsconfig: '/tsconfig.spec.json', + }, + }, + testEnvironment: 'node', + transform: { + '^.+\\.[tj]s$': 'ts-jest', + }, + moduleFileExtensions: ['ts', 'js', 'html'], + coverageDirectory: '../../coverage/apps/app3', +}; diff --git a/libs/lib1/project.json b/libs/lib1/project.json new file mode 100644 index 00000000..f0687ac6 --- /dev/null +++ b/libs/lib1/project.json @@ -0,0 +1,23 @@ +{ + "root": "libs/lib1", + "sourceRoot": "libs/lib1/src", + "projectType": "library", + "targets": { + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["libs/lib1/**/*.ts"] + } + }, + "test": { + "executor": "@nrwl/jest:jest", + "outputs": ["coverage/libs/lib1"], + "options": { + "jestConfig": "libs/lib1/jest.config.js", + "passWithNoTests": true + } + } + }, + "tags": [] +} diff --git a/libs/lib1/src/app/.gitkeep b/libs/lib1/src/app/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/libs/lib1/src/assets/.gitkeep b/libs/lib1/src/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/libs/lib1/src/environments/environment.prod.ts b/libs/lib1/src/environments/environment.prod.ts new file mode 100644 index 00000000..c9669790 --- /dev/null +++ b/libs/lib1/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true, +}; diff --git a/libs/lib1/src/environments/environment.ts b/libs/lib1/src/environments/environment.ts new file mode 100644 index 00000000..a20cfe55 --- /dev/null +++ b/libs/lib1/src/environments/environment.ts @@ -0,0 +1,3 @@ +export const environment = { + production: false, +}; diff --git a/libs/lib1/src/import.ts b/libs/lib1/src/import.ts new file mode 100644 index 00000000..d0deae35 --- /dev/null +++ b/libs/lib1/src/import.ts @@ -0,0 +1 @@ +export module app3 {} diff --git a/libs/lib1/src/main.ts b/libs/lib1/src/main.ts new file mode 100644 index 00000000..d3a3c2d4 --- /dev/null +++ b/libs/lib1/src/main.ts @@ -0,0 +1,3 @@ +// @ts-ignore +import * as app3 from '../../../apps/app3/src/import'; +console.log('Hello World!'); diff --git a/libs/lib1/tsconfig.app.json b/libs/lib1/tsconfig.app.json new file mode 100644 index 00000000..8e944640 --- /dev/null +++ b/libs/lib1/tsconfig.app.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["node"] + }, + "exclude": ["**/*.spec.ts", "**/*.test.ts"], + "include": ["**/*.ts"] +} diff --git a/libs/lib1/tsconfig.json b/libs/lib1/tsconfig.json new file mode 100644 index 00000000..63dbe35f --- /dev/null +++ b/libs/lib1/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/libs/lib1/tsconfig.spec.json b/libs/lib1/tsconfig.spec.json new file mode 100644 index 00000000..a18afb60 --- /dev/null +++ b/libs/lib1/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": ["**/*.test.ts", "**/*.spec.ts", "**/*.d.ts"] +} diff --git a/workspace.json b/workspace.json index e9d40577..829cad06 100644 --- a/workspace.json +++ b/workspace.json @@ -1,6 +1,10 @@ { "version": 2, "projects": { + "app1": "apps/app1", + "app2": "apps/app2", + "app3": "apps/app3", + "lib1": "libs/lib1", "cart": "apps/cart", "cart-cart-page": "libs/cart/cart-page", "cart-e2e": "apps/cart-e2e",