Skip to content

Commit d38881a

Browse files
StephanGerbethrenovate[bot]semantic-release-bot
authored
Beta (basics#20)
* chore(deps): pin dependencies * fix(semver): test * fix(semver): test * fix(semver): test * fix(semver): implemented monorepo config & workflow * chore(release): 1.0.0-beta.1 [skip ci] # @rxjs-collection/operators-v1.0.0-beta.1 (2024-09-09) ### Bug Fixes * **git-workflow:** added yml for main and beta ([8fda8d9](basics@8fda8d9)) * **semver:** implemented monorepo config & workflow ([d73a02b](basics@d73a02b)) * **semver:** test ([455516b](basics@455516b)) * **test:** added forgotten successful empty runs ([7304362](basics@7304362)) ### Features * **setup:** init ([a01e5e3](basics@a01e5e3)) * chore(release): 1.0.0-beta.1 [skip ci] # @rxjs-collection/observables-v1.0.0-beta.1 (2024-09-09) ### Bug Fixes * **git-workflow:** added yml for main and beta ([8fda8d9](basics@8fda8d9)) * **semver:** implemented monorepo config & workflow ([d73a02b](basics@d73a02b)) * **test:** added successful empty run in package json ([6c237cf](basics@6c237cf)) ### Features * **setup:** init ([a01e5e3](basics@a01e5e3)) * fix(semver): prevent npm publish * chore(release): 1.0.0-beta.2 [skip ci] # [@rxjs-collection/operators-v1.0.0-beta.2](https://github.com/basics/rxjs-collection/compare/@rxjs-collection/operators-v1.0.0-beta.1...@rxjs-collection/operators-v1.0.0-beta.2) (2024-09-09) ### Bug Fixes * **semver:** prevent npm publish ([1c3e233](basics@1c3e233)) * chore(release): 1.0.0-beta.2 [skip ci] # [@rxjs-collection/observables-v1.0.0-beta.2](https://github.com/basics/rxjs-collection/compare/@rxjs-collection/observables-v1.0.0-beta.1...@rxjs-collection/observables-v1.0.0-beta.2) (2024-09-09) ### Bug Fixes * **semver:** prevent npm publish ([1c3e233](basics@1c3e233)) * fix(packages): removed private attr in package.json * chore(release): 1.0.0-beta.3 [skip ci] # [@rxjs-collection/operators-v1.0.0-beta.3](https://github.com/basics/rxjs-collection/compare/@rxjs-collection/operators-v1.0.0-beta.2...@rxjs-collection/operators-v1.0.0-beta.3) (2024-09-09) ### Bug Fixes * **packages:** removed private attr in package.json ([ed66028](basics@ed66028)) * chore(release): 1.0.0-beta.3 [skip ci] # [@rxjs-collection/observables-v1.0.0-beta.3](https://github.com/basics/rxjs-collection/compare/@rxjs-collection/observables-v1.0.0-beta.2...@rxjs-collection/observables-v1.0.0-beta.3) (2024-09-09) ### Bug Fixes * **packages:** removed private attr in package.json ([ed66028](basics@ed66028)) * chore(deps): pin dependency semantic-release to 24.1.0 * fix(renovate): updated config * chore(project): small cleanup * chore(deps): pin dependency rxjs to 7.8.1 * feat(sonarcloud): added to github actions * chore(deps): update actions/checkout action to v4 * fix(sonarcloud): added forgotten os strategy * fix(project): added badges to readme * fix(operators): added initial mocha setup * fix(mocha): updated setup * fix(mocha): first test with mocked data * fix(mocha): fixed async prob in first test * fix(mocha): renamed mockFunctions * fix(mocha): restructured test folder * fix(test): corrected outline * chore(deps): update dependency husky to v9.1.6 * chore(deps): update dependency semantic-release to v24.1.1 * chore(deps): update dependency @commitlint/config-conventional to v19.5.0 * chore(deps): update dependency commitlint to v19.5.0 * fix(mocha): added async event marble test * fix(test): switched from mocha to vitest * fix(dom/window): fixed mockreset status * fix(vitest): added test cases * fix(package-lock): update * chore(deps): update dependency @semantic-release/github to v10.3.4 * chore(release): 1.0.0-beta.4 [skip ci] # [@rxjs-collection/operators-v1.0.0-beta.4](https://github.com/basics/rxjs-collection/compare/@rxjs-collection/operators-v1.0.0-beta.3...@rxjs-collection/operators-v1.0.0-beta.4) (2024-09-15) ### Bug Fixes * **mocha:** restructured test folder ([ff621f2](basics@ff621f2)) * **mocha:** updated setup ([793c14f](basics@793c14f)) * **operators:** added initial mocha setup ([756c589](basics@756c589)) * **test:** corrected outline ([f214cd1](basics@f214cd1)) * **test:** switched from mocha to vitest ([52425e1](basics@52425e1)) * **vitest:** added test cases ([7c3a090](basics@7c3a090)) * chore(release): 1.0.0-beta.4 [skip ci] # [@rxjs-collection/observables-v1.0.0-beta.4](https://github.com/basics/rxjs-collection/compare/@rxjs-collection/observables-v1.0.0-beta.3...@rxjs-collection/observables-v1.0.0-beta.4) (2024-09-15) ### Bug Fixes * **dom/window:** fixed mockreset status ([cdc5dae](basics@cdc5dae)) * **mocha:** added async event marble test ([f8e5bdb](basics@f8e5bdb)) * **mocha:** first test with mocked data ([e1344d9](basics@e1344d9)) * **mocha:** fixed async prob in first test ([a5ba14e](basics@a5ba14e)) * **mocha:** renamed mockFunctions ([f59866f](basics@f59866f)) * **mocha:** updated setup ([793c14f](basics@793c14f)) * **test:** switched from mocha to vitest ([52425e1](basics@52425e1)) * **vitest:** added test cases ([7c3a090](basics@7c3a090)) * fix(sonarcloud+action): added new rules * fix(vitest): workspace coverage * chore(release): 1.0.0-beta.5 [skip ci] # [@rxjs-collection/operators-v1.0.0-beta.5](https://github.com/basics/rxjs-collection/compare/@rxjs-collection/operators-v1.0.0-beta.4...@rxjs-collection/operators-v1.0.0-beta.5) (2024-09-15) ### Bug Fixes * **vitest:** workspace coverage ([e2ed1ec](basics@e2ed1ec)) * chore(deps): pin dependencies * chore(deps): update dependency semantic-release to v24.1.1 * chore(deps): lock file maintenance (basics#17) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(action): modified workflow for beta (basics#18) * fix(action): modified workflow for beta * fix(action): embedded test & coverage * fix(action): rename process * fix(action): rerun workflow if pr was edited * fix(action): upload & download coverage artifact * fix(action): artifact build fix * fix(action): added new coverage reporter * fix(action): run beta on sync * fix(vitest): added lcov as coverage reporter * fix(sonarcloud): added vitest lcov report to sonar * fix(action): test * fix(action): test * fix(action): test * fix(action): download coverage to folder * fix(action): test * fix(readme): added some todos (basics#19) * fix(security-hotspot): cleanup (basics#21) * chore(release): 1.0.0-beta.5 [skip ci] # [@rxjs-collection/observables-v1.0.0-beta.5](https://github.com/basics/rxjs-collection/compare/@rxjs-collection/observables-v1.0.0-beta.4...@rxjs-collection/observables-v1.0.0-beta.5) (2024-09-16) ### Bug Fixes * **security-hotspot:** cleanup ([basics#21](basics#21)) ([d96c3dc](basics@d96c3dc)) --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: semantic-release-bot <[email protected]>
1 parent 7304362 commit d38881a

33 files changed

+4412
-1519
lines changed

.browserslistrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
>= 0.4% and last 4 versions, iOS >= 15, Firefox ESR, not dead, not and_qq >= 0, not and_uc >= 0, not samsung >=0, not kaios >=0, not op_mini all
1+
>0.4%, last 2 major versions, Firefox ESR, not dead, not and_qq >= 0, not and_uc >= 0, not samsung >=0, not kaios >=0, not op_mini all, not OperaMobile >= 0, not android >= 0

.env

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/workflows/beta.yml

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@ on:
44
push:
55
branches:
66
- beta
7+
pull_request:
8+
types:
9+
- opened
10+
- reopened
11+
- edited
12+
- synchronize
13+
branches:
14+
- beta
715

816
concurrency:
917
group: ${{ github.workflow }}-${{ github.ref }}
@@ -41,12 +49,45 @@ jobs:
4149
- name: Lint
4250
run: npm run lint
4351

44-
- name: Test
45-
run: npm run test
52+
- name: Vitest - Test & Coverage
53+
run: npm run coverage
54+
55+
- name: Archive vitest code coverage results
56+
uses: actions/upload-artifact@v4
57+
with:
58+
name: vitest-code-coverage-report
59+
path: ./coverage/
60+
61+
sonarcloud:
62+
name: SonarCloud
63+
needs: install
64+
runs-on: ${{ matrix.os }}
65+
66+
strategy:
67+
matrix:
68+
os: [ubuntu-latest]
69+
node: [20]
70+
71+
steps:
72+
- uses: actions/checkout@v4
73+
with:
74+
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
75+
- name: Download vitest code coverage results
76+
uses: actions/download-artifact@v4
77+
with:
78+
name: vitest-code-coverage-report
79+
path: ./coverage/
80+
- name: check
81+
run: cd coverage && find .
82+
- name: SonarCloud Scan
83+
uses: SonarSource/sonarcloud-github-action@master
84+
env:
85+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
86+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
4687

4788
semantic-version:
4889
name: Semantic Release
49-
needs: install
90+
needs: sonarcloud
5091
runs-on: ${{ matrix.os }}
5192

5293
strategy:
@@ -72,4 +113,4 @@ jobs:
72113
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
73114
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
74115
run: |
75-
npx -p @nuxt/module-builder -p semantic-release -p @semantic-release/git -p @semantic-release/changelog -p @semantic-release/exec -p @semantic-release/github semantic-release --provider=github --debug=true
116+
npm run release

.github/workflows/main.yml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,25 @@ jobs:
4444
- name: Test
4545
run: npm run test
4646

47+
sonarcloud:
48+
name: SonarCloud
49+
runs-on: ${{ matrix.os }}
50+
51+
strategy:
52+
matrix:
53+
os: [ubuntu-latest]
54+
node: [20]
55+
56+
steps:
57+
- uses: actions/checkout@v4
58+
with:
59+
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
60+
- name: SonarCloud Scan
61+
uses: SonarSource/sonarcloud-github-action@master
62+
env:
63+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
64+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
65+
4766
semantic-version:
4867
name: Semantic Release
4968
needs: install
@@ -72,5 +91,5 @@ jobs:
7291
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7392
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
7493
run: |
75-
npx -p @nuxt/module-builder -p semantic-release -p @semantic-release/git -p @semantic-release/changelog -p @semantic-release/exec -p @semantic-release/github semantic-release --provider=github --debug=true
94+
npm run release
7695

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
node_modules
2+
/.env
3+
/.DS_Store
4+
/coverage

.husky/pre-commit

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
#!/bin/sh
2-
. "$(dirname "$0")/_/husky.sh"
3-
41
export NVM_DIR="$HOME/.nvm"
52
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
63

.vscode/extensions.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"recommendations": [
3+
"dbaeumer.vscode-eslint",
4+
"christian-kohler.path-intellisense",
5+
"pflannery.vscode-versionlens",
6+
"eamodio.gitlens",
7+
"EditorConfig.EditorConfig",
8+
"codezombiech.gitignore",
9+
"mrmlnc.vscode-attrs-sorter",
10+
"steoates.autoimport",
11+
"wayou.vscode-todo-highlight",
12+
"yzhang.markdown-all-in-one",
13+
"formulahendry.auto-close-tag",
14+
"formulahendry.auto-rename-tag",
15+
"naumovs.color-highlight"
16+
]
17+
}

