@absolutejs/absolute 0.20.0-beta.138 → 0.20.0-beta.139

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 CHANGED
@@ -6,6 +6,13 @@ This file is generated by `absolute-changelog` from the entries in
6
6
  `changelog/`. Edit an entry, not this file — and add new ones under
7
7
  `changelog/unreleased/`.
8
8
 
9
+ ## 0.20.0-beta.139 — 2026-10-16
10
+
11
+ ### Changed
12
+
13
+ - **Web applications no longer install Expo, React Native or the Expo code-signing tooling; `absolute mobile` installs them for Expo apps** (`generateAbsoluteExpoCodeSigning`)
14
+ Every AbsoluteJS application used to install Expo and React Native, because the framework depended on `@absolutejs/devices-expo` (which needs both as peers) and on `@expo/code-signing-certificates`. A web application never runs either, but it carried them, and with them packages a vulnerability scan flags with no fixed release (node-forge through the signing certificates, braces through Metro). Both are now optional peer dependencies. `absolute mobile` installs `@absolutejs/devices` and `@absolutejs/devices-expo` into an Expo application the first time it needs them, the way it already installs Capacitor, and `absolute mobile update signing generate` installs `@expo/code-signing-certificates` as a development dependency. The framework no longer bundles node-forge into its CLI. Calling `generateAbsoluteExpoCodeSigning` directly now needs `@expo/code-signing-certificates` installed in the application, and says so if it is not.
15
+
9
16
  ## 0.20.0-beta.138 — 2026-10-16
10
17
 
11
18
  ### Changed
package/changelog.json CHANGED
@@ -2,6 +2,20 @@
2
2
  "contract": 1,
3
3
  "name": "@absolutejs/absolute",
4
4
  "releases": [
5
+ {
6
+ "changes": [
7
+ {
8
+ "detail": "Every AbsoluteJS application used to install Expo and React Native, because the framework depended on `@absolutejs/devices-expo` (which needs both as peers) and on `@expo/code-signing-certificates`. A web application never runs either, but it carried them, and with them packages a vulnerability scan flags with no fixed release (node-forge through the signing certificates, braces through Metro). Both are now optional peer dependencies. `absolute mobile` installs `@absolutejs/devices` and `@absolutejs/devices-expo` into an Expo application the first time it needs them, the way it already installs Capacitor, and `absolute mobile update signing generate` installs `@expo/code-signing-certificates` as a development dependency. The framework no longer bundles node-forge into its CLI. Calling `generateAbsoluteExpoCodeSigning` directly now needs `@expo/code-signing-certificates` installed in the application, and says so if it is not.",
9
+ "kind": "changed",
10
+ "summary": "Web applications no longer install Expo, React Native or the Expo code-signing tooling; `absolute mobile` installs them for Expo apps",
11
+ "symbols": [
12
+ "generateAbsoluteExpoCodeSigning"
13
+ ]
14
+ }
15
+ ],
16
+ "date": "2026-10-16",
17
+ "version": "0.20.0-beta.139"
18
+ },
5
19
  {
6
20
  "changes": [
7
21
  {
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- // .angular-partial-tmp-KtqefO/src/core/streamingSlotRegistrar.ts
2
+ // .angular-partial-tmp-cVJTxm/src/core/streamingSlotRegistrar.ts
3
3
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
4
4
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
5
5
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- // .angular-partial-tmp-KtqefO/src/core/streamingSlotRegistrar.ts
2
+ // .angular-partial-tmp-cVJTxm/src/core/streamingSlotRegistrar.ts
3
3
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
4
4
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
5
5
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -46,7 +46,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
46
46
  getWarningController()?.maybeWarn(primitiveName);
47
47
  };
48
48
 
49
- // .angular-partial-tmp-KtqefO/src/core/streamingSlotRegistry.ts
49
+ // .angular-partial-tmp-cVJTxm/src/core/streamingSlotRegistry.ts
50
50
  var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
51
51
  var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
52
52
  var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
package/dist/build.js CHANGED
@@ -13345,13 +13345,19 @@ var DEVICES_PACKAGE = "@absolutejs/devices", ABSOLUTE_MOBILE_SHELL_DEVICE_CAPABI
13345
13345
  ...new Set(plan.capabilities.flatMap((name) => plan.providers[name]?.native?.ios?.usageDescriptions ?? []))
13346
13346
  ].sort()
13347
13347
  };
13348
+ }, resolveAdapterManifest = (adapter, provider) => {
13349
+ try {
13350
+ return fileURLToPath2(import.meta.resolve(`${adapter}/package.json`));
13351
+ } catch {
13352
+ throw new TypeError(`${adapter} is not installed. Run \`absolute mobile init\` to install the ${provider === "expo" ? "Expo" : "Capacitor"} device adapters.`);
13353
+ }
13348
13354
  }, loadAbsoluteDeviceCapabilityProviders = (projectRoot, provider = "capacitor") => {
13349
13355
  const adapter = ADAPTERS[provider];
13350
13356
  let path = join27(resolve22(projectRoot), "node_modules", adapter, "package.json");
13351
13357
  try {
13352
13358
  readFileSync15(path, "utf8");
13353
13359
  } catch {
13354
- path = fileURLToPath2(import.meta.resolve(`${adapter}/package.json`));
13360
+ path = resolveAdapterManifest(adapter, provider);
13355
13361
  }
13356
13362
  const manifest = readJson(path);
13357
13363
  const { absolutejs } = manifest;
@@ -37619,5 +37625,5 @@ export {
37619
37625
  devBuild
37620
37626
  };
37621
37627
 
37622
- //# debugId=B64A00E25D5E4C2464756E2164756E21
37628
+ //# debugId=2A99D03636D2BB0864756E2164756E21
37623
37629
  //# sourceMappingURL=build.js.map