Skip to content

Commit ae0c2ca

Browse files
feat: add packages for libraries and schematics (#11)
Co-authored-by: Nacho Vazquez <[email protected]>
1 parent e8a59b6 commit ae0c2ca

19 files changed

+483
-138
lines changed
Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,33 @@
1-
name: 'build-test'
2-
on: # rebuild any PRs and main branch changes
1+
name: '@ngworker/angular-versions-action CI'
2+
3+
on:
34
pull_request:
45
push:
56
branches:
67
- main
7-
- 'releases/*'
88

99
jobs:
10-
build: # make sure build/ci work properly
10+
build:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- uses: actions/checkout@v2
14-
- run: |
15-
yarn
16-
- run: |
17-
yarn ci
18-
test: # make sure the action works on a clean machine without building
14+
- run: yarn install
15+
16+
- run: yarn build
17+
18+
test:
1919
runs-on: ubuntu-latest
2020
steps:
2121
- uses: actions/checkout@v2
22+
- run: yarn install
23+
24+
- run: yarn test
25+
26+
e2e:
27+
runs-on: ubuntu-latest
28+
steps:
29+
- uses: actions/checkout@v2
30+
2231
- uses: ./
2332
with:
2433
angular_version: 8.0.x
Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,96 @@
1+
import {fullWithTsickleJson} from './package-json-versions/full-with-tsickle';
12
import {
2-
packageJsonWithV8Dependencies,
3-
packageJsonWithV8DevDependencies,
4-
packageJsonWithV8All,
3+
packageJsonWithV11_1Dependencies,
4+
packageJsonWithV11_1DevDependencies,
5+
packageJsonWithV11_1All,
56
fullPackageJson,
67
packageUnmatching,
78
packageJsonWithoutNgPackagr,
8-
packageJsonWithV8AllWithoutNgPackagr
9+
packageJsonWith11_1AllWithoutNgPackagr,
10+
packageJsonV8WithForceDependencies
911
} from './package-json-versions';
1012
import {overrideAngularVersions} from '../src/override-angular-versions';
1113
import {getAngularVersions} from '../src/get-angular-versions';
1214

1315
describe(overrideAngularVersions.name, () => {
1416
describe('replaces versions existing in both sources', () => {
1517
test('replace ONLY Angular versions in dependencies', () => {
16-
const v8 = getAngularVersions('8.0.x');
17-
(v8.devDependencies as any) = {};
18+
const v11_1 = getAngularVersions('11.1.x');
19+
(v11_1.devDependencies as any) = {};
1820

1921
const actualPackageJson = overrideAngularVersions({
2022
projectVersions: fullPackageJson,
21-
angularVersions: v8
23+
angularVersions: v11_1
2224
});
2325

24-
expect(actualPackageJson).toEqual(packageJsonWithV8Dependencies);
26+
expect(actualPackageJson).toEqual(packageJsonWithV11_1Dependencies);
2527
});
2628

2729
test('replace ONLY Angular versions in devDependencies', () => {
28-
const v8 = getAngularVersions('8.0.x');
29-
(v8.dependencies as any) = {};
30+
const v11_1 = getAngularVersions('11.1.x');
31+
(v11_1.dependencies as any) = {};
3032

3133
const actualPackageJson = overrideAngularVersions({
3234
projectVersions: fullPackageJson,
33-
angularVersions: v8
35+
angularVersions: v11_1
3436
});
3537

36-
expect(actualPackageJson).toEqual(packageJsonWithV8DevDependencies);
38+
expect(actualPackageJson).toEqual(packageJsonWithV11_1DevDependencies);
3739
});
3840

3941
test('replace Angular versions in devDependencies and dependencies', () => {
40-
const v8 = getAngularVersions('8.0.x');
42+
const v11_1 = getAngularVersions('11.1.x');
4143

4244
const actualPackageJson = overrideAngularVersions({
4345
projectVersions: fullPackageJson,
44-
angularVersions: v8
46+
angularVersions: v11_1
4547
});
4648

47-
expect(actualPackageJson).toEqual(packageJsonWithV8All);
49+
expect(actualPackageJson).toEqual(packageJsonWithV11_1All);
4850
});
4951

5052
test('no override package with unmatching versions', () => {
51-
const v8 = getAngularVersions('8.0.x');
53+
const v11_1 = getAngularVersions('11.1.x');
5254

5355
const actualPackageJson = overrideAngularVersions({
5456
projectVersions: packageUnmatching as any,
55-
angularVersions: v8
57+
angularVersions: v11_1
5658
});
5759

5860
expect(actualPackageJson).toEqual(packageUnmatching);
5961
});
6062

6163
test('no add ng-packagr dependency when it is not present in the package', () => {
62-
const v8 = getAngularVersions('8.0.x');
64+
const v11_1 = getAngularVersions('11.1.x');
6365

6466
const actualPackageJson = overrideAngularVersions({
6567
projectVersions: packageJsonWithoutNgPackagr as any,
68+
angularVersions: v11_1
69+
});
70+
71+
expect(actualPackageJson).toEqual(packageJsonWith11_1AllWithoutNgPackagr);
72+
});
73+
74+
test('add forced dependencies when not present in the package', () => {
75+
const v8 = getAngularVersions('8.0.x');
76+
77+
const actualPackageJson = overrideAngularVersions({
78+
projectVersions: fullPackageJson as any,
79+
angularVersions: v8
80+
});
81+
82+
expect(actualPackageJson).toEqual(packageJsonV8WithForceDependencies);
83+
});
84+
85+
test('replace forced dependencies when present in the package', () => {
86+
const v8 = getAngularVersions('8.0.x');
87+
88+
const actualPackageJson = overrideAngularVersions({
89+
projectVersions: fullWithTsickleJson as any,
6690
angularVersions: v8
6791
});
6892

69-
expect(actualPackageJson).toEqual(packageJsonWithV8AllWithoutNgPackagr);
93+
expect(actualPackageJson).toEqual(packageJsonV8WithForceDependencies);
7094
});
7195
});
7296
});

__tests__/package-json-versions/full-package-json.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export const fullPackageJson = {
4747
devDependencies: {
4848
'@angular-devkit/build-angular': '~0.1001.7',
4949
'@angular-devkit/build-ng-packagr': '~0.1001.7',
50+
'@angular-devkit/schematics-cli': '~0.1001.7',
5051
'@angular/cli': '~10.1.7',
5152
'@angular/compiler-cli': '~10.1.6',
5253
'@commitlint/cli': '8.1.0',

__tests__/package-json-versions/v8-all-override-without-ng-packagr.ts renamed to __tests__/package-json-versions/full-with-tsickle.ts

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export const packageJsonWithV8AllWithoutNgPackagr = {
1+
export const fullWithTsickleJson = {
22
name: 'lumberjack',
33
version: '0.0.0',
44
scripts: {
@@ -32,22 +32,24 @@ export const packageJsonWithV8AllWithoutNgPackagr = {
3232
},
3333
private: true,
3434
dependencies: {
35-
'@angular/animations': '~8.0.3',
36-
'@angular/common': '~8.0.3',
37-
'@angular/compiler': '~8.0.3',
38-
'@angular/core': '~8.0.3',
39-
'@angular/forms': '~8.0.3',
40-
'@angular/platform-browser': '~8.0.3',
41-
'@angular/platform-browser-dynamic': '~8.0.3',
42-
'@angular/router': '~8.0.3',
35+
'@angular/animations': '~8.2.0',
36+
'@angular/common': '~8.2.0',
37+
'@angular/compiler': '~8.2.0',
38+
'@angular/core': '~8.2.0',
39+
'@angular/forms': '~8.2.0',
40+
'@angular/platform-browser': '~8.2.0',
41+
'@angular/platform-browser-dynamic': '~8.2.0',
42+
'@angular/router': '~8.2.0',
4343
rxjs: '~6.4.0',
44-
tslib: '^1.9.0',
44+
tslib: '^1.10.0',
4545
'zone.js': '~0.9.1'
4646
},
4747
devDependencies: {
48-
'@angular-devkit/build-angular': '~0.800.6',
49-
'@angular/cli': '~8.0.6',
50-
'@angular/compiler-cli': '~8.0.3',
48+
'@angular-devkit/build-angular': '~0.803.0',
49+
'@angular-devkit/build-ng-packagr': '~0.803.0',
50+
'@angular-devkit/schematics-cli': '~0.1001.7',
51+
'@angular/cli': '~8.3.0',
52+
'@angular/compiler-cli': '~8.2.0',
5153
'@commitlint/cli': '8.1.0',
5254
'@commitlint/config-angular': '^8.3.4',
5355
'@commitlint/config-conventional': '^8.3.4',
@@ -69,15 +71,16 @@ export const packageJsonWithV8AllWithoutNgPackagr = {
6971
'karma-jasmine': '~3.3.1',
7072
'karma-jasmine-html-reporter': '^1.5.0',
7173
'lint-staged': '^9.5.0',
72-
'ng-packagr': '^10.0.0',
74+
'ng-packagr': '^5.3.0',
7375
prettier: '^2.0.5',
7476
protractor: '~7.0.0',
7577
'standard-version': '^6.0.1',
7678
'ts-node': '~7.0.0',
79+
tsickle: '~0.36.0',
7780
tslint: '~5.15.0',
7881
'tslint-config-prettier': '^1.18.0',
7982
'tslint-plugin-prettier': '^2.3.0',
80-
typescript: '~3.4.3'
83+
typescript: '~3.5.3'
8184
},
8285
config: {
8386
commitizen: {
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
export * from './full-package-json';
2-
export * from './v8-dep-overrided';
3-
export * from './v8-devdep-override';
4-
export * from './v8-all-override';
2+
export * from './full-with-tsickle';
3+
export * from './v11_1-dep-overrided';
4+
export * from './v11_1-devdep-override';
5+
export * from './v11_1-all-override';
56
export * from './package-unmatching';
67
export * from './package-without-ng-packagr';
7-
export * from './v8-all-override-without-ng-packagr';
8+
export * from './v11_1-all-override-without-ng-packagr';
9+
export * from './v8-with-forced-dependencies';

__tests__/package-json-versions/package-unmatching.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ export const packageUnmatching = {
5555
'karma-jasmine': '~3.3.1',
5656
'karma-jasmine-html-reporter': '^1.5.0',
5757
'lint-staged': '^9.5.0',
58-
'ng-packagr': '^10.0.0',
5958
prettier: '^2.0.5',
6059
protractor: '~7.0.0',
6160
'standard-version': '^6.0.1',

__tests__/package-json-versions/package-without-ng-packagr.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export const packageJsonWithoutNgPackagr = {
4646
},
4747
devDependencies: {
4848
'@angular-devkit/build-angular': '~0.1001.7',
49+
'@angular-devkit/schematics-cli': '~0.1001.7',
4950
'@angular/cli': '~10.1.7',
5051
'@angular/compiler-cli': '~10.1.6',
5152
'@commitlint/cli': '8.1.0',
@@ -69,7 +70,6 @@ export const packageJsonWithoutNgPackagr = {
6970
'karma-jasmine': '~3.3.1',
7071
'karma-jasmine-html-reporter': '^1.5.0',
7172
'lint-staged': '^9.5.0',
72-
'ng-packagr': '^10.0.0',
7373
prettier: '^2.0.5',
7474
protractor: '~7.0.0',
7575
'standard-version': '^6.0.1',
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
export const packageJsonWith11_1AllWithoutNgPackagr = {
2+
name: 'lumberjack',
3+
version: '0.0.0',
4+
scripts: {
5+
ng: 'ng',
6+
start: 'ng serve lumberjack-app',
7+
build: 'ng build lumberjack-app --prod',
8+
test: 'ng test lumberjack-app',
9+
'test:ci': 'yarn test --configuration=ci',
10+
lint: 'ng lint',
11+
e2e: 'ng e2e lumberjack-app-e2e',
12+
'contributors:add': 'all-contributors add',
13+
'hooks:pre-commit': 'node hooks/pre-commit.js',
14+
commit: 'git-cz',
15+
'release:first': 'yarn release -- --first-release',
16+
'build:lib':
17+
'ng build ngworker-lumberjack --prod && npx copy README.md ./dist/ngworker/lumberjack',
18+
'test:lib': 'ng test ngworker-lumberjack',
19+
'test:lib:ci': 'yarn test:lib --configuration=ci',
20+
'test:internal':
21+
'ng test internal-test-util && ng test internal-console-driver-test-util',
22+
'test:internal:ci':
23+
'ng test internal-test-util --configuration=ci && ng test internal-console-driver-test-util --configuration=ci',
24+
release:
25+
'cd libs/ngworker/lumberjack && standard-version --infile ../../../CHANGELOG.md',
26+
publish: 'cd dist/ngworker/lumberjack && npm publish',
27+
ci:
28+
'yarn install && yarn lint && yarn build:lib && yarn test:internal:ci && yarn test:lib:ci && yarn build && yarn test:ci && yarn e2e',
29+
format:
30+
'npx prettier --config prettier.config.js --write "**/*.*" "!dist/**" "!yarn.lock"',
31+
'delete-path-alias': 'node tools/delete-path-alias.js'
32+
},
33+
private: true,
34+
dependencies: {
35+
'@angular/animations': '~11.1.0',
36+
'@angular/common': '~11.1.0',
37+
'@angular/compiler': '~11.1.0',
38+
'@angular/core': '~11.1.0',
39+
'@angular/forms': '~11.1.0',
40+
'@angular/platform-browser': '~11.1.0',
41+
'@angular/platform-browser-dynamic': '~11.1.0',
42+
'@angular/router': '~11.1.0',
43+
rxjs: '~6.6.0',
44+
tslib: '^2.0.0',
45+
'zone.js': '~0.11.3'
46+
},
47+
devDependencies: {
48+
'@angular-devkit/build-angular': '~0.1101.0',
49+
'@angular-devkit/schematics-cli': '~0.1101.0',
50+
'@angular/cli': '~11.1.0',
51+
'@angular/compiler-cli': '~11.1.0',
52+
'@commitlint/cli': '8.1.0',
53+
'@commitlint/config-angular': '^8.3.4',
54+
'@commitlint/config-conventional': '^8.3.4',
55+
'@ngneat/spectator': '^6.0.0',
56+
'@types/jasmine': '~3.5.0',
57+
'@types/jasminewd2': '~2.0.3',
58+
'@types/node': '^12.11.1',
59+
'all-contributors-cli': '^6.8.1',
60+
codelyzer: '^6.0.0',
61+
copy: '~0.3.2',
62+
'git-cz': '^3.3.0',
63+
husky: '^3.1.0',
64+
'jasmine-core': '~3.5.0',
65+
'jasmine-spec-reporter': '~5.0.2',
66+
json: '^10.0.0',
67+
karma: '~5.0.9',
68+
'karma-chrome-launcher': '~3.1.0',
69+
'karma-coverage-istanbul-reporter': '~3.0.2',
70+
'karma-jasmine': '~3.3.1',
71+
'karma-jasmine-html-reporter': '^1.5.0',
72+
'lint-staged': '^9.5.0',
73+
prettier: '^2.0.5',
74+
protractor: '~7.0.0',
75+
'standard-version': '^6.0.1',
76+
'ts-node': '~8.3.0',
77+
tslint: '~6.1.0',
78+
'tslint-config-prettier': '^1.18.0',
79+
'tslint-plugin-prettier': '^2.3.0',
80+
typescript: '~4.1.2'
81+
},
82+
config: {
83+
commitizen: {
84+
path: 'cz-conventional-changelog'
85+
}
86+
},
87+
'lint-staged': {
88+
'*.{js,json,css,scss,ts,html,component.html}': [
89+
'prettier --write',
90+
'git add'
91+
]
92+
},
93+
husky: {
94+
hooks: {
95+
'commit-msg': 'commitlint -e $HUSKY_GIT_PARAMS',
96+
'pre-commit': 'yarn hooks:pre-commit && lint-staged && yarn lint',
97+
'pre-push': 'yarn test:lib:ci'
98+
}
99+
}
100+
};

0 commit comments

Comments
 (0)