Skip to content

Commit 417f5eb

Browse files
committed
feat(common): update TypeScript configuration to use ESNext module system
1 parent bc7f7d4 commit 417f5eb

33 files changed

+8618
-735
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright © 2022 André Kremser
3+
Copyright © 2025 André Kremser
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

eslint.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import prettierPlugin from "eslint-plugin-prettier";
66
import unusedImportsPlugin from "eslint-plugin-unused-imports";
77

88
export default [
9+
{
10+
ignores: ["example/**"],
11+
},
912
js.configs.recommended,
1013
{
1114
files: ["**/*.ts"],

example/README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Example: Angular App Usage for angular-eslint-stylelint-builder
2+
3+
This folder contains an example Angular v20 app to demonstrate and test the builder library in a real project setup.
4+
5+
## Structure
6+
- `app/` — Angular v20 application
7+
- `eslint.config.js` — ESLint config for the app
8+
- `stylelint.config.js` — Stylelint config for the app
9+
- `src/` — Angular source files
10+
11+
## How to Use
12+
1. Build the builder library (from the project root):
13+
```sh
14+
cd ../../
15+
pnpm build
16+
```
17+
18+
2. Install dependencies for the Angular app:
19+
```sh
20+
cd example/app
21+
pnpm install
22+
```
23+
3. Run the builder lint task in the Angular app:
24+
```sh
25+
pnpm exec ng lint
26+
```
27+
28+
This will lint both TypeScript/HTML (ESLint) and CSS (Stylelint) files using your builder.
29+
30+
---
31+
32+
You can add or modify files in `example/app/src/` to test linting functionality and error reporting.

example/app/.editorconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Editor configuration, see https://editorconfig.org
2+
root = true
3+
4+
[*]
5+
charset = utf-8
6+
indent_style = space
7+
indent_size = 2
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.ts]
12+
quote_type = single
13+
ij_typescript_use_double_quotes = false
14+
15+
[*.md]
16+
max_line_length = off
17+
trim_trailing_whitespace = false

example/app/.gitignore

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files.
2+
3+
# Compiled output
4+
/dist
5+
/tmp
6+
/out-tsc
7+
/bazel-out
8+
9+
# Node
10+
/node_modules
11+
npm-debug.log
12+
yarn-error.log
13+
14+
# IDEs and editors
15+
.idea/
16+
.project
17+
.classpath
18+
.c9/
19+
*.launch
20+
.settings/
21+
*.sublime-workspace
22+
23+
# Visual Studio Code
24+
.vscode/*
25+
!.vscode/settings.json
26+
!.vscode/tasks.json
27+
!.vscode/launch.json
28+
!.vscode/extensions.json
29+
.history/*
30+
31+
# Miscellaneous
32+
/.angular/cache
33+
.sass-cache/
34+
/connect.lock
35+
/coverage
36+
/libpeerconnection.log
37+
testem.log
38+
/typings
39+
40+
# System files
41+
.DS_Store
42+
Thumbs.db
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3+
"recommendations": ["angular.ng-template"]
4+
}

example/app/.vscode/launch.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3+
"version": "0.2.0",
4+
"configurations": [
5+
{
6+
"name": "ng serve",
7+
"type": "chrome",
8+
"request": "launch",
9+
"preLaunchTask": "npm: start",
10+
"url": "http://localhost:4200/"
11+
},
12+
{
13+
"name": "ng test",
14+
"type": "chrome",
15+
"request": "launch",
16+
"preLaunchTask": "npm: test",
17+
"url": "http://localhost:9876/debug.html"
18+
}
19+
]
20+
}

example/app/.vscode/tasks.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
// For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558
3+
"version": "2.0.0",
4+
"tasks": [
5+
{
6+
"type": "npm",
7+
"script": "start",
8+
"isBackground": true,
9+
"problemMatcher": {
10+
"owner": "typescript",
11+
"pattern": "$tsc",
12+
"background": {
13+
"activeOnStart": true,
14+
"beginsPattern": {
15+
"regexp": "(.*?)"
16+
},
17+
"endsPattern": {
18+
"regexp": "bundle generation complete"
19+
}
20+
}
21+
}
22+
},
23+
{
24+
"type": "npm",
25+
"script": "test",
26+
"isBackground": true,
27+
"problemMatcher": {
28+
"owner": "typescript",
29+
"pattern": "$tsc",
30+
"background": {
31+
"activeOnStart": true,
32+
"beginsPattern": {
33+
"regexp": "(.*?)"
34+
},
35+
"endsPattern": {
36+
"regexp": "bundle generation complete"
37+
}
38+
}
39+
}
40+
}
41+
]
42+
}

example/app/README.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# App
2+
3+
This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.1.2.
4+
5+
## Development server
6+
7+
To start a local development server, run:
8+
9+
```bash
10+
ng serve
11+
```
12+
13+
Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files.
14+
15+
## Code scaffolding
16+
17+
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
18+
19+
```bash
20+
ng generate component component-name
21+
```
22+
23+
For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
24+
25+
```bash
26+
ng generate --help
27+
```
28+
29+
## Building
30+
31+
To build the project run:
32+
33+
```bash
34+
ng build
35+
```
36+
37+
This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed.
38+
39+
## Running unit tests
40+
41+
To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
42+
43+
```bash
44+
ng test
45+
```
46+
47+
## Running end-to-end tests
48+
49+
For end-to-end (e2e) testing, run:
50+
51+
```bash
52+
ng e2e
53+
```
54+
55+
Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
56+
57+
## Additional Resources
58+
59+
For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.

example/app/angular.json

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
{
2+
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3+
"version": 1,
4+
"newProjectRoot": "projects",
5+
"projects": {
6+
"app": {
7+
"projectType": "application",
8+
"schematics": {},
9+
"root": "",
10+
"sourceRoot": "src",
11+
"prefix": "app",
12+
"architect": {
13+
"build": {
14+
"builder": "@angular/build:application",
15+
"options": {
16+
"browser": "src/main.ts",
17+
"tsConfig": "tsconfig.app.json",
18+
"assets": [
19+
{
20+
"glob": "**/*",
21+
"input": "public"
22+
}
23+
],
24+
"styles": [
25+
"src/styles.css"
26+
]
27+
},
28+
"configurations": {
29+
"production": {
30+
"budgets": [
31+
{
32+
"type": "initial",
33+
"maximumWarning": "500kB",
34+
"maximumError": "1MB"
35+
},
36+
{
37+
"type": "anyComponentStyle",
38+
"maximumWarning": "4kB",
39+
"maximumError": "8kB"
40+
}
41+
],
42+
"outputHashing": "all"
43+
},
44+
"development": {
45+
"optimization": false,
46+
"extractLicenses": false,
47+
"sourceMap": true
48+
}
49+
},
50+
"defaultConfiguration": "production"
51+
},
52+
"serve": {
53+
"builder": "@angular/build:dev-server",
54+
"configurations": {
55+
"production": {
56+
"buildTarget": "app:build:production"
57+
},
58+
"development": {
59+
"buildTarget": "app:build:development"
60+
}
61+
},
62+
"defaultConfiguration": "development"
63+
},
64+
"extract-i18n": {
65+
"builder": "@angular/build:extract-i18n"
66+
},
67+
"test": {
68+
"builder": "@angular/build:karma",
69+
"options": {
70+
"tsConfig": "tsconfig.spec.json",
71+
"assets": [
72+
{
73+
"glob": "**/*",
74+
"input": "public"
75+
}
76+
],
77+
"styles": [
78+
"src/styles.css"
79+
]
80+
}
81+
},
82+
"lint": {
83+
"builder": "@krema/angular-eslint-stylelint-builder:lint",
84+
"options": {
85+
"eslintFilePatterns": [
86+
"src/**/*.ts",
87+
"src/**/*.html"
88+
],
89+
"stylelintFilePatterns": [
90+
"src/**/*.css"
91+
]
92+
}
93+
}
94+
}
95+
}
96+
},
97+
"cli": {
98+
"analytics": "be61f25b-80e7-4b9a-be41-b0531b94a9e4"
99+
}
100+
}

0 commit comments

Comments
 (0)