@ankhorage/expo-runtime 3.2.0 → 3.2.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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @ankhorage/expo-runtime
2
2
 
3
+ ## 3.2.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 4c8afa1: Update Ankhorage dependencies: `@ankhorage/zora`.
8
+
9
+ ## 3.2.2
10
+
11
+ ### Patch Changes
12
+
13
+ - 1aeaf53: Expose capability-scoped barcode scanner and ebook reader adapter entrypoints, and generate bridges that avoid importing unrelated optional platform dependencies.
14
+
15
+ ## 3.2.1
16
+
17
+ ### Patch Changes
18
+
19
+ - 14cff2c: Update Ankhorage dependencies: `@ankhorage/zora`.
20
+
3
21
  ## 3.2.0
4
22
 
5
23
  ### Minor Changes
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # EXPO-RUNTIME
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v3.1.2](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v3.2.1](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
7
7
 
8
8
  Declarative runtime integration for Expo apps: maps app capabilities to permissions, packages, config plugins, providers, and adapters
9
9
 
@@ -0,0 +1,2 @@
1
+ export { ExpoBarcodeScannerAdapter } from './ExpoBarcodeScannerAdapter';
2
+ //# sourceMappingURL=barcodeScanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"barcodeScanner.d.ts","sourceRoot":"","sources":["../src/barcodeScanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ExpoBarcodeScannerAdapter } from './ExpoBarcodeScannerAdapter';
2
+ //# sourceMappingURL=barcodeScanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"barcodeScanner.js","sourceRoot":"","sources":["../src/barcodeScanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC","sourcesContent":["export { ExpoBarcodeScannerAdapter } from './ExpoBarcodeScannerAdapter';\n"]}
@@ -1,2 +1,3 @@
1
1
  export declare function getExpoBarcodeScannerViewSource(): string;
2
+ export declare function getExpoReaderSurfaceViewSource(): string;
2
3
  //# sourceMappingURL=generatedSources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generatedSources.d.ts","sourceRoot":"","sources":["../src/generatedSources.ts"],"names":[],"mappings":"AAMA,wBAAgB,+BAA+B,IAAI,MAAM,CAExD"}
1
+ {"version":3,"file":"generatedSources.d.ts","sourceRoot":"","sources":["../src/generatedSources.ts"],"names":[],"mappings":"AAYA,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,8BAA8B,IAAI,MAAM,CAEvD"}
@@ -1,9 +1,17 @@
1
1
  const EXPO_BARCODE_SCANNER_VIEW_SOURCE = [
2
2
  'export { ExpoBarcodeScannerAdapter as ExpoBarcodeScannerView }',
3
- " from '@ankhorage/expo-runtime';",
3
+ " from '@ankhorage/expo-runtime/barcode-scanner';",
4
+ '\n',
5
+ ];
6
+ const EXPO_READER_SURFACE_VIEW_SOURCE = [
7
+ 'export { ExpoReaderSurfaceAdapter as ExpoReaderSurfaceView }',
8
+ " from '@ankhorage/expo-runtime/reader';",
4
9
  '\n',
5
10
  ];
6
11
  export function getExpoBarcodeScannerViewSource() {
7
12
  return EXPO_BARCODE_SCANNER_VIEW_SOURCE.join('');
8
13
  }
14
+ export function getExpoReaderSurfaceViewSource() {
15
+ return EXPO_READER_SURFACE_VIEW_SOURCE.join('');
16
+ }
9
17
  //# sourceMappingURL=generatedSources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generatedSources.js","sourceRoot":"","sources":["../src/generatedSources.ts"],"names":[],"mappings":"AAAA,MAAM,gCAAgC,GAAG;IACvC,gEAAgE;IAChE,kCAAkC;IAClC,IAAI;CACI,CAAC;AAEX,MAAM,UAAU,+BAA+B;IAC7C,OAAO,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC","sourcesContent":["const EXPO_BARCODE_SCANNER_VIEW_SOURCE = [\n 'export { ExpoBarcodeScannerAdapter as ExpoBarcodeScannerView }',\n \" from '@ankhorage/expo-runtime';\",\n '\\n',\n] as const;\n\nexport function getExpoBarcodeScannerViewSource(): string {\n return EXPO_BARCODE_SCANNER_VIEW_SOURCE.join('');\n}\n"]}
1
+ {"version":3,"file":"generatedSources.js","sourceRoot":"","sources":["../src/generatedSources.ts"],"names":[],"mappings":"AAAA,MAAM,gCAAgC,GAAG;IACvC,gEAAgE;IAChE,kDAAkD;IAClD,IAAI;CACI,CAAC;AAEX,MAAM,+BAA+B,GAAG;IACtC,8DAA8D;IAC9D,yCAAyC;IACzC,IAAI;CACI,CAAC;AAEX,MAAM,UAAU,+BAA+B;IAC7C,OAAO,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClD,CAAC","sourcesContent":["const EXPO_BARCODE_SCANNER_VIEW_SOURCE = [\n 'export { ExpoBarcodeScannerAdapter as ExpoBarcodeScannerView }',\n \" from '@ankhorage/expo-runtime/barcode-scanner';\",\n '\\n',\n] as const;\n\nconst EXPO_READER_SURFACE_VIEW_SOURCE = [\n 'export { ExpoReaderSurfaceAdapter as ExpoReaderSurfaceView }',\n \" from '@ankhorage/expo-runtime/reader';\",\n '\\n',\n] as const;\n\nexport function getExpoBarcodeScannerViewSource(): string {\n return EXPO_BARCODE_SCANNER_VIEW_SOURCE.join('');\n}\n\nexport function getExpoReaderSurfaceViewSource(): string {\n return EXPO_READER_SURFACE_VIEW_SOURCE.join('');\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export { ExpoBarcodeScannerAdapter } from './ExpoBarcodeScannerAdapter';
9
9
  export { ExpoRuntimeProviders, type ExpoRuntimeProvidersProps } from './ExpoRuntimeProviders';
10
10
  export { ExpoZoraIconFontProvider, type ExpoZoraIconFontProviderProps, } from './ExpoZoraIconFontProvider';
11
11
  export { type ExpoRuntimeConfigPluginOutput, type ExpoRuntimeDependencyMap, type ExpoRuntimeGeneratedAppOutputPlan, type ExpoRuntimeNativeOutputPlan, resolveExpoRuntimeConfigPluginOutput, resolveExpoRuntimeDependencyMap, resolveExpoRuntimeGeneratedAppOutput, resolveExpoRuntimeNativeOutput, } from './generatedAppOutput';
12
- export { getExpoBarcodeScannerViewSource } from './generatedSources';
12
+ export { getExpoBarcodeScannerViewSource, getExpoReaderSurfaceViewSource, } from './generatedSources';
13
13
  export { type ExpoRuntimeLayoutIntegrationPlan, resolveExpoRuntimeLayoutIntegration, } from './layoutIntegrationPlanning';
14
14
  export { ExpoReaderSurfaceAdapter } from './reader/ExpoReaderSurfaceAdapter';
15
15
  export type { ExpoRuntimeAdapterId, ExpoRuntimePlan, ExpoRuntimeProviderId, } from './resolveExpoRuntimePlan';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,2CAA2C,EAC3C,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mCAAmC,EACxC,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,8BAA8B,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,wBAAwB,EACxB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,GACnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAChC,oCAAoC,EACpC,+BAA+B,EAC/B,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EACL,KAAK,gCAAgC,EACrC,mCAAmC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,2CAA2C,EAC3C,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mCAAmC,EACxC,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,8BAA8B,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,wBAAwB,EACxB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,GACnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAChC,oCAAoC,EACpC,+BAA+B,EAC/B,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,gCAAgC,EACrC,mCAAmC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ export { ExpoBarcodeScannerAdapter } from './ExpoBarcodeScannerAdapter';
8
8
  export { ExpoRuntimeProviders } from './ExpoRuntimeProviders';
9
9
  export { ExpoZoraIconFontProvider, } from './ExpoZoraIconFontProvider';
10
10
  export { resolveExpoRuntimeConfigPluginOutput, resolveExpoRuntimeDependencyMap, resolveExpoRuntimeGeneratedAppOutput, resolveExpoRuntimeNativeOutput, } from './generatedAppOutput';
11
- export { getExpoBarcodeScannerViewSource } from './generatedSources';
11
+ export { getExpoBarcodeScannerViewSource, getExpoReaderSurfaceViewSource, } from './generatedSources';
12
12
  export { resolveExpoRuntimeLayoutIntegration, } from './layoutIntegrationPlanning';
13
13
  export { ExpoReaderSurfaceAdapter } from './reader/ExpoReaderSurfaceAdapter';
14
14
  export { resolveExpoRuntimePlan } from './resolveExpoRuntimePlan';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EAGrB,2CAA2C,EAC3C,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,8BAA8B,EAK9B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,wBAAwB,EAOxB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAkC,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EACL,wBAAwB,GAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAKL,oCAAoC,EACpC,+BAA+B,EAC/B,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAEL,mCAAmC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC","sourcesContent":["export {\n BARCODE_SCAN_DEDUPE_WINDOW_MS,\n BARCODE_SCANNER_TYPES,\n type BarcodeScanRecord,\n type ExpoBarcodeScanResultLike,\n mapPermissionStatusToCameraPermissionStatus,\n normalizeExpoBarcodeScanResult,\n shouldIgnoreBarcodeScan,\n} from './barcodeScanRuntime';\nexport {\n type ExpoBundledMediaRegistrySourceEntry,\n getExpoBundledMediaRegistrySource,\n} from './bundledMediaRegistrySource';\nexport {\n createExpoBundledMediaResolver,\n type ExpoBundledMediaRegistry,\n type ExpoBundledMediaResolver,\n type ExpoBundledMediaResolverArgs,\n type ExpoBundledMediaValue,\n resolveExpoBundledMediaAsset,\n} from './bundledMediaResolver';\nexport type { ComponentRegistry } from './componentRegistry';\nexport { createComponentRegistry } from './componentRegistry';\nexport { createExpoRuntimeRegistry } from './createExpoRuntimeRegistry';\nexport {\n executeExpoRuntimeAction,\n type ExecuteExpoRuntimeActionArgs,\n type ExpoRuntimeActionHandlerArgs,\n type ExpoRuntimeActionHandlers,\n type ExpoRuntimeRouteResolution,\n type ExpoRuntimeRouterLike,\n type ExpoRuntimeThemeMode,\n resolveExpoRuntimeRoutePath,\n} from './expoActionBridge';\nexport { ExpoBarcodeScannerAdapter } from './ExpoBarcodeScannerAdapter';\nexport { ExpoRuntimeProviders, type ExpoRuntimeProvidersProps } from './ExpoRuntimeProviders';\nexport {\n ExpoZoraIconFontProvider,\n type ExpoZoraIconFontProviderProps,\n} from './ExpoZoraIconFontProvider';\nexport {\n type ExpoRuntimeConfigPluginOutput,\n type ExpoRuntimeDependencyMap,\n type ExpoRuntimeGeneratedAppOutputPlan,\n type ExpoRuntimeNativeOutputPlan,\n resolveExpoRuntimeConfigPluginOutput,\n resolveExpoRuntimeDependencyMap,\n resolveExpoRuntimeGeneratedAppOutput,\n resolveExpoRuntimeNativeOutput,\n} from './generatedAppOutput';\nexport { getExpoBarcodeScannerViewSource } from './generatedSources';\nexport {\n type ExpoRuntimeLayoutIntegrationPlan,\n resolveExpoRuntimeLayoutIntegration,\n} from './layoutIntegrationPlanning';\nexport { ExpoReaderSurfaceAdapter } from './reader/ExpoReaderSurfaceAdapter';\nexport type {\n ExpoRuntimeAdapterId,\n ExpoRuntimePlan,\n ExpoRuntimeProviderId,\n} from './resolveExpoRuntimePlan';\nexport { resolveExpoRuntimePlan } from './resolveExpoRuntimePlan';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EAGrB,2CAA2C,EAC3C,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,8BAA8B,EAK9B,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,wBAAwB,EAOxB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAkC,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EACL,wBAAwB,GAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAKL,oCAAoC,EACpC,+BAA+B,EAC/B,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,mCAAmC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC","sourcesContent":["export {\n BARCODE_SCAN_DEDUPE_WINDOW_MS,\n BARCODE_SCANNER_TYPES,\n type BarcodeScanRecord,\n type ExpoBarcodeScanResultLike,\n mapPermissionStatusToCameraPermissionStatus,\n normalizeExpoBarcodeScanResult,\n shouldIgnoreBarcodeScan,\n} from './barcodeScanRuntime';\nexport {\n type ExpoBundledMediaRegistrySourceEntry,\n getExpoBundledMediaRegistrySource,\n} from './bundledMediaRegistrySource';\nexport {\n createExpoBundledMediaResolver,\n type ExpoBundledMediaRegistry,\n type ExpoBundledMediaResolver,\n type ExpoBundledMediaResolverArgs,\n type ExpoBundledMediaValue,\n resolveExpoBundledMediaAsset,\n} from './bundledMediaResolver';\nexport type { ComponentRegistry } from './componentRegistry';\nexport { createComponentRegistry } from './componentRegistry';\nexport { createExpoRuntimeRegistry } from './createExpoRuntimeRegistry';\nexport {\n executeExpoRuntimeAction,\n type ExecuteExpoRuntimeActionArgs,\n type ExpoRuntimeActionHandlerArgs,\n type ExpoRuntimeActionHandlers,\n type ExpoRuntimeRouteResolution,\n type ExpoRuntimeRouterLike,\n type ExpoRuntimeThemeMode,\n resolveExpoRuntimeRoutePath,\n} from './expoActionBridge';\nexport { ExpoBarcodeScannerAdapter } from './ExpoBarcodeScannerAdapter';\nexport { ExpoRuntimeProviders, type ExpoRuntimeProvidersProps } from './ExpoRuntimeProviders';\nexport {\n ExpoZoraIconFontProvider,\n type ExpoZoraIconFontProviderProps,\n} from './ExpoZoraIconFontProvider';\nexport {\n type ExpoRuntimeConfigPluginOutput,\n type ExpoRuntimeDependencyMap,\n type ExpoRuntimeGeneratedAppOutputPlan,\n type ExpoRuntimeNativeOutputPlan,\n resolveExpoRuntimeConfigPluginOutput,\n resolveExpoRuntimeDependencyMap,\n resolveExpoRuntimeGeneratedAppOutput,\n resolveExpoRuntimeNativeOutput,\n} from './generatedAppOutput';\nexport {\n getExpoBarcodeScannerViewSource,\n getExpoReaderSurfaceViewSource,\n} from './generatedSources';\nexport {\n type ExpoRuntimeLayoutIntegrationPlan,\n resolveExpoRuntimeLayoutIntegration,\n} from './layoutIntegrationPlanning';\nexport { ExpoReaderSurfaceAdapter } from './reader/ExpoReaderSurfaceAdapter';\nexport type {\n ExpoRuntimeAdapterId,\n ExpoRuntimePlan,\n ExpoRuntimeProviderId,\n} from './resolveExpoRuntimePlan';\nexport { resolveExpoRuntimePlan } from './resolveExpoRuntimePlan';\n"]}
@@ -1,5 +1,5 @@
1
1
  export { type ExpoRuntimeConfigPluginOutput, type ExpoRuntimeDependencyMap, type ExpoRuntimeGeneratedAppOutputPlan, type ExpoRuntimeNativeOutputPlan, resolveExpoRuntimeConfigPluginOutput, resolveExpoRuntimeDependencyMap, resolveExpoRuntimeGeneratedAppOutput, resolveExpoRuntimeNativeOutput, } from './generatedAppOutput';
2
- export { getExpoBarcodeScannerViewSource } from './generatedSources';
2
+ export { getExpoBarcodeScannerViewSource, getExpoReaderSurfaceViewSource, } from './generatedSources';
3
3
  export { type ExpoRuntimeLayoutIntegrationPlan, resolveExpoRuntimeLayoutIntegration, } from './layoutIntegrationPlanning';
4
4
  export { type ExpoRuntimeNativePlatform, type ExpoRuntimeNativeSchemeMap, resolveExpoRuntimeNativeSchemeMap, } from './nativeLinkingPlanning';
5
5
  export type { ExpoRuntimeAdapterId, ExpoRuntimePlan, ExpoRuntimePlanningManifest, ExpoRuntimePlanningScreen, ExpoRuntimeProviderId, } from './resolveExpoRuntimePlan';
@@ -1 +1 @@
1
- {"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../src/planning.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAChC,oCAAoC,EACpC,+BAA+B,EAC/B,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EACL,KAAK,gCAAgC,EACrC,mCAAmC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,iCAAiC,GAClC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../src/planning.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAChC,oCAAoC,EACpC,+BAA+B,EAC/B,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,gCAAgC,EACrC,mCAAmC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,iCAAiC,GAClC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
package/dist/planning.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { resolveExpoRuntimeConfigPluginOutput, resolveExpoRuntimeDependencyMap, resolveExpoRuntimeGeneratedAppOutput, resolveExpoRuntimeNativeOutput, } from './generatedAppOutput';
2
- export { getExpoBarcodeScannerViewSource } from './generatedSources';
2
+ export { getExpoBarcodeScannerViewSource, getExpoReaderSurfaceViewSource, } from './generatedSources';
3
3
  export { resolveExpoRuntimeLayoutIntegration, } from './layoutIntegrationPlanning';
4
4
  export { resolveExpoRuntimeNativeSchemeMap, } from './nativeLinkingPlanning';
5
5
  export { resolveExpoRuntimePlan } from './resolveExpoRuntimePlan';
@@ -1 +1 @@
1
- {"version":3,"file":"planning.js","sourceRoot":"","sources":["../src/planning.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,oCAAoC,EACpC,+BAA+B,EAC/B,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAEL,mCAAmC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,iCAAiC,GAClC,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC","sourcesContent":["export {\n type ExpoRuntimeConfigPluginOutput,\n type ExpoRuntimeDependencyMap,\n type ExpoRuntimeGeneratedAppOutputPlan,\n type ExpoRuntimeNativeOutputPlan,\n resolveExpoRuntimeConfigPluginOutput,\n resolveExpoRuntimeDependencyMap,\n resolveExpoRuntimeGeneratedAppOutput,\n resolveExpoRuntimeNativeOutput,\n} from './generatedAppOutput';\nexport { getExpoBarcodeScannerViewSource } from './generatedSources';\nexport {\n type ExpoRuntimeLayoutIntegrationPlan,\n resolveExpoRuntimeLayoutIntegration,\n} from './layoutIntegrationPlanning';\nexport {\n type ExpoRuntimeNativePlatform,\n type ExpoRuntimeNativeSchemeMap,\n resolveExpoRuntimeNativeSchemeMap,\n} from './nativeLinkingPlanning';\nexport type {\n ExpoRuntimeAdapterId,\n ExpoRuntimePlan,\n ExpoRuntimePlanningManifest,\n ExpoRuntimePlanningScreen,\n ExpoRuntimeProviderId,\n} from './resolveExpoRuntimePlan';\nexport { resolveExpoRuntimePlan } from './resolveExpoRuntimePlan';\n"]}
1
+ {"version":3,"file":"planning.js","sourceRoot":"","sources":["../src/planning.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,oCAAoC,EACpC,+BAA+B,EAC/B,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,mCAAmC,GACpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,iCAAiC,GAClC,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC","sourcesContent":["export {\n type ExpoRuntimeConfigPluginOutput,\n type ExpoRuntimeDependencyMap,\n type ExpoRuntimeGeneratedAppOutputPlan,\n type ExpoRuntimeNativeOutputPlan,\n resolveExpoRuntimeConfigPluginOutput,\n resolveExpoRuntimeDependencyMap,\n resolveExpoRuntimeGeneratedAppOutput,\n resolveExpoRuntimeNativeOutput,\n} from './generatedAppOutput';\nexport {\n getExpoBarcodeScannerViewSource,\n getExpoReaderSurfaceViewSource,\n} from './generatedSources';\nexport {\n type ExpoRuntimeLayoutIntegrationPlan,\n resolveExpoRuntimeLayoutIntegration,\n} from './layoutIntegrationPlanning';\nexport {\n type ExpoRuntimeNativePlatform,\n type ExpoRuntimeNativeSchemeMap,\n resolveExpoRuntimeNativeSchemeMap,\n} from './nativeLinkingPlanning';\nexport type {\n ExpoRuntimeAdapterId,\n ExpoRuntimePlan,\n ExpoRuntimePlanningManifest,\n ExpoRuntimePlanningScreen,\n ExpoRuntimeProviderId,\n} from './resolveExpoRuntimePlan';\nexport { resolveExpoRuntimePlan } from './resolveExpoRuntimePlan';\n"]}
@@ -0,0 +1,2 @@
1
+ export { ExpoReaderSurfaceAdapter } from './ExpoReaderSurfaceAdapter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ExpoReaderSurfaceAdapter } from './ExpoReaderSurfaceAdapter';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["export { ExpoReaderSurfaceAdapter } from './ExpoReaderSurfaceAdapter';\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ankhorage/expo-runtime",
3
3
  "type": "module",
4
- "version": "3.2.0",
4
+ "version": "3.2.3",
5
5
  "description": "Declarative runtime integration for Expo apps: maps app capabilities to permissions, packages, config plugins, providers, and adapters",
6
6
  "homepage": "https://github.com/ankhorage/expo-runtime#readme",
7
7
  "bugs": {
@@ -99,6 +99,20 @@
99
99
  "types": "./src/bundledMedia/index.ts",
100
100
  "import": "./dist/bundledMedia/index.js",
101
101
  "default": "./dist/bundledMedia/index.js"
102
+ },
103
+ "./barcode-scanner": {
104
+ "react-native": "./src/barcodeScanner.ts",
105
+ "browser": "./src/barcodeScanner.ts",
106
+ "types": "./src/barcodeScanner.ts",
107
+ "import": "./dist/barcodeScanner.js",
108
+ "default": "./dist/barcodeScanner.js"
109
+ },
110
+ "./reader": {
111
+ "react-native": "./src/reader/index.ts",
112
+ "browser": "./src/reader/index.ts",
113
+ "types": "./src/reader/index.ts",
114
+ "import": "./dist/reader/index.js",
115
+ "default": "./dist/reader/index.js"
102
116
  }
103
117
  },
104
118
  "publishConfig": {
@@ -127,7 +141,7 @@
127
141
  },
128
142
  "peerDependencies": {
129
143
  "@ankhorage/permissions": "^0.2.3",
130
- "@ankhorage/zora": "^3.1.0",
144
+ "@ankhorage/zora": "^3.3.1",
131
145
  "@readium/navigator": "2.8.2",
132
146
  "@readium/shared": "2.4.0",
133
147
  "@react-native-vector-icons/fontawesome": "^13.1.3",
@@ -210,10 +224,10 @@
210
224
  }
211
225
  },
212
226
  "devDependencies": {
213
- "@ankhorage/devtools": "^1.8.3",
227
+ "@ankhorage/devtools": "^1.8.4",
214
228
  "@ankhorage/paradox": "^0.1.24",
215
229
  "@ankhorage/permissions": "^0.2.3",
216
- "@ankhorage/zora": "^3.1.0",
230
+ "@ankhorage/zora": "^3.3.1",
217
231
  "@readium/navigator": "2.8.2",
218
232
  "@readium/shared": "2.4.0",
219
233
  "@react-native-picker/picker": "2.11.4",
@@ -0,0 +1,48 @@
1
+ import { describe, expect, it } from 'bun:test';
2
+
3
+ interface PackageJson {
4
+ readonly exports: Readonly<Record<string, Readonly<Record<string, string>>>>;
5
+ }
6
+
7
+ describe('capability-scoped adapter entrypoints', () => {
8
+ it('publishes focused barcode scanner and reader exports', async () => {
9
+ const packageJson = (await Bun.file(
10
+ new URL('../package.json', import.meta.url),
11
+ ).json()) as PackageJson;
12
+
13
+ expect(packageJson.exports['./barcode-scanner']).toMatchObject({
14
+ import: './dist/barcodeScanner.js',
15
+ 'react-native': './src/barcodeScanner.ts',
16
+ types: './src/barcodeScanner.ts',
17
+ });
18
+ expect(packageJson.exports['./reader']).toMatchObject({
19
+ import: './dist/reader/index.js',
20
+ 'react-native': './src/reader/index.ts',
21
+ types: './src/reader/index.ts',
22
+ });
23
+ });
24
+
25
+ it('keeps camera ownership out of the reader entrypoint', async () => {
26
+ const entrypoint = await Bun.file(new URL('./reader/index.ts', import.meta.url)).text();
27
+ const adapter = await Bun.file(
28
+ new URL('./reader/ExpoReaderSurfaceAdapter.tsx', import.meta.url),
29
+ ).text();
30
+
31
+ expect(entrypoint).toContain("from './ExpoReaderSurfaceAdapter'");
32
+ expect(`${entrypoint}\n${adapter}`).not.toContain('expo-camera');
33
+ expect(`${entrypoint}\n${adapter}`).not.toContain('@ankhorage/permissions');
34
+ });
35
+
36
+ it('keeps document renderer ownership out of the scanner entrypoint', async () => {
37
+ const entrypoint = await Bun.file(new URL('./barcodeScanner.ts', import.meta.url)).text();
38
+ const adapter = await Bun.file(
39
+ new URL('./ExpoBarcodeScannerAdapter.tsx', import.meta.url),
40
+ ).text();
41
+ const source = `${entrypoint}\n${adapter}`;
42
+
43
+ expect(entrypoint).toContain("from './ExpoBarcodeScannerAdapter'");
44
+ expect(source).not.toContain('@readium/');
45
+ expect(source).not.toContain('@zip.js/zip.js');
46
+ expect(source).not.toContain('pdfjs-dist');
47
+ });
48
+ });
@@ -0,0 +1 @@
1
+ export { ExpoBarcodeScannerAdapter } from './ExpoBarcodeScannerAdapter';
@@ -1,11 +1,20 @@
1
1
  import { describe, expect, it } from 'bun:test';
2
2
 
3
- import { getExpoBarcodeScannerViewSource } from './generatedSources';
3
+ import {
4
+ getExpoBarcodeScannerViewSource,
5
+ getExpoReaderSurfaceViewSource,
6
+ } from './generatedSources';
4
7
 
5
8
  describe('generated Expo runtime sources', () => {
6
9
  it('emits the barcode scanner view adapter in canonical source format', () => {
7
10
  expect(getExpoBarcodeScannerViewSource()).toBe(
8
- "export { ExpoBarcodeScannerAdapter as ExpoBarcodeScannerView } from '@ankhorage/expo-runtime';\n",
11
+ "export { ExpoBarcodeScannerAdapter as ExpoBarcodeScannerView } from '@ankhorage/expo-runtime/barcode-scanner';\n",
12
+ );
13
+ });
14
+
15
+ it('emits the reader surface adapter through its capability-scoped entrypoint', () => {
16
+ expect(getExpoReaderSurfaceViewSource()).toBe(
17
+ "export { ExpoReaderSurfaceAdapter as ExpoReaderSurfaceView } from '@ankhorage/expo-runtime/reader';\n",
9
18
  );
10
19
  });
11
20
  });
@@ -1,9 +1,19 @@
1
1
  const EXPO_BARCODE_SCANNER_VIEW_SOURCE = [
2
2
  'export { ExpoBarcodeScannerAdapter as ExpoBarcodeScannerView }',
3
- " from '@ankhorage/expo-runtime';",
3
+ " from '@ankhorage/expo-runtime/barcode-scanner';",
4
+ '\n',
5
+ ] as const;
6
+
7
+ const EXPO_READER_SURFACE_VIEW_SOURCE = [
8
+ 'export { ExpoReaderSurfaceAdapter as ExpoReaderSurfaceView }',
9
+ " from '@ankhorage/expo-runtime/reader';",
4
10
  '\n',
5
11
  ] as const;
6
12
 
7
13
  export function getExpoBarcodeScannerViewSource(): string {
8
14
  return EXPO_BARCODE_SCANNER_VIEW_SOURCE.join('');
9
15
  }
16
+
17
+ export function getExpoReaderSurfaceViewSource(): string {
18
+ return EXPO_READER_SURFACE_VIEW_SOURCE.join('');
19
+ }
package/src/index.ts CHANGED
@@ -48,7 +48,10 @@ export {
48
48
  resolveExpoRuntimeGeneratedAppOutput,
49
49
  resolveExpoRuntimeNativeOutput,
50
50
  } from './generatedAppOutput';
51
- export { getExpoBarcodeScannerViewSource } from './generatedSources';
51
+ export {
52
+ getExpoBarcodeScannerViewSource,
53
+ getExpoReaderSurfaceViewSource,
54
+ } from './generatedSources';
52
55
  export {
53
56
  type ExpoRuntimeLayoutIntegrationPlan,
54
57
  resolveExpoRuntimeLayoutIntegration,
package/src/planning.ts CHANGED
@@ -8,7 +8,10 @@ export {
8
8
  resolveExpoRuntimeGeneratedAppOutput,
9
9
  resolveExpoRuntimeNativeOutput,
10
10
  } from './generatedAppOutput';
11
- export { getExpoBarcodeScannerViewSource } from './generatedSources';
11
+ export {
12
+ getExpoBarcodeScannerViewSource,
13
+ getExpoReaderSurfaceViewSource,
14
+ } from './generatedSources';
12
15
  export {
13
16
  type ExpoRuntimeLayoutIntegrationPlan,
14
17
  resolveExpoRuntimeLayoutIntegration,
@@ -0,0 +1 @@
1
+ export { ExpoReaderSurfaceAdapter } from './ExpoReaderSurfaceAdapter';