diff --git a/apps/nx/42-static-vs-dynamic-import/src/app/app.component.ts b/apps/nx/42-static-vs-dynamic-import/src/app/app.component.ts index 9c5bd67d4..633147d15 100644 --- a/apps/nx/42-static-vs-dynamic-import/src/app/app.component.ts +++ b/apps/nx/42-static-vs-dynamic-import/src/app/app.component.ts @@ -1,7 +1,7 @@ import { + User, UserComponent, - type User, -} from '@angular-challenges/static-dynamic-import/users'; +} from '@angular-challenges/static-dynamic-import/static-users'; import { Component } from '@angular/core'; import { RouterOutlet } from '@angular/router'; diff --git a/libs/static-dynamic-import/static-users/.eslintrc.json b/libs/static-dynamic-import/static-users/.eslintrc.json new file mode 100644 index 000000000..2694a4b9e --- /dev/null +++ b/libs/static-dynamic-import/static-users/.eslintrc.json @@ -0,0 +1,43 @@ +{ + "extends": ["../../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts"], + "extends": [ + "plugin:@nx/angular", + "plugin:@angular-eslint/template/process-inline-templates" + ], + "rules": { + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "lib", + "style": "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "lib", + "style": "kebab-case" + } + ] + } + }, + { + "files": ["*.html"], + "extends": ["plugin:@nx/angular-template"], + "rules": {} + }, + { + "files": ["*.json"], + "parser": "jsonc-eslint-parser", + "rules": { + "@nx/dependency-checks": "error" + } + } + ] +} diff --git a/libs/static-dynamic-import/static-users/README.md b/libs/static-dynamic-import/static-users/README.md new file mode 100644 index 000000000..b3547b4da --- /dev/null +++ b/libs/static-dynamic-import/static-users/README.md @@ -0,0 +1,7 @@ +# static-users + +This library was generated with [Nx](https://nx.dev). + +## Running unit tests + +Run `nx test static-users` to execute the unit tests. diff --git a/libs/static-dynamic-import/static-users/project.json b/libs/static-dynamic-import/static-users/project.json new file mode 100644 index 000000000..a1fa07edf --- /dev/null +++ b/libs/static-dynamic-import/static-users/project.json @@ -0,0 +1,36 @@ +{ + "name": "static-users", + "$schema": "../../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/static-dynamic-import/static-users/src", + "prefix": "lib", + "projectType": "library", + "tags": [], + "targets": { + "build": { + "executor": "@nx/angular:ng-packagr-lite", + "outputs": ["{workspaceRoot}/dist/{projectRoot}"], + "options": { + "project": "libs/static-dynamic-import/static-users/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "libs/static-dynamic-import/static-users/tsconfig.lib.prod.json" + }, + "development": { + "tsConfig": "libs/static-dynamic-import/static-users/tsconfig.lib.json" + } + }, + "defaultConfiguration": "production" + }, + "test": { + "executor": "@nx/jest:jest", + "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], + "options": { + "jestConfig": "libs/static-dynamic-import/static-users/jest.config.ts" + } + }, + "lint": { + "executor": "@nx/eslint:lint" + } + } +} diff --git a/libs/static-dynamic-import/static-users/src/index.ts b/libs/static-dynamic-import/static-users/src/index.ts new file mode 100644 index 000000000..2705255f2 --- /dev/null +++ b/libs/static-dynamic-import/static-users/src/index.ts @@ -0,0 +1,2 @@ +export { UserComponent } from './lib/user.component'; +export { User } from './lib/user.model'; diff --git a/libs/static-dynamic-import/users/src/lib/user.component.ts b/libs/static-dynamic-import/static-users/src/lib/user.component.ts similarity index 100% rename from libs/static-dynamic-import/users/src/lib/user.component.ts rename to libs/static-dynamic-import/static-users/src/lib/user.component.ts diff --git a/libs/static-dynamic-import/users/src/lib/user.model.ts b/libs/static-dynamic-import/static-users/src/lib/user.model.ts similarity index 100% rename from libs/static-dynamic-import/users/src/lib/user.model.ts rename to libs/static-dynamic-import/static-users/src/lib/user.model.ts diff --git a/libs/static-dynamic-import/static-users/tsconfig.json b/libs/static-dynamic-import/static-users/tsconfig.json new file mode 100644 index 000000000..8e62d6db5 --- /dev/null +++ b/libs/static-dynamic-import/static-users/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "es2022", + "useDefineForClassFields": false, + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + } + ], + "extends": "../../../tsconfig.base.json", + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/libs/static-dynamic-import/static-users/tsconfig.lib.json b/libs/static-dynamic-import/static-users/tsconfig.lib.json new file mode 100644 index 000000000..9b49be758 --- /dev/null +++ b/libs/static-dynamic-import/static-users/tsconfig.lib.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../dist/out-tsc", + "declaration": true, + "declarationMap": true, + "inlineSources": true, + "types": [] + }, + "exclude": [ + "src/**/*.spec.ts", + "src/test-setup.ts", + "jest.config.ts", + "src/**/*.test.ts" + ], + "include": ["src/**/*.ts"] +} diff --git a/libs/static-dynamic-import/users/src/index.ts b/libs/static-dynamic-import/users/src/index.ts index 6826ecd65..2d2bf8a89 100644 --- a/libs/static-dynamic-import/users/src/index.ts +++ b/libs/static-dynamic-import/users/src/index.ts @@ -1,3 +1 @@ -export { UserComponent } from './lib/user.component'; -export type { User } from './lib/user.model'; export { default } from './lib/users.component'; diff --git a/libs/static-dynamic-import/users/src/lib/users.component.ts b/libs/static-dynamic-import/users/src/lib/users.component.ts index 598a48fa7..5c4ee2746 100644 --- a/libs/static-dynamic-import/users/src/lib/users.component.ts +++ b/libs/static-dynamic-import/users/src/lib/users.component.ts @@ -2,8 +2,8 @@ import { Component } from '@angular/core'; import { MatTableModule } from '@angular/material/table'; import { randCountry, randFirstName, randLastName } from '@ngneat/falso'; -import { UserComponent } from './user.component'; -import type { User } from './user.model'; +import { UserComponent } from '../../../static-users/src/lib/user.component'; +import type { User } from '../../../static-users/src/lib/user.model'; export const randUser = (): User => ({ name: randFirstName(), diff --git a/libs/static-dynamic-import/users/tsconfig.lib.json b/libs/static-dynamic-import/users/tsconfig.lib.json index f68063a51..99110b782 100644 --- a/libs/static-dynamic-import/users/tsconfig.lib.json +++ b/libs/static-dynamic-import/users/tsconfig.lib.json @@ -8,5 +8,9 @@ "types": [] }, "exclude": ["src/**/*.spec.ts", "jest.config.ts", "src/**/*.test.ts"], - "include": ["src/**/*.ts"] + "include": [ + "src/**/*.ts", + "../static-users/src/lib/user.component.ts", + "../static-users/src/lib/user.model.ts" + ] } diff --git a/tsconfig.base.json b/tsconfig.base.json index 7b8f6b364..3453d92d8 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -82,6 +82,9 @@ ], "angular-master-dependency-injection": [ "apps/angular/16-master-dependency-injection/src/index.ts" + ], + "@angular-challenges/static-dynamic-import/static-users": [ + "libs/static-dynamic-import/static-users/src/index.ts" ] } },