@absolutejs/absolute 0.20.0-beta.107 → 0.20.0-beta.109
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/CHANGELOG.md +12 -0
- package/README.md +5 -1
- package/changelog.json +28 -0
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/build.js +696 -623
- package/dist/build.js.map +8 -7
- package/dist/cli/{compile-hsbs1xf6.js → compile-1d5arbqj.js} +2 -2
- package/dist/cli/{config-vy04mqce.js → config-vq2qcc4p.js} +1 -1
- package/dist/cli/{dev-f6b6hkke.js → dev-f0safhsr.js} +1 -1
- package/dist/cli/{index-rd2hbttb.js → index-df2mjbdy.js} +53 -0
- package/dist/cli/{index-hrzd7e5x.js → index-dfqzrznk.js} +1 -1
- package/dist/cli/{index-mazxtfh4.js → index-gps0zk0m.js} +2 -2
- package/dist/cli/index.js +5 -5
- package/dist/cli/{mobile-7v8hfmdq.js → mobile-e4ygngfk.js} +230 -24
- package/dist/cli/{start-5grq7nfr.js → start-8v6g2y31.js} +3 -3
- package/dist/index.js +654 -581
- package/dist/index.js.map +8 -7
- package/dist/mobile/index.js +198 -17
- package/dist/mobile/index.js.map +6 -6
- package/dist/mobile/remoteMacAgentEntry.js +182 -182
- package/dist/src/build/injectVueComposableTracking.d.ts +3 -28
- package/dist/src/build/vueModuleOutputPath.d.ts +7 -0
- package/dist/src/mobile/config.d.ts +7 -0
- package/dist/src/mobile/releaseCertification.d.ts +12 -3
- package/dist/src/mobile/releasePublisher.d.ts +13 -0
- package/dist/types/build.d.ts +13 -0
- package/package.json +2 -2
|
@@ -1,35 +1,10 @@
|
|
|
1
|
-
/** Dev-only Vue composable state tracking for bundled client output.
|
|
2
|
-
*
|
|
3
|
-
* The first HMR cycle of a Vue page starts from the BUNDLED graph (the
|
|
4
|
-
* hydration index / page bundle / shared chunks emitted by `Bun.build`), not
|
|
5
|
-
* from the dev module server. Every later cycle re-imports the edited
|
|
6
|
-
* composable through `/@src/...`, where `moduleServer.injectComposableTracking`
|
|
7
|
-
* wraps each `use*` export so ref values survive a reload. For that first
|
|
8
|
-
* cycle to preserve state too, the bundled copy of each composable has to
|
|
9
|
-
* record its refs under the SAME module id the module server will use —
|
|
10
|
-
* the absolute path of the composable's source file.
|
|
11
|
-
*
|
|
12
|
-
* This pass finds every top-level `var useXxx = ...` in a bundled output,
|
|
13
|
-
* resolves the source file it came from (Bun prints a `// <path>` comment at
|
|
14
|
-
* each module boundary of unminified output), and wraps the initializer with
|
|
15
|
-
* `__hmr_wrap(<moduleId>, <name>, <fn>)`. With code splitting on, a
|
|
16
|
-
* composable shared by several pages lives in a `/chunk-*.js` file, so the
|
|
17
|
-
* pass runs over the page bundles AND every chunk they (transitively) import.
|
|
18
|
-
*
|
|
19
|
-
* The statement end is located on `maskLiterals`-masked text: template
|
|
20
|
-
* literals and comments are opaque placeholders there, so Bun's formatting
|
|
21
|
-
* invariant ("nested code is indented, only top-level statements start at
|
|
22
|
-
* column 0") is enough to find the terminating `;` without parsing — no
|
|
23
|
-
* brace counting that a quote inside a comment or regex literal could
|
|
24
|
-
* desynchronise. A `use*` binding whose end cannot be located is left
|
|
25
|
-
* untouched rather than emitted half-wrapped. */
|
|
26
1
|
export type VueComposableModuleIdOptions = {
|
|
27
2
|
/** Directory Bun printed its module-boundary comments relative to. */
|
|
28
3
|
projectRoot: string;
|
|
29
4
|
/** Absolute path of the configured Vue directory (`vueDirectory`). */
|
|
30
5
|
vueDir?: string;
|
|
31
6
|
/** `<generatedRoot>/vue` — compileVue writes transpiled TS helpers to
|
|
32
|
-
* `<generatedVueDir>/client
|
|
7
|
+
* a source mirror contained inside `<generatedVueDir>/client/`. */
|
|
33
8
|
generatedVueDir?: string;
|
|
34
9
|
};
|
|
35
10
|
type ModuleIdResolver = (commentPath: string | undefined) => string;
|
|
@@ -54,8 +29,8 @@ export declare const injectVueComposableTrackingIntoContent: (content: string, r
|
|
|
54
29
|
export declare const isSharedChunkPath: (path: string) => boolean;
|
|
55
30
|
/** Map a Bun module-boundary comment path to the module id the dev module
|
|
56
31
|
* server keys composable state by: the absolute source path. Transpiled TS
|
|
57
|
-
* helpers under `<generatedVueDir>/client/` map back to their source
|
|
58
|
-
*
|
|
32
|
+
* helpers under `<generatedVueDir>/client/` map back to their original source
|
|
33
|
+
* paths; anything else (node_modules, other frameworks) resolves against
|
|
59
34
|
* the project root and simply never matches a served module. */
|
|
60
35
|
export declare const resolveVueComposableModuleId: (commentPath: string, options: VueComposableModuleIdOptions) => string;
|
|
61
36
|
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Mirror source paths under each compilation mode. Using the filesystem root
|
|
2
|
+
* preserves relative imports, including imports outside the configured Vue
|
|
3
|
+
* directory, without letting parent traversals escape the client/server tree.
|
|
4
|
+
* Encode the root separately so Windows drives and UNC roots cannot collide. */
|
|
5
|
+
export declare const vueModuleOutputPath: (outputDir: string, sourcePath: string) => string;
|
|
6
|
+
/** Reverse the generated mirror for composable hot-reload module identities. */
|
|
7
|
+
export declare const vueModuleSourcePath: (outputDir: string, outputPath: string) => string | null;
|
|
@@ -22,6 +22,13 @@ export type NormalizedAbsoluteMobileConfig = {
|
|
|
22
22
|
platforms: MobilePlatform[];
|
|
23
23
|
productionOrigin: string;
|
|
24
24
|
pushAndroidGoogleServicesFile: string;
|
|
25
|
+
releaseCertification: {
|
|
26
|
+
channels: Record<string, {
|
|
27
|
+
android?: 'installed';
|
|
28
|
+
ios?: 'device' | 'simulator' | 'store';
|
|
29
|
+
}>;
|
|
30
|
+
googlePlayTracks: Record<string, 'installed'>;
|
|
31
|
+
};
|
|
25
32
|
updates?: {
|
|
26
33
|
bootTimeoutMs: number;
|
|
27
34
|
channel: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { AbsoluteAndroidReleaseMetadata } from './androidRelease';
|
|
2
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
3
|
+
import type { AbsoluteIosReleaseMetadata } from './iosRelease';
|
|
3
4
|
export declare const ABSOLUTE_MOBILE_RELEASE_CERTIFICATION_FORMAT: 1;
|
|
4
5
|
export type AbsoluteMobileCertificationRequirement = 'device' | 'installed' | 'simulator' | 'store';
|
|
5
6
|
export type AbsoluteMobileCertificationStrength = 'installed' | 'simulator' | 'device' | 'store';
|
|
@@ -36,7 +37,9 @@ export type AbsoluteMobileReleaseCertification = {
|
|
|
36
37
|
status: 'certified';
|
|
37
38
|
strength: AbsoluteMobileCertificationStrength;
|
|
38
39
|
};
|
|
39
|
-
export type AbsoluteMobileCertifiableRelease =
|
|
40
|
+
export type AbsoluteMobileCertifiableRelease = {
|
|
41
|
+
metadata: AbsoluteAndroidReleaseMetadata | AbsoluteIosReleaseMetadata;
|
|
42
|
+
};
|
|
40
43
|
export type CreateAbsoluteMobileReleaseCertificationOptions = {
|
|
41
44
|
evidencePaths: string[];
|
|
42
45
|
generatedAt?: string;
|
|
@@ -49,6 +52,12 @@ export type AbsoluteMobileReleaseCertificationPaths = {
|
|
|
49
52
|
jsonPath: string;
|
|
50
53
|
markdownPath: string;
|
|
51
54
|
};
|
|
55
|
+
export type AbsoluteMobileReleaseCertificationTarget = {
|
|
56
|
+
channel?: string;
|
|
57
|
+
googlePlayTrack?: string;
|
|
58
|
+
platform: 'android' | 'ios';
|
|
59
|
+
};
|
|
60
|
+
export declare const resolveAbsoluteMobileCertificationRequirement: (config: NormalizedAbsoluteMobileConfig, target: AbsoluteMobileReleaseCertificationTarget) => AbsoluteMobileCertificationRequirement | undefined;
|
|
52
61
|
export declare const createAbsoluteMobileReleaseCertification: (options: CreateAbsoluteMobileReleaseCertificationOptions) => Promise<AbsoluteMobileReleaseCertification>;
|
|
53
62
|
export declare const readAbsoluteMobileReleaseCertification: (projectRoot: string, requested: string) => Promise<{
|
|
54
63
|
certification: AbsoluteMobileReleaseCertification;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AbsoluteAndroidReleaseMetadata } from './androidRelease';
|
|
2
2
|
import type { AbsoluteIosReleaseMetadata } from './iosRelease';
|
|
3
|
+
import { type AbsoluteMobileCertificationRequirement, type AbsoluteMobileReleaseCertification } from './releaseCertification';
|
|
3
4
|
export type AbsoluteGooglePlayReleaseTarget = {
|
|
4
5
|
changesNotSentForReview?: boolean;
|
|
5
6
|
inAppUpdatePriority?: number;
|
|
@@ -30,6 +31,12 @@ export type AbsoluteNativeReleasePublication = {
|
|
|
30
31
|
metadata: AbsoluteAndroidReleaseMetadata | AbsoluteIosReleaseMetadata;
|
|
31
32
|
};
|
|
32
33
|
reused: boolean;
|
|
34
|
+
certification?: {
|
|
35
|
+
certificationId: string;
|
|
36
|
+
releaseId: string;
|
|
37
|
+
requirement: AbsoluteMobileCertificationRequirement;
|
|
38
|
+
strength: AbsoluteMobileReleaseCertification['strength'];
|
|
39
|
+
};
|
|
33
40
|
googlePlay?: {
|
|
34
41
|
receipt: {
|
|
35
42
|
intent: {
|
|
@@ -83,6 +90,8 @@ export type AbsoluteNativeReleasePublisher = {
|
|
|
83
90
|
allowUnsigned?: boolean;
|
|
84
91
|
appStoreConnect?: AbsoluteAppStoreConnectReleaseTarget;
|
|
85
92
|
channel?: string;
|
|
93
|
+
certification?: AbsoluteMobileReleaseCertification;
|
|
94
|
+
certificationRequirement?: AbsoluteMobileCertificationRequirement;
|
|
86
95
|
googlePlay?: AbsoluteGooglePlayReleaseTarget;
|
|
87
96
|
releaseRoot: string;
|
|
88
97
|
signal?: AbortSignal;
|
|
@@ -104,6 +113,8 @@ export declare const prepareAbsoluteAndroidRelease: (publisher: AbsoluteNativeRe
|
|
|
104
113
|
export type PublishAbsoluteAndroidReleaseOptions = {
|
|
105
114
|
allowUnsigned?: boolean;
|
|
106
115
|
channel?: string;
|
|
116
|
+
certification?: AbsoluteMobileReleaseCertification;
|
|
117
|
+
certificationRequirement?: AbsoluteMobileCertificationRequirement;
|
|
107
118
|
googlePlay?: AbsoluteGooglePlayReleaseTarget;
|
|
108
119
|
modulePath: string;
|
|
109
120
|
projectRoot: string;
|
|
@@ -119,6 +130,8 @@ export declare const publishAbsoluteIosRelease: (options: {
|
|
|
119
130
|
allowUnsigned?: boolean;
|
|
120
131
|
appStoreConnect?: AbsoluteAppStoreConnectReleaseTarget;
|
|
121
132
|
channel?: string;
|
|
133
|
+
certification?: AbsoluteMobileReleaseCertification;
|
|
134
|
+
certificationRequirement?: AbsoluteMobileCertificationRequirement;
|
|
122
135
|
modulePath: string;
|
|
123
136
|
projectRoot: string;
|
|
124
137
|
release: {
|
package/dist/types/build.d.ts
CHANGED
|
@@ -77,6 +77,19 @@ type MobileSharedConfig = {
|
|
|
77
77
|
/** Deployed AbsoluteJS origin used for page envelopes and API calls. */
|
|
78
78
|
productionOrigin: string;
|
|
79
79
|
};
|
|
80
|
+
/** Native-store and immutable-channel release policy. Production defaults
|
|
81
|
+
* require installed Android evidence and store-delivered iOS evidence. */
|
|
82
|
+
release?: {
|
|
83
|
+
certification?: false | {
|
|
84
|
+
/** Evidence required when an immutable release channel is moved. */
|
|
85
|
+
channels?: Readonly<Record<string, {
|
|
86
|
+
android?: false | 'installed';
|
|
87
|
+
ios?: false | 'device' | 'simulator' | 'store';
|
|
88
|
+
}>>;
|
|
89
|
+
/** Evidence required before committing a Google Play track. */
|
|
90
|
+
googlePlayTracks?: Readonly<Record<string, false | 'installed'>>;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
80
93
|
/** Shell-owned production error capture for web-rendered and Expo-native routes.
|
|
81
94
|
* Events go only to the configured route on the trusted production origin. */
|
|
82
95
|
observability?: {
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@absolutejs/auth": ">=0.75.0 <0.77.0",
|
|
11
11
|
"@absolutejs/beacon": ">=0.7.0-beta.4 <0.8.0",
|
|
12
|
-
"@absolutejs/deploy": "0.
|
|
12
|
+
"@absolutejs/deploy": "0.26.0",
|
|
13
13
|
"@absolutejs/devices": "0.7.0",
|
|
14
14
|
"@absolutejs/devices-capacitor": "0.8.0",
|
|
15
15
|
"@absolutejs/devices-expo": "0.0.11",
|
|
@@ -537,7 +537,7 @@
|
|
|
537
537
|
]
|
|
538
538
|
}
|
|
539
539
|
},
|
|
540
|
-
"version": "0.20.0-beta.
|
|
540
|
+
"version": "0.20.0-beta.109",
|
|
541
541
|
"workspaces": [
|
|
542
542
|
"tests/fixtures/*",
|
|
543
543
|
"tests/fixtures/_packages/*"
|