@ng-native/schematics 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/files/AGENTS.md +4 -2
- package/files/src/app/app.ts +13 -11
- package/native-app.cjs +3 -1
- package/package.json +1 -1
package/files/AGENTS.md
CHANGED
|
@@ -8,7 +8,7 @@ The whole documentation, for reading before a change: https://ng-native.com/llms
|
|
|
8
8
|
outline with a line per page: https://ng-native.com/llms.txt.
|
|
9
9
|
|
|
10
10
|
Angular's own rules apply as well: https://angular.dev/assets/context/best-practices.md. Its
|
|
11
|
-
browser-only parts do not: there is no `NgOptimizedImage` (use `<image>`), and no AXE
|
|
11
|
+
browser-only parts do not: there is no `NgOptimizedImage` (use `<image>`), and no AXE
|
|
12
12
|
(accessibility is the props below). Where the two disagree, this file wins.
|
|
13
13
|
|
|
14
14
|
## Commands
|
|
@@ -41,7 +41,9 @@ change; both are fast.
|
|
|
41
41
|
- **No backticks inside an inline template**, even in an HTML comment: they end the template string
|
|
42
42
|
and the build fails with a misleading parse error.
|
|
43
43
|
- **Accessibility is props:** `accessibilityRole="button"`, `accessibilityLabel`,
|
|
44
|
-
`[accessibilityState]`.
|
|
44
|
+
`[accessibilityState]`. The web spellings work too, as aliases: `role`, and the `aria-*` names
|
|
45
|
+
React Native maps (`aria-label`, `aria-checked`, `aria-hidden` and so on). Screen readers and
|
|
46
|
+
the testing library's `getByRole` both read them.
|
|
45
47
|
|
|
46
48
|
## Styling
|
|
47
49
|
|
package/files/src/app/app.ts
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { Component, signal } from '@angular/core';
|
|
2
|
-
import { Pressable, SafeAreaView, Text, View } from '@ng-native/components';
|
|
2
|
+
import { Pressable, SafeAreaProvider, SafeAreaView, Text, View } from '@ng-native/components';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Element names are lowercase, and that is load-bearing rather than style: an uppercase name is
|
|
6
6
|
* read as an unknown Angular component and commits as a plain view with nothing in it.
|
|
7
7
|
*/
|
|
8
8
|
@Component({
|
|
9
|
-
imports: [Pressable, SafeAreaView, Text, View],
|
|
9
|
+
imports: [Pressable, SafeAreaProvider, SafeAreaView, Text, View],
|
|
10
10
|
selector: 'app-root',
|
|
11
11
|
template: `
|
|
12
|
-
<safe-area-
|
|
13
|
-
<view class="
|
|
14
|
-
<
|
|
15
|
-
|
|
12
|
+
<safe-area-provider>
|
|
13
|
+
<safe-area-view class="screen">
|
|
14
|
+
<view class="body">
|
|
15
|
+
<text class="title">Angular, natively</text>
|
|
16
|
+
<text class="hint">Real native views. React is never in the render path.</text>
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
<pressable accessibilityRole="button" class="button" (press)="count.set(count() + 1)">
|
|
19
|
+
<text class="label">Tapped {{ count() }} times</text>
|
|
20
|
+
</pressable>
|
|
21
|
+
</view>
|
|
22
|
+
</safe-area-view>
|
|
23
|
+
</safe-area-provider>
|
|
22
24
|
`,
|
|
23
25
|
styles: `
|
|
24
26
|
:host {
|
package/native-app.cjs
CHANGED
|
@@ -28,8 +28,9 @@ const dependencies = {
|
|
|
28
28
|
...Object.fromEntries(FRAMEWORK.map((name) => [name, version])),
|
|
29
29
|
'@angular/common': '^22.0.0',
|
|
30
30
|
'@angular/core': '^22.0.0',
|
|
31
|
-
expo: '~57.0.
|
|
31
|
+
expo: '~57.0.26',
|
|
32
32
|
'expo-status-bar': '~57.0.1',
|
|
33
|
+
'expo-system-ui': '~57.0.4',
|
|
33
34
|
react: '19.2.3',
|
|
34
35
|
'react-native': '0.86.3',
|
|
35
36
|
'react-native-safe-area-context': '~5.7.0',
|
|
@@ -101,6 +102,7 @@ function appJson(name) {
|
|
|
101
102
|
scheme: name.replace(/[^a-z0-9]/gi, '').toLowerCase(),
|
|
102
103
|
// The template's: Expo otherwise guesses a router root from src/app and says so on every start.
|
|
103
104
|
extra: { router: { root: 'src/app' } },
|
|
105
|
+
plugins: ['@ng-native/metro'],
|
|
104
106
|
};
|
|
105
107
|
return JSON.stringify({ expo }, null, 2) + '\n';
|
|
106
108
|
}
|
package/package.json
CHANGED