Skip to content

Commit 43ff399

Browse files
committed
docs(compiled): XML apps supported, the scene manifest a build adds, core's own test app as compliance
1 parent ac43a0c commit 43ff399

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

‎content/guide/publishing/compiled.md‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ your app (TypeScript, templates, CSS) plugins (their TypeScript sourc
152152
| React (react-nativescript) | Supported |
153153
| Solid | Supported |
154154
| Octane | Supported |
155-
| Plain TypeScript with XML | In progress: core's own Builder makes the views from your XML, as in the JavaScript build |
155+
| Plain TypeScript with XML | Supported: core's own Builder makes the views from your XML, as in the JavaScript build: `{{ }}` bindings, code-behind, custom components (`xmlns:my`) and ListView templates |
156156

157157
### Platforms
158158

@@ -181,7 +181,8 @@ The compiler refuses what it cannot compile faithfully, and says so with the fil
181181
- **Android: a core property the hand-ported kit does not apply yet.** The build names the view, the property and
182182
the line. `release: { allowUnimplementedProperties: true }` builds anyway, with a warning for each. On iOS every
183183
core property applies, as the kit is core.
184-
- **Language constructs not supported yet**, such as a class declared inside a function, a `default` clause before
184+
- **Language constructs not supported yet**, such as a class declared inside a function that reads the function's
185+
own variables (one that reads none compiles), a `default` clause before
185186
other cases, symbol-named members, or `return` in a `finally` block. Each message names the construct.
186187
- **Framework features not supported yet**, such as Angular `OnPush` under zone.js, Angular pipes other than
187188
`async`, more than one Angular `@Component` in a file, Vue `<style module>`, JSX spread attributes, and Vue
@@ -203,6 +204,7 @@ What some needed was configuration, all of it in `release`:
203204
| You patch a plugin with patch-package | The same patch against the plugin's TypeScript source, in `native-release/patches/<package>+<version>.patch`. The compiler compiles source, not the published JavaScript your existing patch changes |
204205
| You patch `@nativescript/core` with patch-package | The compiler recognizes common core patches and applies their effect; a core patch it does not recognize stops the build, so you know to raise it |
205206
| A core property the compiled build does not apply yet | Fix it in the kit, or `allowUnimplementedProperties: true` to ship without it |
207+
| An `Info.plist` that declares no `UIApplicationSceneManifest` (older app templates) | Nothing: the build adds the template's and says so. Apps built with the current iOS SDK must adopt scenes |
206208

207209
```ts
208210
// nativescript.config.ts: every option
@@ -350,7 +352,8 @@ runs the proof apps; Android still uses the hand port.
350352
## What is still open
351353

352354
- Publishing `@nativescript/compiler` and releasing the CLI flag.
353-
- Plain TypeScript apps with XML pages (in progress), and core's own UI test suite run as a compiled app.
355+
- Core's own test app (`apps/automated`) run as a compiled app, as a measure of compliance: it compiles to Swift; the
356+
last of its Swift build is in progress.
354357
- Plugins: `.framework` and static libraries, resource bundles, plugin hooks, and a way for plugin authors to ship
355358
native counterparts of engine-bound code.
356359
- Android: the kit generated from core, and real-device verification.

0 commit comments

Comments
 (0)