Skip to content

Commit 60cf185

Browse files
authored
feat!: remove deprecated enum levels (#216)
## PR Checklist Please check if your PR fulfills the following requirements: - [x] The commit message follows our guidelines: CONTRIBUTING.md#commit - [ ] Tests for the changes have been added (for bug fixes / features) - [ ] Docs have been added / updated (for bug fixes / features) ## PR Type What kind of change does this PR introduce? <!-- Please check the one that applies to this PR using "x". --> ``` [ ] Bugfix [x] Feature [ ] Code style update (formatting, local variables) [ ] Refactoring (no functional changes, no api changes) [ ] Build related changes [ ] CI related changes [ ] Documentation content changes [ ] Other... Please describe: ``` ## What is the current behavior? We support both enum-based and literal union-based log levels. ## What is the new behavior? The deprecated enum-based log levels have been removed. ## Does this PR introduce a breaking change? ``` [x] Yes [ ] No ``` BREAKING CHANGES: Remove deprecated enum-based log levels
1 parent 762206f commit 60cf185

39 files changed

+92
-224
lines changed

.github/workflows/ci.yml

+4-5
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,10 @@ jobs:
9595
- name: Run NX Commands
9696
run: |
9797
pnpm exec nx-cloud record -- nx format:check
98-
pnpm exec nx affected -t lint test build e2e-ci
98+
pnpm exec nx affected -t lint test:ci build e2e-ci
9999
100100
sonarcloud:
101101
name: SonarCloud
102-
needs: main
103102
runs-on: ubuntu-latest
104103
permissions:
105104
id-token: write
@@ -114,16 +113,16 @@ jobs:
114113
uses: ./.github/actions/setup
115114
# Uses the cache generated in the distributed step (Needed for the sonar eslint reports).
116115
- name: Lint with reports
117-
run: pnpm exec nx run-many --all --target=lint --configuration=report --parallel=2 --max-warnings=0
116+
run: pnpm exec nx run-many --target=lint --configuration=report --parallel=2 --max-warnings=0
118117
# Uses the cache generated in the distributed step (Needed for the sonar jest coverage reports).
119118
- name: Tests with coverage
120-
run: pnpm exec nx run-many --all --target=test --configuration=coverage --parallel=1 --max-workers=2
119+
run: pnpm exec nx run-many --target=test --configuration=ci --parallel=1 --max-workers=2
121120

122121
- name: Configure Sonar report paths
123122
run: pnpm run configure-sonar-report-paths
124123

125124
- name: SonarCloud Scan
126-
uses: sonarsource/sonarcloud-github-action@v2.1.1
125+
uses: sonarsource/sonarcloud-github-action@v3.1.0
127126
env:
128127
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
129128
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

nx.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@
3030
},
3131
"@nx/eslint:lint": {
3232
"inputs": ["default", "{workspaceRoot}/.eslintrc.json"],
33-
"cache": true,
34-
"outputs": ["{options.outputFile}"]
33+
"cache": true
3534
},
3635
"@angular-devkit/build-angular:application": {
3736
"cache": true,

packages/examples/lumberjack-app/jest.config.ts

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export default {
44
preset: '../../../jest.preset.js',
55
setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
66
globals: {},
7+
coverageReporters: ['lcovonly', 'text-summary'],
78
coverageDirectory: '../../../coverage/packages/examples/lumberjack-app',
89
transform: {
910
'^.+\\.(ts|mjs|js|html)$': [

packages/examples/lumberjack-app/project.json

+9-5
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,6 @@
8282
"ci": {
8383
"ci": true,
8484
"coverage": true
85-
},
86-
"coverage": {
87-
"ci": true,
88-
"coverageReporters": ["lcovonly", "text-summary"],
89-
"coverage": true
9085
}
9186
}
9287
},
@@ -98,6 +93,15 @@
9893
"staticFilePath": "dist/packages/examples/lumberjack-app/browser",
9994
"spa": true
10095
}
96+
},
97+
"lint": {
98+
"outputs": ["{workspaceRoot}/reports/packages/examples/lumberjack-app/lint/report.json"],
99+
"configurations": {
100+
"report": {
101+
"format": "json",
102+
"output-file": "../../../reports/packages/examples/lumberjack-app/lint/report.json"
103+
}
104+
}
101105
}
102106
}
103107
}
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
import 'jest-preset-angular/setup-jest';
1+
import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
2+
3+
setupZoneTestEnv();