README.md

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,60 @@
1-
# rxjs
1+
# rxjs-collection
2+
3+
[![main][github-workflow-main-src]][github-workflow-main-href]
4+
[![next][github-workflow-next-src]][github-workflow-next-href]
5+
[![Sonarcloud Status][sonarcloud-src]][sonarcloud-href]
6+
7+
[![npm version][npm-version-latest-src]][npm-version-latest-href]
8+
[![npm downloads][npm-downloads-src]][npm-downloads-href]
9+
10+
[![Renovate - Status][renovate-status-src]][renovate-status-href]
11+
[![License][license-src]][license-href]
12+
13+
---
14+
15+
## ToDo
16+
- evaluation
17+
- [ ] BranchNameLint alternative (https://www.npmjs.com/package/branch-name-lint)
18+
- [ ] SonarLint (https://docs.sonarsource.com/sonarcloud/improving/sonarlint/)
19+
- [ ] ...
20+
- observables + test
21+
- [ ] default fetch
22+
- [ ] window dom (resize, scroll)?
23+
- [ ] ...
24+
- operators + test
25+
- [ ] finalize network retry
26+
- [ ] request paginator (full, lazy)
27+
- [ ] ...
28+
- git actions
29+
- [ ] implemented merge strategy
30+
- only beta-branch can be merged into main
31+
- only feature-branches can be merged into beta
32+
- hotfixes can be merged directly into main, but beta will also be updated
33+
- [ ] ...
34+
- sonarcloud
35+
- [ ] finalized config
36+
- [ ] ...
37+
- additional git action services
38+
- [ ] evaluate pr agent
39+
- [ ] ...
40+
41+
42+
[renovate-status-src]: <https://img.shields.io/badge/renovate-enabled-brightgreen>
43+
[renovate-status-href]: <https://renovate.whitesourcesoftware.com/>
44+
45+
[github-workflow-main-src]: <https://github.com/basics/rxjs-collection/actions/workflows/main.yml/badge.svg>
46+
[github-workflow-main-href]: <https://github.com/basics/rxjs-collection/actions?query=workflow%3Amain>
47+
[github-workflow-next-src]: <https://github.com/basics/rxjs-collection/actions/workflows/beta.yml/badge.svg>
48+
[github-workflow-next-href]: <https://github.com/basics/rxjs-collection/actions?query=workflow%3Abeta>
49+
50+
[sonarcloud-src]: <https://sonarcloud.io/api/project_badges/measure?project=basics_rxjs-collection&metric=alert_status>
51+
[sonarcloud-href]: <https://sonarcloud.io/dashboard?id=basics_rxjs-collection>
52+
53+
[license-src]: https://img.shields.io/github/license/basics/rxjs-collection
54+
[license-href]: https://github.com/basics/rxjs-collection
55+
56+
[npm-version-latest-src]: https://img.shields.io/npm/v/nuxt-booster/latest.svg?
57+
[npm-version-latest-href]: https://npmjs.com/package/nuxt-booster/v/latest
58+
59+
[npm-downloads-src]: https://img.shields.io/npm/dt/nuxt-booster.svg?style=flat-square
60+
[npm-downloads-href]: https://npmjs.com/package/nuxt-booster

eslint.config.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,25 @@ import js from '@eslint/js';
22
import globals from 'globals';
33
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
44
import eslintPluginSecurity from 'eslint-plugin-security';
5-
import eslintPluginMocha from 'eslint-plugin-mocha';
5+
import eslintPluginVitest from 'eslint-plugin-vitest';
66
import eslintIgnores from './eslint.ignores.js';
77

88
export default [
99
eslintPluginSecurity.configs.recommended,
1010
eslintPluginPrettierRecommended,
11-
eslintPluginMocha.configs.flat.recommended,
1211
js.configs.recommended,
1312
{
1413
files: ['**/*.js'],
1514
ignores: eslintIgnores,
1615
languageOptions: {
1716
globals: {
1817
...globals.browser,
19-
myCustomGlobal: 'readonly'
18+
expect: 'readonly'
2019
}
2120
},
21+
plugins: {
22+
eslintPluginVitest
23+
},
2224
rules: {
2325
'block-spacing': 'error',
2426
complexity: ['error', { max: 7 }],

0 commit comments

Comments
 (0)