-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
cbdbac0
commit 469e2ec
Showing
33 changed files
with
17,528 additions
and
9,219 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -40,3 +40,5 @@ Thumbs.db | |
|
||
.nx/cache | ||
.nx/workspace-data | ||
|
||
letify-report.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
npx lint-staged |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"*.{ts,js,json,yml}": ["prettier --write"], | ||
"*.{ts,js}": ["eslint --fix"] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# path to a directory with all packages | ||
storage: ../tmp/local-registry/storage | ||
|
||
# a list of other known repositories we can talk to | ||
uplinks: | ||
npmjs: | ||
url: https://registry.npmjs.org/ | ||
maxage: 60m | ||
|
||
packages: | ||
'**': | ||
# give all users (including non-authenticated users) full access | ||
# because it is a local registry | ||
access: $all | ||
publish: $all | ||
unpublish: $all | ||
|
||
# if package is not available locally, proxy requests to npm registry | ||
proxy: npmjs | ||
|
||
# log settings | ||
log: | ||
type: stdout | ||
format: pretty | ||
level: warn | ||
|
||
publish: | ||
allow_offline: true # set offline to true to allow publish offline |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
Assets License | ||
|
||
Copyright (c) 2024 Shahar Kazaz | ||
|
||
The following assets, including but not limited to the project logo, images, and any other non-code assets, are the | ||
exclusive property of Shahar Kazaz and are not covered under the MIT License applied to the code in this repository. | ||
|
||
You are not permitted to copy, modify, distribute or use the assets in any derivative works, including but not limited | ||
to websites, marketing materials, or software projects these assets without prior written permission from Shahar Kazaz. | ||
|
||
If you wish to use these assets, you must obtain explicit written consent from Shahar Kazaz. You can contact us at | ||
[email protected] for permission. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2024 Shahar Kazaz | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,60 +1,68 @@ | ||
# NgLetify | ||
|
||
<a alt="Nx logo" href="https://nx.dev" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-logo.png" width="45"></a> | ||
|
||
✨ Your new, shiny [Nx workspace](https://nx.dev) is almost ready ✨. | ||
|
||
[Learn more about this workspace setup and its capabilities](https://nx.dev/nx-api/js?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) or run `npx nx graph` to visually explore what was created. Now, let's get you up to speed! | ||
|
||
## Finish your CI setup | ||
|
||
[Click here to finish setting up your workspace!](https://cloud.nx.app/connect/GJLsPizHFR) | ||
|
||
|
||
## Run tasks | ||
|
||
To build the library use: | ||
|
||
```sh | ||
npx nx build | ||
<div align="center"> | ||
<img width="300px" src="./logo-gradient.svg" alt="Letify Logo"> | ||
</div> | ||
|
||
<h3 align="center">It sounds like a spell and works like a charm ✨</h3> | ||
|
||
<div align="center"> | ||
<a href="https://www.npmjs.com/package/@jsverse/letify"> | ||
<img src="https://img.shields.io/npm/v/@jsverse/letify.svg?style=flat-square" alt="npm version"> | ||
</a> | ||
<a href="https://github.com/jsverse/letify/actions/workflows/ci.yml"> | ||
<img src="https://github.com/jsverse/letify/workflows/CI/badge.svg" alt="build status"> | ||
</a> | ||
<a href="https://www.npmjs.com/package/@jsverse/letify"> | ||
<img src="https://img.shields.io/npm/dt/@jsverse/letify.svg?style=flat-square" alt="npm downloads"> | ||
</a> | ||
<a href="https://github.com/jsverse/letify/blob/main/LICENSE"> | ||
<img src="https://img.shields.io/github/license/jsverse/letify.svg?style=flat-square" alt="license"> | ||
</a> | ||
</div> | ||
|
||
-------------------- | ||
|
||
Letify CLI helps Angular developers optimize their templates by scanning your files and detecting multiple async subscriptions to the same stream. | ||
|
||
### Usage | ||
To get started, install Letify CLI: | ||
|
||
```bash | ||
npm i -D @jsverse/letify | ||
``` | ||
These targets are either [inferred automatically](https://nx.dev/concepts/inferred-tasks?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) or defined in the `project.json` or `package.json` files. | ||
|
||
[More about running tasks in the docs »](https://nx.dev/features/run-tasks?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) | ||
|
||
## Versioning and releasing | ||
|
||
To version and release the library use | ||
|
||
Then, run the command: | ||
```bash | ||
npx letify [analyze|fix] 'a/b.html' 'c/**/*.html' ... | ||
``` | ||
npx nx release | ||
``` | ||
|
||
Pass `--dry-run` to see what would happen without actually releasing the library. | ||
|
||
[Learn more about Nx release »](hhttps://nx.dev/features/manage-releases?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) | ||
* `analyze`: Identifies duplicate subscriptions in the specified files and generates a report. | ||
* `fix`: Identifies duplicate subscriptions and replace duplications with a single `@let` declaration at the beginning of the template. | ||
|
||
#### CI / Lint- | ||
Letify will return an error exit code if any duplicate subscriptions are detected in the specified files. | ||
It can be seamlessly integrated into your [lint-staged](https://github.com/lint-staged/lint-staged) or CI workflows to | ||
prevent duplicate subscriptions from being committed. | ||
|
||
[Learn more about Nx on CI](https://nx.dev/ci/intro/ci-with-nx#ready-get-started-with-your-provider?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) | ||
#### Usage notes | ||
* Letify ignores commented code and does not analyze it. | ||
* Keyed reads (`data[prop] | async`) and function calls with arguments (`myMethod(value, ...) | async`) are currently not supported. | ||
* You'll need Angular `>=18.1` to use the `@let` syntax, if you are using an older version, run the `analyze` command and | ||
use alternatives to reuse your subscriptions. | ||
|
||
## Install Nx Console | ||
### Options | ||
|
||
Nx Console is an editor extension that enriches your developer experience. It lets you run tasks, generate code, and improves code autocompletion in your IDE. It is available for VSCode and IntelliJ. | ||
* `-r, --reporter <type>`: Specifies the report format: | ||
* `html` (default): Generates an HTML report. | ||
* `list`: Outputs a simple list of suggestions. | ||
* `json`: Provides a JSON report for programmatic use. | ||
* `-o, --open`: Automatically opens the HTML report once generated (default `true`. | ||
* `--verify-convention` (default: `false`): Checks that stream names (observables) in the templates follow the convention of ending with a `$` sign. | ||
* `--variable-suffix` (default: `value`): Adds a suffix to the declared variable in `fix` mode, mainly to avoid collisions. | ||
|
||
[Install Nx Console »](https://nx.dev/getting-started/editor-setup?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) | ||
### Debugging | ||
|
||
## Useful links | ||
|
||
Learn more: | ||
|
||
- [Learn more about this workspace setup](https://nx.dev/nx-api/js?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) | ||
- [Learn about Nx on CI](https://nx.dev/ci/intro/ci-with-nx?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) | ||
- [Releasing Packages with Nx release](https://nx.dev/features/manage-releases?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) | ||
- [What are Nx plugins?](https://nx.dev/concepts/nx-plugins?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) | ||
|
||
And join the Nx community: | ||
- [Discord](https://go.nx.dev/community) | ||
- [Follow us on X](https://twitter.com/nxdevtools) or [LinkedIn](https://www.linkedin.com/company/nrwl) | ||
- [Our Youtube channel](https://www.youtube.com/@nxdevtools) | ||
- [Our blog](https://nx.dev/blog?utm_source=nx_project&utm_medium=readme&utm_campaign=nx_projects) | ||
You can extend the default logs by setting the `DEBUG` environment variable: | ||
```bash | ||
DEBUG=letify:* npx letify ... | ||
``` | ||
Supported namespaces: `letify:*|letify:fix`. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.