packages/internal/console-driver/test-util/jest.config.ts

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export default {
44
preset: '../../../../jest.preset.js',
55
setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
66
globals: {},
7+
coverageReporters: ['lcovonly', 'text-summary'],
78
coverageDirectory: '../../../../coverage/packages/internal/console-driver/test-util',
89
transform: {
910
'^.+\\.(ts|mjs|js|html)$': [

packages/internal/console-driver/test-util/project.json

+2-6
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,15 @@
1515
"ci": {
1616
"ci": true,
1717
"coverage": true
18-
},
19-
"coverage": {
20-
"ci": true,
21-
"coverageReporters": ["lcovonly", "text-summary"],
22-
"coverage": true
2318
}
2419
}
2520
},
2621
"lint": {
22+
"outputs": ["{workspaceRoot}/reports/packages/internal/console-driver/test-util/lint/report.json"],
2723
"configurations": {
2824
"report": {
2925
"format": "json",
30-
"output-file": "reports/packages/internal/console-driver/test-util/lint/report.json"
26+
"output-file": "../../../../reports/packages/internal/console-driver/test-util/lint/report.json"
3127
}
3228
}
3329
}
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
import 'jest-preset-angular/setup-jest';
1+
import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
2+
3+
setupZoneTestEnv();

packages/internal/test-util/jest.config.ts

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export default {
44
preset: '../../../jest.preset.js',
55
setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
66
globals: {},
7+
coverageReporters: ['lcovonly', 'text-summary'],
78
coverageDirectory: '../../../coverage/packages/internal/test-util',
89
transform: {
910
'^.+\\.(ts|mjs|js|html)$': [

packages/internal/test-util/project.json

+2-6
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,15 @@
1515
"ci": {
1616
"ci": true,
1717
"coverage": true
18-
},
19-
"coverage": {
20-
"ci": true,
21-
"coverageReporters": ["lcovonly", "text-summary"],
22-
"coverage": true
2318
}
2419
}
2520
},
2621
"lint": {
22+
"outputs": ["{workspaceRoot}/reports/packages/internal/test-util/lint/report.json"],
2723
"configurations": {
2824
"report": {
2925
"format": "json",
30-
"output-file": "reports/packages/internal/test-util/lint/report.json"
26+
"output-file": "../../../reports/packages/internal/test-util/lint/report.json"
3127
}
3228
}
3329
}

packages/internal/test-util/src/lib/error-throwing-driver/error-throwing.driver.spec.ts

+3-11
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { TestBed } from '@angular/core/testing';
22

33
import {
4-
LogLevel,
5-
LumberjackLevel,
64
LumberjackLogDriver,
75
LumberjackLogDriverLog,
86
lumberjackLogDriverToken,
@@ -33,26 +31,20 @@ describe(ErrorThrowingDriver.name, () => {
3331
}
3432

3533
describe.each([
36-
[LumberjackLevel.Critical, (driver) => driver.logCritical],
37-
[LumberjackLevel.Debug, (driver) => driver.logDebug],
38-
[LumberjackLevel.Error, (driver) => driver.logError],
39-
[LumberjackLevel.Info, (driver) => driver.logInfo],
40-
[LumberjackLevel.Trace, (driver) => driver.logTrace],
41-
[LumberjackLevel.Warning, (driver) => driver.logWarning],
4234
['critical', (driver) => driver.logCritical],
4335
['debug', (driver) => driver.logDebug],
4436
['error', (driver) => driver.logError],
4537
['info', (driver) => driver.logInfo],
4638
['trace', (driver) => driver.logTrace],
4739
['warn', (driver) => driver.logWarning],
48-
] as ReadonlyArray<[LumberjackLogLevel | LogLevel, (driver: LumberjackLogDriver) => (driverLog: LumberjackLogDriverLog) => void]>)(
40+
] as ReadonlyArray<[LumberjackLogLevel, (driver: LumberjackLogDriver) => (driverLog: LumberjackLogDriverLog) => void]>)(
4941
`implements a spy when using the %s log level`,
5042
(logLevel, logMethod) => {
5143
it('throws an error on first log when the default log driver configuration is used', () => {
5244
const { driver } = setup();
5345
const driverLog = createDriverLog(logLevel, logLevel, '', 'ErrorThrowingDriverDefaultTest');
5446

55-
expect(() => logMethod(driver).call(driver, driverLog)).toThrowError();
47+
expect(() => logMethod(driver).call(driver, driverLog)).toThrow();
5648
});
5749

5850
describe.each([0, 1, 2, 3])(
@@ -64,7 +56,7 @@ describe(ErrorThrowingDriver.name, () => {
6456
const act = () => logMethod(driver).call(driver, driverLog);
6557
repeatSideEffect(logsBeforeThrowing, act);
6658

67-
expect(act).toThrowError();
59+
expect(act).toThrow();
6860
});
6961
}
7062
);

packages/internal/test-util/src/lib/logs/driver-log-creators.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { TestBed } from '@angular/core/testing';
22

33
import {
4-
LogLevel,
54
LumberjackLogDriverLog,
65
LumberjackLogLevel,
76
LumberjackLogPayload,
@@ -10,7 +9,7 @@ import {
109

1110
export const createDriverLog = <TPayload extends LumberjackLogPayload | void = void>(
1211
formattedLog: string,
13-
level: LumberjackLogLevel | LogLevel,
12+
level: LumberjackLogLevel,
1413
message = '',
1514
scope = 'Test',
1615
payload?: TPayload

packages/internal/test-util/src/lib/object-driver/object.driver.spec.ts

+1-9
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ import { TestBed } from '@angular/core/testing';
22

33
import { createDriverLog, provideObjectDriver } from '@internal/test-util';
44
import {
5-
LogLevel,
6-
LumberjackLevel,
75
LumberjackLogDriver,
86
LumberjackLogDriverLog,
97
lumberjackLogDriverToken,
@@ -30,19 +28,13 @@ describe(ObjectDriver.name, () => {
3028
});
3129

3230
describe.each([
33-
[LumberjackLevel.Critical, (driver) => driver.logCritical, { isWorking: true }],
34-
[LumberjackLevel.Debug, (driver) => driver.logDebug, { isWorking: false }],
35-
[LumberjackLevel.Error, (driver) => driver.logError, undefined],
36-
[LumberjackLevel.Info, (driver) => driver.logInfo, { isWorking: true }],
37-
[LumberjackLevel.Trace, (driver) => driver.logTrace, { isWorking: false }],
38-
[LumberjackLevel.Warning, (driver) => driver.logWarning, undefined],
3931
['critical', (driver) => driver.logCritical, { isWorking: true }],
4032
['debug', (driver) => driver.logDebug, { isWorking: false }],
4133
['error', (driver) => driver.logError, undefined],
4234
['info', (driver) => driver.logInfo, { isWorking: true }],
4335
['trace', (driver) => driver.logTrace, { isWorking: false }],
4436
['warn', (driver) => driver.logWarning, undefined],
45-
] as ReadonlyArray<[LumberjackLogLevel | LogLevel, (driver: LumberjackLogDriver<ObjectPayload>) => (driverLog: LumberjackLogDriverLog<ObjectPayload>) => void, ObjectPayload | undefined]>)(
37+
] as ReadonlyArray<[LumberjackLogLevel, (driver: LumberjackLogDriver<ObjectPayload>) => (driverLog: LumberjackLogDriverLog<ObjectPayload>) => void, ObjectPayload | undefined]>)(
4638
`delegates to ${ObjectService.name} when using the %s log level`,
4739
(logLevel, logMethod, expectedPayload) => {
4840
it(`forwards the log payload to the ${ObjectService.prototype.log.name} method`, () => {

packages/internal/test-util/src/lib/spy-driver/spy.driver.spec.ts

+1-9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { TestBed } from '@angular/core/testing';
22

33
import {
4-
LogLevel,
5-
LumberjackLevel,
64
LumberjackLogDriver,
75
LumberjackLogDriverLog,
86
lumberjackLogDriverToken,
@@ -27,19 +25,13 @@ describe(SpyDriver.name, () => {
2725
});
2826

2927
describe.each([
30-
[LumberjackLevel.Critical, (driver) => driver.logCritical],
31-
[LumberjackLevel.Debug, (driver) => driver.logDebug],
32-
[LumberjackLevel.Error, (driver) => driver.logError],
33-
[LumberjackLevel.Info, (driver) => driver.logInfo],
34-
[LumberjackLevel.Trace, (driver) => driver.logTrace],
35-
[LumberjackLevel.Warning, (driver) => driver.logWarning],
3628
['critical', (driver) => driver.logCritical],
3729
['debug', (driver) => driver.logDebug],
3830
['error', (driver) => driver.logError],
3931
['info', (driver) => driver.logInfo],
4032
['trace', (driver) => driver.logTrace],
4133
['warn', (driver) => driver.logWarning],
42-
] as ReadonlyArray<[LumberjackLogLevel | LogLevel, (driver: LumberjackLogDriver<void>) => (driverLog: LumberjackLogDriverLog<void>) => void]>)(
34+
] as ReadonlyArray<[LumberjackLogLevel, (driver: LumberjackLogDriver<void>) => (driverLog: LumberjackLogDriverLog<void>) => void]>)(
4335
`implements a spy when using the %s log level`,
4436
(logLevel, logMethod) => {
4537
it('records calls', () => {
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
import 'jest-preset-angular/setup-jest';
1+
import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
2+
3+
setupZoneTestEnv();

packages/ngworker/lumberjack/http-driver/src/lib/configuration/provide-lumberjack-http-driver.spec.ts

+4-8
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { TestBed } from '@angular/core/testing';
22
import { HttpHandlerFn, HttpRequest, withInterceptors } from '@angular/common/http';
33

44
import {
5-
ConfigLevels,
65
LumberjackConfigLevels,
76
LumberjackLogDriver,
87
lumberjackLogDriverToken,
@@ -23,7 +22,7 @@ import { LumberjackHttpDriverInternalConfig } from './lumberjack-http-driver-int
2322
import { LumberjackHttpDriverOptions } from './lumberjack-http-driver.options';
2423

2524
function createHttpOptions(
26-
extraOptions: { levels?: ConfigLevels; identifier?: string } = {}
25+
extraOptions: { levels?: LumberjackConfigLevels; identifier?: string } = {}
2726
): LumberjackHttpDriverOptions {
2827
return {
2928
origin: 'TEST_MODULE',
@@ -33,10 +32,7 @@ function createHttpOptions(
3332
};
3433
}
3534

36-
function createHttpConfig(
37-
levels: LumberjackConfigLevels | ConfigLevels,
38-
identifier?: string
39-
): LumberjackHttpDriverConfig {
35+
function createHttpConfig(levels: LumberjackConfigLevels, identifier?: string): LumberjackHttpDriverConfig {
4036
const config: Writable<LumberjackHttpDriverConfig> = {
4137
levels,
4238
origin: 'TEST_MODULE',
@@ -169,7 +165,7 @@ describe(provideLumberjackHttpDriver.name, () => {
169165
});
170166

171167
it('registers the specified options with custom levels', () => {
172-
const customLevels: ConfigLevels = ['critical'];
168+
const customLevels: LumberjackConfigLevels = ['critical'];
173169
const options = createHttpOptions({ levels: customLevels });
174170

175171
const httpDriver = createHttpDriverWithOptions({ options });
@@ -228,7 +224,7 @@ describe(provideLumberjackHttpDriver.name, () => {
228224
it('does register the specified log driver options WITH HttpClient features', () => {
229225
const testInterceptor = jest.fn((req, next) => next(req));
230226
const features: HttpClientFeatures = [withInterceptors([testInterceptor])];
231-
const customLevels: ConfigLevels = ['critical'];
227+
const customLevels: LumberjackConfigLevels = ['critical'];
232228
const options = createHttpOptions({ levels: customLevels });
233229

234230
const httpDriver = createHttpDriverWithOptions({ options, features });

packages/ngworker/lumberjack/http-driver/src/lib/log-drivers/lumberjack-http.driver.spec.ts

+1-9
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import { VERSION } from '@angular/platform-browser';
44

55
import { createCriticalDriverLog, createDriverLog, repeatSideEffect } from '@internal/test-util';
66
import {
7-
LogLevel,
8-
LumberjackLevel,
97
LumberjackLogDriver,
108
LumberjackLogDriverLog,
119
lumberjackLogDriverToken,
@@ -104,19 +102,13 @@ describe(LumberjackHttpDriver.name, () => {
104102
});
105103

106104
describe.each([
107-
[LumberjackLevel.Critical, (driver) => driver.logCritical],
108-
[LumberjackLevel.Debug, (driver) => driver.logDebug],
109-
[LumberjackLevel.Error, (driver) => driver.logError],
110-
[LumberjackLevel.Info, (driver) => driver.logInfo],
111-
[LumberjackLevel.Trace, (driver) => driver.logTrace],
112-
[LumberjackLevel.Warning, (driver) => driver.logWarning],
113105
['critical', (driver) => driver.logCritical],
114106
['debug', (driver) => driver.logDebug],
115107
['error', (driver) => driver.logError],
116108
['info', (driver) => driver.logInfo],
117109
['trace', (driver) => driver.logTrace],
118110
['warn', (driver) => driver.logWarning],
119-
] as ReadonlyArray<[LumberjackLogLevel | LogLevel, (driver: LumberjackLogDriver<HttpDriverPayload>) => (driverLog: LumberjackLogDriverLog<HttpDriverPayload>) => void]>)(
111+
] as ReadonlyArray<[LumberjackLogLevel, (driver: LumberjackLogDriver<HttpDriverPayload>) => (driverLog: LumberjackLogDriverLog<HttpDriverPayload>) => void]>)(
120112
'logs to a web API using the %s log level',
121113
(logLevel, logMethod) => {
122114
it('sends the driver log to the configured URL', () => {

packages/ngworker/lumberjack/jest.config.ts

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export default {
44
preset: '../../../jest.preset.js',
55
setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
66
globals: {},
7+
coverageReporters: ['lcovonly', 'text-summary'],
78
coverageDirectory: '../../../coverage/packages/ngworker/lumberjack',
89
transform: {
910
'^.+\\.(ts|mjs|js|html)$': [

packages/ngworker/lumberjack/project.json

+2-6
Original file line numberDiff line numberDiff line change
@@ -62,19 +62,15 @@
6262
"ci": {
6363
"ci": true,
6464
"coverage": true
65-
},
66-
"coverage": {
67-
"ci": true,
68-
"coverageReporters": ["lcovonly", "text-summary"],
69-
"coverage": true
7065
}
7166
}
7267
},
7368
"lint": {
69+
"outputs": ["{workspaceRoot}/reports/packages/ngworker/lumberjack/lint/report.json"],
7470
"configurations": {
7571
"report": {
7672
"format": "json",
77-
"output-file": "reports/packages/ngworker/lumberjack/lint/report.json"
73+
"output-file": "../../../reports/packages/ngworker/lumberjack/lint/report.json"
7874
}
7975
}
8076
},

packages/ngworker/lumberjack/src/index.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ export { LumberjackLogFactory } from './lib/logging/lumberjack-log-factory';
2424
export { LumberjackLogBuilder } from './lib/logging/lumberjack-log.builder';
2525

2626
// Logs
27-
export { LumberjackConfigLevels, ConfigLevels } from './lib/logs/lumberjack-config-levels';
28-
export { LumberjackLevel, Level } from './lib/logs/lumberjack-level';
27+
export { LumberjackConfigLevels } from './lib/logs/lumberjack-config-levels';
28+
export { LumberjackLevel } from './lib/logs/lumberjack-level';
2929
export { LumberjackLog } from './lib/logs/lumberjack.log';
30-
export { LumberjackLogLevel, LogLevel } from './lib/logs/lumberjack-log-level';
30+
export { LumberjackLogLevel } from './lib/logs/lumberjack-log-level';
3131
export { LumberjackLogPayload } from './lib/logs/lumberjack-log-payload';
3232

3333
// Time

0 commit comments

Comments
 (0)