angular/integration/cli-signal-inputs
Paul Gschwendtner 863be4b698 feat(core): expose new input API for signal-based inputs (#53872)
Enables signal inputs for existing Zone based components.
This is a next step we are taking to bring signal inputs earlier to the Angular community.

The goal is to enable early access for the ecosystem to signal inputs, while we are continuing
development of full signal components as outlined in the RFC. This will allow the ecosystem
to start integrating signals more deeply, prepare for future migrations, and improves code quality
and DX for existing components (especially for OnPush).

Based on our work on full signal components, we've gathered more information and learned
new things. We've improved the API by introducing a way to intuitively declare required inputs,
as well as improved the API around initial values. We even support non-primitive initial values
as the first argument to the `input` function now.

```ts
@Directive({..})
export class MyDir {
  firstName = input<string>();            // string|undefined
  lastName = input.required<string>();    // string
  age = input(0);                         // number
```

PR Close #53872
2024-01-10 12:33:31 -08:00
..
e2e test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00
src feat(core): expose new input API for signal-based inputs (#53872) 2024-01-10 12:33:31 -08:00
.editorconfig test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00
.gitignore test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00
angular.json test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00
BUILD.bazel test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00
karma.conf.js test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00
package.json refactor(compiler-cli): add transform to support signal input in JIT (#53808) 2024-01-10 12:21:05 +00:00
README.md test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00
tsconfig.app.json test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00
tsconfig.json test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00
tsconfig.spec.json test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00
tslint.json test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00
yarn.lock test: add integration test for signal inputs in CLI (#53808) 2024-01-10 12:21:05 +00:00

CliHelloWorld

This project was generated with Angular CLI version 9.0.0-next.9.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.