Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
48b02ff
chore: TypeScript 5.8, nx migrate, dep updates - bundler resolution
NathanWalker Jul 5, 2025
4039e2c
chore: use esm with hooks
NathanWalker Jul 6, 2025
0fe6055
chore: define __metadata for bundlers
NathanWalker Jul 6, 2025
84f5f19
refactor: circular deps part 1
NathanWalker Jul 6, 2025
7f726e9
feat: use module type on core package + hook v3
NathanWalker Jul 6, 2025
01acf2c
chore: use sass-loader in devDeps to satisfy automated tests
NathanWalker Jul 8, 2025
5796cd9
fix: test imports
NathanWalker Jul 8, 2025
2fba017
feat: support esm hooks
NathanWalker Jul 8, 2025
47c7208
refactor: circular deps part 2
NathanWalker Jul 8, 2025
1fdc933
refactor: circular deps part 3
NathanWalker Jul 8, 2025
4285a33
refactor: circular deps part 4
NathanWalker Jul 8, 2025
6ede07a
chore: cleanup
NathanWalker Jul 8, 2025
b70aa2c
refactor: circular deps part 5
NathanWalker Jul 8, 2025
18e75b6
refactor: circular deps part 6
NathanWalker Jul 8, 2025
779def7
refactor: circular deps part 7
NathanWalker Jul 9, 2025
50cfd6f
refactor: circular deps part 8
NathanWalker Jul 9, 2025
d8681cb
refactor: circular deps part 9
NathanWalker Jul 9, 2025
1db6259
refactor: circular deps part 10
NathanWalker Jul 9, 2025
33d967b
refactor: circular deps part 11
NathanWalker Jul 9, 2025
ee03774
refactor: circular deps part 12
NathanWalker Jul 9, 2025
579a25d
refactor: circular deps part 13
NathanWalker Jul 10, 2025
cb9ddde
fix: e2e test that should have never passed in first place
NathanWalker Jul 10, 2025
be6a908
chore: cleanup
NathanWalker Jul 10, 2025
cebc784
feat(webpack): enable esm modules as default
NathanWalker Jul 10, 2025
e7ab426
refactor: circular deps part 14
NathanWalker Jul 10, 2025
35fef40
refactor: circular deps part 15
NathanWalker Jul 11, 2025
300af8f
feat(core): allow .mjs files in dist package
NathanWalker Jul 11, 2025
2d5d62b
chore: cleanup vitest setup
NathanWalker Jul 11, 2025
a6279e2
Merge remote-tracking branch 'origin/main' into refactor/circular-dep…
NathanWalker Jul 11, 2025
32df462
fix: remove invalid .d.ts files
NathanWalker Jul 14, 2025
f1a5d3b
fix: imports
NathanWalker Jul 14, 2025
445a48d
fix: retain comments
NathanWalker Jul 14, 2025
4218cb8
fix: file extension handling for fonts
NathanWalker Jul 14, 2025
d9aa930
chore: cleanup
NathanWalker Jul 14, 2025
49413e5
chore: base webpack with ability to switch between esm to commonjs as…
NathanWalker Jul 14, 2025
4fe0003
chore: tmp comments to verify loading order - cleanup after confirmed
NathanWalker Jul 14, 2025
88c952d
chore: testing local alpha bumps only, reset when ready
NathanWalker Jul 14, 2025
e023042
Merge remote-tracking branch 'origin/main' into refactor/circular-dep…
NathanWalker Jul 14, 2025
b2cfc80
cleanup
NathanWalker Jul 14, 2025
7bc5721
chore: cleanup
NathanWalker Jul 15, 2025
2fb70c1
chore: cleanup android refs
NathanWalker Jul 15, 2025
248a85f
chore: cleanup
NathanWalker Jul 19, 2025
3f88953
chore: use esm runtimes for testing
NathanWalker Jul 22, 2025
b4579d1
chore: global handling
NathanWalker Jul 22, 2025
0ba0ab0
chore: working with builder xml require vs dynamic import wip
NathanWalker Jul 22, 2025
b853447
chore: cleanup
NathanWalker Jul 23, 2025
b79801a
chore: cleanup
NathanWalker Jul 23, 2025
17ac48f
chore: cleanup
NathanWalker Jul 23, 2025
f4a1326
chore: 9.0.0-alpha.7
NathanWalker Jul 23, 2025
ac65c0b
chore(webpack): 5.1.0-esm.3
NathanWalker Jul 23, 2025
41f041e
chore: note on conditional virtual entry if needed
NathanWalker Jul 23, 2025
3c1995c
chore: cleanup
NathanWalker Jul 25, 2025
5aeaac7
Merge remote-tracking branch 'origin/main' into refactor/circular-deps
NathanWalker Jul 25, 2025
03dae26
feat(webpack): auto enable commonjs when a project is on core < 9
NathanWalker Jul 25, 2025
b548ac3
chore(webpack): 5.1.0-esm.4
NathanWalker Jul 25, 2025
b9b234d
chore: cleanup
NathanWalker Jul 25, 2025
99c151c
chore: 9.0.0-alpha.8
NathanWalker Jul 26, 2025
4f8f841
fix(core): pin source-map due to minor bump using url
NathanWalker Jul 26, 2025
5667e08
chore: sync changelog with release/8.9.x branch
NathanWalker Jul 26, 2025
a9e5a22
chore(deps): bump postcss and vue-loader in /packages/webpack5 (#10772)
dependabot[bot] Jul 27, 2025
f1e2df6
chore: security clearances (#10773)
NathanWalker Jul 27, 2025
9ae0bf3
chore: vitest 3.2.4
NathanWalker Jul 27, 2025
ee6927b
chore: cleanup
NathanWalker Jul 27, 2025
3b15117
feat(webpack): auto enable commonjs on core < 9 + consider prereleases
NathanWalker Jul 27, 2025
61663d1
chore(webpack): 5.1.0-esm.5
NathanWalker Jul 27, 2025
2c669da
Merge remote-tracking branch 'origin/main' into refactor/circular-deps
NathanWalker Jul 30, 2025
6e41e73
Merge remote-tracking branch 'origin/main' into refactor/circular-deps
NathanWalker Aug 2, 2025
c934d89
feat: source map remapping for runtime stack trace displays
NathanWalker Aug 3, 2025
75d04ea
chore: comment out logs for further testing
NathanWalker Aug 5, 2025
85dc509
chore: transient root deps
NathanWalker Aug 5, 2025
2d1b61e
chore: 9.0.0-alpha.9
NathanWalker Aug 5, 2025
c26757a
Merge remote-tracking branch 'origin/main' into refactor/circular-deps
NathanWalker Aug 7, 2025
0582c46
chore: merge main
NathanWalker Aug 7, 2025
85ae1b0
chore: 9.0.0-alpha.10
NathanWalker Aug 7, 2025
e06ca24
feat: css-tree 3.1+ support which includes es module support
NathanWalker Aug 14, 2025
a8b6ad6
fix: temporal dead zone issue when bundling inspector_modules
NathanWalker Aug 15, 2025
15c57ee
chore(webpack): 5.1.0-esm.6
NathanWalker Aug 15, 2025
3d05597
chore: 9.0.0-alpha.11
NathanWalker Aug 15, 2025
d2620a2
chore: cleanup
NathanWalker Aug 16, 2025
981772d
chore: 9.0.0-alpha.12
NathanWalker Aug 16, 2025
8d2922b
feat(ios): iosGlassEffect property
NathanWalker Aug 21, 2025
00820ae
feat: new glass AppIcon for demo apps
NathanWalker Aug 21, 2025
e22382b
chore: 9.0.0-alpha.13
NathanWalker Aug 21, 2025
498b33f
chore: use latest alpha cli
NathanWalker Aug 22, 2025
ac7bcfb
chore: cleanup log and xcconfig
NathanWalker Aug 23, 2025
cf5b9fb
feat(ios): multi-window support part 1
NathanWalker Aug 23, 2025
95ff1c0
feat(ios): multi-window via scene lifecycle
NathanWalker Aug 23, 2025
68b7697
feat(ios): check if device supports multiple scenes
NathanWalker Aug 23, 2025
4764431
feat(ios): multi scene with new scene creation operational
NathanWalker Aug 23, 2025
80d7aa1
feat: multi window support
NathanWalker Aug 23, 2025
5365812
chore: cleanup
NathanWalker Aug 24, 2025
9cce757
fix: automated tests
NathanWalker Aug 24, 2025
efbcebb
chore: target api 35 on android tests
NathanWalker Aug 24, 2025
48fa94b
chore: cleanup demo
NathanWalker Aug 24, 2025
dbf77fa
feat: demoing different scene content based on data passed in
NathanWalker Aug 25, 2025
c7ebec2
chore: cleanup
NathanWalker Aug 25, 2025
0e637f8
chore: cleanup
NathanWalker Aug 25, 2025
04add04
fix: tests
NathanWalker Aug 25, 2025
0c67208
Merge remote-tracking branch 'origin/refactor/circular-deps' into fea…
NathanWalker Aug 25, 2025
1fb70a8
Merge remote-tracking branch 'origin/main' into feat/multi-window-sup…
NathanWalker Oct 2, 2025
7464d89
Merge remote-tracking branch 'origin/main' into feat/multi-window-sup…
NathanWalker Oct 31, 2025
f70be2f
Merge remote-tracking branch 'origin/main' into feat/multi-window-sup…
NathanWalker Nov 1, 2025
07bb79e
chore: pr feedback
NathanWalker Nov 1, 2025
06bbd33
chore: cleanup
NathanWalker Nov 1, 2025
f9aca6e
Merge remote-tracking branch 'origin/main' into feat/multi-window-sup…
NathanWalker Nov 2, 2025
921e4c8
Merge remote-tracking branch 'origin/main' into feat/multi-window-sup…
NathanWalker Nov 3, 2025
1008978
chore: cleanup
NathanWalker Nov 3, 2025
7cc1b33
feat: closeWindow api
NathanWalker Nov 3, 2025
d29ebfe
chore: cleanup
NathanWalker Nov 4, 2025
cbb075d
feat: reactivate primary window when closing secondary windows
NathanWalker Nov 4, 2025
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
74 changes: 73 additions & 1 deletion apps/toolbox/src/app.css
Original file line number Diff line number Diff line change
Expand Up @@ -266,4 +266,76 @@ Button {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}

/* Multiple Scenes Demo Styles */

.card {
background-color: #f8f9fa;
border-radius: 12;
border-width: 1;
border-color: #e9ecef;
margin-bottom: 15;
}

.code-block {
background-color: #2d3748;
color: #e2e8f0;
padding: 15;
border-radius: 8;
font-family: "Courier New", monospace;
font-size: 12;
}

.event-item {
background-color: #f1f3f4;
border-radius: 6;
margin-bottom: 5;
}

.event-item:nth-child(even) {
background-color: #e8eaed;
}

.border {
border-width: 1;
border-color: #dee2e6;
border-radius: 8;
background-color: white;
}

.btn {
border-radius: 8;
font-weight: bold;
}

.btn-outline {
background-color: transparent;
color: #007bff;
border-width: 2;
border-color: #007bff;
}

.h3 {
font-size: 18;
font-weight: bold;
color: #2c3e50;
}

.body {
font-size: 14;
color: #495057;
}

.caption {
font-size: 12;
color: #6c757d;
}

.font-weight-bold {
font-weight: bold;
}

.text-center {
text-align: center;
}
63 changes: 61 additions & 2 deletions apps/toolbox/src/main-page.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,71 @@
import { EventData, Page, Utils } from '@nativescript/core';
import { Application, EventData, Page, SceneEventData, SceneEvents, Utils } from '@nativescript/core';
import { HelloWorldModel } from './main-view-model';

let initSceneEvents = false;
export function navigatingTo(args: EventData) {
const page = <Page>args.object;
page.bindingContext = new HelloWorldModel();

// Testing setting window background color
// if (global.isIOS) {
// if (__APPLE__) {
// Utils.ios.setWindowBackgroundColor('blue');
// }

// Note: can test global scene handling by uncommenting following
// Can also view the 'multiple-scenes' demo page in isolation
// setupSceneEvents();
}

function setupSceneEvents() {
if (initSceneEvents) {
return;
}
initSceneEvents = true;
if (__APPLE__) {
if (Application.ios.supportsScenes()) {
console.log('Supports multiple scenes:', Application.ios.supportsMultipleScenes());
// Get all windows and scenes
const windows = Application.ios.getAllWindows();
const scenes = Application.ios.getWindowScenes();
const primaryWindow = Application.ios.getPrimaryWindow();

console.log(`App has ${windows.length} windows`);
console.log(`App has ${scenes.length} scenes`);
console.log('Primary window:', primaryWindow);

// Check if using scene lifecycle
if (Application.ios.isUsingSceneLifecycle()) {
console.log('App is using scene-based lifecycle');
}

// Listen to scene events
Application.on(SceneEvents.sceneWillConnect, (args: SceneEventData) => {
console.log('New scene connecting:', args.scene);
console.log('Window:', args.window);
console.log('Connection options:', args.connectionOptions);
});

Application.on(SceneEvents.sceneDidActivate, (args: SceneEventData) => {
console.log('Scene became active:', args.scene);
});

Application.on(SceneEvents.sceneWillResignActive, (args: SceneEventData) => {
console.log('Scene will resign active:', args.scene);
});

Application.on(SceneEvents.sceneDidEnterBackground, (args: SceneEventData) => {
console.log('Scene entered background:', args.scene);
});

Application.on(SceneEvents.sceneWillEnterForeground, (args: SceneEventData) => {
console.log('Scene will enter foreground:', args.scene);
});

Application.on(SceneEvents.sceneDidDisconnect, (args: SceneEventData) => {
console.log('Scene disconnected:', args.scene);
});
} else {
console.log('Traditional single-window app');
}
}
}
1 change: 1 addition & 0 deletions apps/toolbox/src/main-page.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<Button text="image-handling" tap="{{ viewDemo }}" class="btn btn-primary btn-view-demo" />
<Button text="labels" tap="{{ viewDemo }}" class="btn btn-primary btn-view-demo" />
<Button text="list-page" tap="{{ viewDemo }}" class="btn btn-primary btn-view-demo" />
<Button text="multiple-scenes" tap="{{ viewDemo }}" class="btn btn-primary btn-view-demo" />
<Button text="root-layout" tap="{{ viewDemo }}" class="btn btn-primary btn-view-demo" />
<Button text="scroll-view" tap="{{ viewDemo }}" class="btn btn-primary btn-view-demo" />
<Button text="status-bar" tap="{{ viewDemo }}" class="btn btn-primary btn-view-demo" />
Expand Down
Loading