Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/actions/build/action.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
runs:
using: 'composite'
steps:
- uses: actions/setup-node@v4
- uses: actions/setup-node@v6
with:
node-version: 22
- uses: actions/cache@v4
node-version: 24
- uses: actions/cache@v5
with:
path: node_modules
key: node-modules-v1-${{ hashFiles('package-lock.json') }}
- uses: actions/cache@v4
- uses: actions/cache@v5
with:
path: .angular/cache
key: build-artifacts-v1-${{ github.sha }}
restore-keys: build-artifacts-v1-

- run: npm i
- run: npm ci
shell: bash
- run: npm run build-libs
shell: bash
5 changes: 3 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,16 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- uses: ./.github/actions/build

- run: npx playwright install --with-deps
# - run: npm run test -- --no-watch --no-progress --browsers=ChromeHeadless
- run: npx tsx ./scripts/test-all.ts
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- uses: ./.github/actions/build

- run: npm run lint -- --quiet
Expand Down
13 changes: 13 additions & 0 deletions .idea/runConfigurations/ng_vitest___build.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions .idea/runConfigurations/ng_vitest___test_server.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ This is a collection of libraries from Simonton Software, written in TypeScript
- [`ng-mat-core`](https://github.com/simontonsoftware/s-libs/tree/master/projects/ng-mat-core): Miscellaneous utilities for Angular Material
- [`signal-store`](https://github.com/simontonsoftware/s-libs/tree/master/projects/signal-store): A state management library based on Angular signals
- [`ng-dev`](https://github.com/simontonsoftware/s-libs/tree/master/projects/ng-dev): Miscellaneous utilities for Angular tests
- [`ng-vitest`](https://github.com/simontonsoftware/s-libs/tree/master/projects/ng-vitest): Miscellaneous utilities for Angular tests that use the Vitest test runner
- [`ng-jasmine`](https://github.com/simontonsoftware/s-libs/tree/master/projects/ng-jasmine): Miscellaneous utilities for Angular tests that use the Karma test runner (which also uses Jasmine)
- [`eslint-config-ng`](https://github.com/simontonsoftware/s-libs/tree/master/projects/eslint-config-ng): Recommended default config for ESLint in an Angular project.
7 changes: 0 additions & 7 deletions TODO.md

This file was deleted.

56 changes: 47 additions & 9 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"projectType": "library",
"root": "projects/app-state",
"sourceRoot": "projects/app-state/src",
"prefix": "s",
"prefix": "sl",
"architect": {
"build": {
"builder": "@angular/build:ng-packagr",
Expand Down Expand Up @@ -68,7 +68,7 @@
},
"root": "projects/integration",
"sourceRoot": "projects/integration/src",
"prefix": "s",
"prefix": "sl",
"architect": {
"build": {
"builder": "@angular/build:application",
Expand Down Expand Up @@ -143,7 +143,7 @@
"projectType": "library",
"root": "projects/js-core",
"sourceRoot": "projects/js-core/src",
"prefix": "s",
"prefix": "sl",
"architect": {
"build": {
"builder": "@angular/build:ng-packagr",
Expand Down Expand Up @@ -180,7 +180,7 @@
"projectType": "library",
"root": "projects/micro-dash",
"sourceRoot": "projects/micro-dash/src",
"prefix": "s",
"prefix": "sl",
"architect": {
"build": {
"builder": "@angular/build:ng-packagr",
Expand Down Expand Up @@ -334,7 +334,7 @@
"projectType": "library",
"root": "projects/ng-core",
"sourceRoot": "projects/ng-core/src",
"prefix": "s",
"prefix": "sl",
"architect": {
"build": {
"builder": "@angular/build:ng-packagr",
Expand Down Expand Up @@ -371,7 +371,7 @@
"projectType": "library",
"root": "projects/ng-dev",
"sourceRoot": "projects/ng-dev/src",
"prefix": "s",
"prefix": "sl",
"architect": {
"build": {
"builder": "@angular/build:ng-packagr",
Expand Down Expand Up @@ -408,7 +408,7 @@
"projectType": "library",
"root": "projects/ng-jasmine",
"sourceRoot": "projects/ng-jasmine/src",
"prefix": "s",
"prefix": "sl",
"architect": {
"build": {
"builder": "@angular/build:ng-packagr",
Expand Down Expand Up @@ -482,7 +482,7 @@
"projectType": "library",
"root": "projects/rxjs-core",
"sourceRoot": "projects/rxjs-core/src",
"prefix": "s",
"prefix": "sl",
"architect": {
"build": {
"builder": "@angular/build:ng-packagr",
Expand Down Expand Up @@ -519,7 +519,7 @@
"projectType": "library",
"root": "projects/signal-store",
"sourceRoot": "projects/signal-store/src",
"prefix": "s",
"prefix": "sl",
"architect": {
"build": {
"builder": "@angular/build:ng-packagr",
Expand Down Expand Up @@ -551,6 +551,44 @@
}
}
}
},
"ng-vitest": {
"projectType": "library",
"root": "projects/ng-vitest",
"sourceRoot": "projects/ng-vitest/src",
"prefix": "sl",
"architect": {
"build": {
"builder": "@angular/build:ng-packagr",
"configurations": {
"production": {
"tsConfig": "projects/ng-vitest/tsconfig.lib.prod.json"
},
"development": {
"tsConfig": "projects/ng-vitest/tsconfig.lib.json"
}
},
"defaultConfiguration": "production"
},
"test": {
"builder": "@angular/build:unit-test",
"options": {
"tsConfig": "projects/ng-vitest/tsconfig.spec.json",
"browsers": ["chromium"],
"runnerConfig": true
}
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": [
"projects/ng-vitest/**/*.ts",
"projects/ng-vitest/**/*.html"
],
"eslintConfig": "projects/ng-vitest/eslint.config.js"
}
}
}
}
}
}
4 changes: 2 additions & 2 deletions docs/ng-mat-core_sass/index.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><title>@s-libs/ng-mat-core - v21.0.0-next.1</title><link rel="stylesheet" href="assets/css/main.css"><link href="https://fonts.googleapis.com/css?family=Open+Sans:400,500,700" rel="stylesheet" type="text/css"><meta name="viewport" content="width=device-width"><meta content="IE=edge, chrome=1" http-equiv="X-UA-Compatible"><!-- Open Graph tags --><meta property="og:title" content="@s-libs/ng-mat-core - SassDoc"><meta property="og:type" content="website"><meta property="og:description" content="Release the docs!"><!-- Thanks to Sass-lang.com for the icons --><link href="assets/images/favicon.png" rel="shortcut icon"></head><body><aside class="sidebar" role="nav"><div class="sidebar__header"><h1 class="sidebar__title"><a href="https://github.com/simontonsoftware/s-libs/tree/master/projects/ng-mat-core">@s-libs/ng-mat-core - v21.0.0-next.1</a></h1></div><div class="sidebar__body"><button type="button" class="btn-toggle js-btn-toggle" data-alt="Open all">Close all</button><p class="sidebar__item sidebar__item--heading" data-slug="undefined"><a href="#undefined">Theming</a></p><div><p class="sidebar__item sidebar__item--sub-heading" data-slug="undefined-mixin"><a href="#undefined-mixin">mixins</a></p><ul class="list-unstyled"><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="dark-theme-colors" data-type="mixin"><a href="#undefined-mixin-dark-theme-colors">dark-theme-colors</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="light-theme-colors" data-type="mixin"><a href="#undefined-mixin-light-theme-colors">light-theme-colors</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="full-theming" data-type="mixin"><a href="#undefined-mixin-full-theming">full-theming</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="dark-theme" data-type="mixin"><a href="#undefined-mixin-dark-theme">dark-theme</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="light-theme" data-type="mixin"><a href="#undefined-mixin-light-theme">light-theme</a></li></ul></div></div></aside><article class="main" role="main"><header class="header" role="banner"><div class="container"><div class="sassdoc__searchbar searchbar"><label for="js-search-input" class="visually-hidden">Search</label><div class="searchbar__form" id="js-search"><input name="search" type="search" class="searchbar__field" autocomplete="off" autofocus id="js-search-input" placeholder="Search"><ul class="searchbar__suggestions" id="js-search-suggestions"></ul></div></div></div></header><section class="main__section"><div class="container"><p>Theming helpers for Angular Material are deprecated. Their latest API is much easier to use. We recommend updating to the latest techniques here: <a href="https://material.angular.dev/guide/theming">https://material.angular.dev/guide/theming</a>. These helpers may be removed in a future major version of <code>s-libs</code>.</p></div></section><section class="main__section"><h1 class="main__heading" id="undefined"><div class="container">Theming</div></h1><section class="main__sub-section" id="undefined-mixin"><h2 class="main__heading--secondary"><div class="container">mixins</div></h2><section class="main__item container item" id="undefined-mixin-dark-theme-colors"><h3 class="item__heading"><a class="item__name" href="#undefined-mixin-dark-theme-colors">dark-theme-colors</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin dark-theme-colors() {
<!doctype html><html lang="en"><head><meta charset="utf-8"><title>@s-libs/ng-mat-core - v21.0.0</title><link rel="stylesheet" href="assets/css/main.css"><link href="https://fonts.googleapis.com/css?family=Open+Sans:400,500,700" rel="stylesheet" type="text/css"><meta name="viewport" content="width=device-width"><meta content="IE=edge, chrome=1" http-equiv="X-UA-Compatible"><!-- Open Graph tags --><meta property="og:title" content="@s-libs/ng-mat-core - SassDoc"><meta property="og:type" content="website"><meta property="og:description" content="Release the docs!"><!-- Thanks to Sass-lang.com for the icons --><link href="assets/images/favicon.png" rel="shortcut icon"></head><body><aside class="sidebar" role="nav"><div class="sidebar__header"><h1 class="sidebar__title"><a href="https://github.com/simontonsoftware/s-libs/tree/master/projects/ng-mat-core">@s-libs/ng-mat-core - v21.0.0</a></h1></div><div class="sidebar__body"><button type="button" class="btn-toggle js-btn-toggle" data-alt="Open all">Close all</button><p class="sidebar__item sidebar__item--heading" data-slug="undefined"><a href="#undefined">Theming</a></p><div><p class="sidebar__item sidebar__item--sub-heading" data-slug="undefined-mixin"><a href="#undefined-mixin">mixins</a></p><ul class="list-unstyled"><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="dark-theme-colors" data-type="mixin"><a href="#undefined-mixin-dark-theme-colors">dark-theme-colors</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="light-theme-colors" data-type="mixin"><a href="#undefined-mixin-light-theme-colors">light-theme-colors</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="full-theming" data-type="mixin"><a href="#undefined-mixin-full-theming">full-theming</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="dark-theme" data-type="mixin"><a href="#undefined-mixin-dark-theme">dark-theme</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="light-theme" data-type="mixin"><a href="#undefined-mixin-light-theme">light-theme</a></li></ul></div></div></aside><article class="main" role="main"><header class="header" role="banner"><div class="container"><div class="sassdoc__searchbar searchbar"><label for="js-search-input" class="visually-hidden">Search</label><div class="searchbar__form" id="js-search"><input name="search" type="search" class="searchbar__field" autocomplete="off" autofocus id="js-search-input" placeholder="Search"><ul class="searchbar__suggestions" id="js-search-suggestions"></ul></div></div></div></header><section class="main__section"><div class="container"><p>Theming helpers for Angular Material are deprecated. Their latest API is much easier to use. We recommend updating to the latest techniques here: <a href="https://material.angular.dev/guide/theming">https://material.angular.dev/guide/theming</a>. These helpers may be removed in a future major version of <code>s-libs</code>.</p></div></section><section class="main__section"><h1 class="main__heading" id="undefined"><div class="container">Theming</div></h1><section class="main__sub-section" id="undefined-mixin"><h2 class="main__heading--secondary"><div class="container">mixins</div></h2><section class="main__item container item" id="undefined-mixin-dark-theme-colors"><h3 class="item__heading"><a class="item__name" href="#undefined-mixin-dark-theme-colors">dark-theme-colors</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin dark-theme-colors() {
$theme: mat.m2-define-dark-theme(_build-color-arg($config, $palette-key));
@include _module-colors($theme, $config);
}" data-collapsed="@mixin dark-theme-colors() { ... }"><code>@mixin dark-theme-colors() { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Deprecated. Angular Material&#39;s latest API is much easier to use. Recommend updating to latest techniques here: <a href="https://material.angular.dev/guide/theming">https://material.angular.dev/guide/theming</a>.</p></div><h3 class="item__sub-heading">Parameters</h3><p>None.</p></section><section class="main__item container item" id="undefined-mixin-light-theme-colors"><h3 class="item__heading"><a class="item__name" href="#undefined-mixin-light-theme-colors">light-theme-colors</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin light-theme-colors() {
Expand All @@ -18,4 +18,4 @@
}" data-collapsed="@mixin dark-theme() { ... }"><code>@mixin dark-theme() { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Deprecated. Angular Material&#39;s latest API is much easier to use. Recommend updating to latest techniques here: <a href="https://material.angular.dev/guide/theming">https://material.angular.dev/guide/theming</a>.</p></div><h3 class="item__sub-heading">Parameters</h3><p>None.</p></section><section class="main__item container item" id="undefined-mixin-light-theme"><h3 class="item__heading"><a class="item__name" href="#undefined-mixin-light-theme">light-theme</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin light-theme() {
$theme: mat.m2-define-light-theme(_build-theme-arg($config, $palette-key));
@include _module-themes($theme, $config);
}" data-collapsed="@mixin light-theme() { ... }"><code>@mixin light-theme() { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Deprecated. Angular Material&#39;s latest API is much easier to use. Recommend updating to latest techniques here: <a href="https://material.angular.dev/guide/theming">https://material.angular.dev/guide/theming</a>.</p></div><h3 class="item__sub-heading">Parameters</h3><p>None.</p></section></section></section><footer class="footer" role="contentinfo"><div class="container"><div class="footer__project-info project-info"><!-- Name and URL --> <a class="project-info__name" href="https://github.com/simontonsoftware/s-libs/tree/master/projects/ng-mat-core">@s-libs/ng-mat-core</a><!-- Version --> <span class="project-info__version">- v21.0.0-next.1</span><!-- License --> <span class="project-info__license">, under MIT</span></div><a class="footer__watermark" href="http://sassdoc.com"><img src="assets/images/logo_light_inline.svg" alt="SassDoc Logo"></a></div></footer></article><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>window.jQuery || document.write('<script src="assets/js/vendor/jquery.min.js"><\/script>')</script><script src="assets/js/main.min.js"></script></body></html>
}" data-collapsed="@mixin light-theme() { ... }"><code>@mixin light-theme() { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Deprecated. Angular Material&#39;s latest API is much easier to use. Recommend updating to latest techniques here: <a href="https://material.angular.dev/guide/theming">https://material.angular.dev/guide/theming</a>.</p></div><h3 class="item__sub-heading">Parameters</h3><p>None.</p></section></section></section><footer class="footer" role="contentinfo"><div class="container"><div class="footer__project-info project-info"><!-- Name and URL --> <a class="project-info__name" href="https://github.com/simontonsoftware/s-libs/tree/master/projects/ng-mat-core">@s-libs/ng-mat-core</a><!-- Version --> <span class="project-info__version">- v21.0.0</span><!-- License --> <span class="project-info__license">, under MIT</span></div><a class="footer__watermark" href="http://sassdoc.com"><img src="assets/images/logo_light_inline.svg" alt="SassDoc Logo"></a></div></footer></article><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>window.jQuery || document.write('<script src="assets/js/vendor/jquery.min.js"><\/script>')</script><script src="assets/js/main.min.js"></script></body></html>
1 change: 1 addition & 0 deletions docs/ng-vitest/.nojekyll
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
1 change: 1 addition & 0 deletions docs/ng-vitest/assets/hierarchy.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading