@nexia/sdk 0.8.1 → 0.8.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.
@@ -0,0 +1,9 @@
1
+ ---
2
+ status: published
3
+ version: 0.7.1
4
+ date: 2026-10-01
5
+ title: Shared App frontend contracts
6
+ description: Compatible frontend contracts for Composer and isolated Apps.
7
+ ---
8
+
9
+ Add host-backed file opening, action presentation and Inspector queries, resource contract Inspector registration, standalone form save bindings and explicit surface modes. Existing App registrations remain supported. Adopt matching Core host bindings before using the new APIs; this package alone does not update a deployed host.
@@ -0,0 +1,9 @@
1
+ ---
2
+ status: published
3
+ version: 0.7.1
4
+ date: 2026-10-01
5
+ title: 공용 앱 프런트엔드 계약
6
+ description: Composer 앱과 격리 앱에서 사용하는 호환 프런트엔드 계약입니다.
7
+ ---
8
+
9
+ 호스트를 통한 파일 열기·액션 표시·Inspector 조회, 리소스 계약 기반 Inspector 등록, 독립 폼 저장 연결과 명시적 화면 모드를 추가합니다. 기존 앱 등록 방식은 유지합니다. 새 API를 사용하기 전에 대응 Core 호스트 연결을 적용하세요. 이 패키지만으로 배포된 호스트가 변경되지는 않습니다.
@@ -0,0 +1,9 @@
1
+ ---
2
+ status: published
3
+ version: 0.7.2
4
+ date: 2026-10-01
5
+ title: Import reference target context
6
+ description: Pass the reviewed legal entity to App reference setup.
7
+ ---
8
+
9
+ Add optional `legalEntityPublicId` to the import reference review contract so the host can pass the selected import target to an App. Existing implementations remain compatible. Adopt the matching Core and People changes to use it; server authorization remains required.
@@ -0,0 +1,9 @@
1
+ ---
2
+ status: published
3
+ version: 0.7.2
4
+ date: 2026-10-01
5
+ title: 가져오기 기초정보 대상 전달
6
+ description: 검토 중인 법인을 앱의 기초정보 생성에 전달합니다.
7
+ ---
8
+
9
+ 가져오기 기초정보 검토 계약에 선택적 `legalEntityPublicId`를 추가해 호스트가 선택한 대상 법인을 앱에 전달할 수 있습니다. 기존 구현과 호환됩니다. 사용하려면 대응하는 Core·People 변경을 함께 반영해야 하며 서버 권한 검증은 계속 필요합니다.
@@ -0,0 +1,20 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.0
4
+ date: 2026-10-03
5
+ title: Shared React App host
6
+ description: App-bound host services and standalone shared-host builds.
7
+ ---
8
+
9
+ # React SDK 0.8.0
10
+
11
+ ## Required upgrade
12
+ - Approved App UI runs in the shared Core 0.7.0 React host. Previous App-frame bundles are incompatible and must be rebuilt; backend Composer/sandbox selection remains independent.
13
+ - Use `nexiaAppConfig(import.meta.url)` from `@nexia/sdk/vite` for standalone App builds. The plugin binds each App's requests to its owning host services, shares supported host peers, bundles App dependencies, and emits `nexia-host.json` plus styles.
14
+ - Replace removed generic Resource Information schema exports with the existing composed Resource form/detail contracts; `resourceFieldValue` reads form fields.
15
+
16
+ ## Host behavior
17
+ - Host-bound App services preserve request ownership across lazy imports and simultaneously mounted Apps. `useReauthenticate` delegates authentication navigation and dirty-work confirmation to Core while preserving the owning App return route.
18
+ - Shared JavaScript execution requires approved App source and dependencies; it does not isolate malicious frontend code. Backend authorization and isolation remain required.
19
+
20
+ Adopt Laravel SDK 0.8.0, Core 0.7.0 and rebuilt App artifacts together. CLI asset serving requires the corresponding alpha.7 release.
@@ -0,0 +1,20 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.0
4
+ date: 2026-10-03
5
+ title: 공용 React 앱 호스트
6
+ description: 앱별 호스트 서비스와 독립 공용 호스트 빌드.
7
+ ---
8
+
9
+ # React SDK 0.8.0
10
+
11
+ ## 필수 전환
12
+ - 승인된 앱 UI는 Core 0.7.0의 공용 React 호스트에서 실행합니다. 이전 앱 프레임 번들은 호환되지 않으므로 다시 빌드해야 합니다. 백엔드의 Composer·sandbox 선택은 별도로 유지됩니다.
13
+ - 독립 앱 빌드에는 `@nexia/sdk/vite`의 `nexiaAppConfig(import.meta.url)`을 사용합니다. 플러그인은 앱 요청을 소유 앱의 호스트 서비스에 연결하고, 지원되는 호스트 의존성을 공유하며, 앱 의존성을 번들에 포함하고 `nexia-host.json`과 스타일을 생성합니다.
14
+ - 제거된 범용 Resource Information 스키마 내보내기는 기존 조합형 Resource 폼·상세 계약으로 전환합니다. 폼 값 조회에는 `resourceFieldValue`를 사용합니다.
15
+
16
+ ## 호스트 동작
17
+ - 지연 로드와 여러 앱의 동시 표시에서도 앱 서비스의 요청 소유권을 유지합니다. `useReauthenticate`는 소유 앱 복귀 경로를 유지하며 인증 이동과 미저장 작업 확인을 Core에 위임합니다.
18
+ - 공용 JavaScript 실행에는 앱 소스와 의존성 승인이 필요하며 악성 프런트엔드 코드를 격리하지 않습니다. 백엔드 권한 검사와 격리는 계속 필요합니다.
19
+
20
+ Laravel SDK 0.8.0, Core 0.7.0, 다시 빌드한 앱 산출물을 함께 적용합니다. CLI 에셋 제공에는 대응 alpha.7 릴리스가 필요합니다.
@@ -0,0 +1,11 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.1
4
+ date: 2026-10-08
5
+ title: Business approval document copy contracts
6
+ description: Declare independent business draft copying with matching Core and App support.
7
+ ---
8
+
9
+ Add optional `copySourceResourceId` to approval business forms. Apps authorize the source and persist an independent draft; never reuse the source as `appDraftRef`.
10
+
11
+ Adopt with Core 0.7.53 and the matching App implementation. Existing integrations remain compatible.
@@ -0,0 +1,11 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.1
4
+ date: 2026-10-08
5
+ title: 업무형 기안 복사 계약
6
+ description: 대응 Core와 App에서 독립된 업무 초안 복사를 지원합니다.
7
+ ---
8
+
9
+ 결재 업무 폼에 선택적 `copySourceResourceId`를 추가합니다. App은 원본 조회 권한을 확인하고 독립된 초안을 저장해야 하며 원본을 `appDraftRef`로 재사용하면 안 됩니다.
10
+
11
+ Core 0.7.53 및 대응 App 구현과 함께 적용하세요. 기존 연동은 호환됩니다.
@@ -0,0 +1,11 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.2
4
+ date: 2026-10-08
5
+ title: Parallel loading for standalone App screens
6
+ description: Standalone App builds preload lazy screens and their shared dependencies together.
7
+ ---
8
+
9
+ `nexiaAppConfig` now uses Vite application output so lazy screens preload their dependency graph instead of fetching each dependency only after its parent arrives. Relative asset URLs preserve the selected runtime asset grant; the shared host imports and `index.js` entry contract remain unchanged.
10
+
11
+ Update the frontend SDK and rebuild and publish the App image to adopt this change. Existing images are unchanged. No PHP SDK or Core contract upgrade is required.
@@ -0,0 +1,11 @@
1
+ ---
2
+ status: published
3
+ version: 0.8.2
4
+ date: 2026-10-08
5
+ title: 독립 앱 화면의 병렬 로딩
6
+ description: 독립 앱 빌드가 지연 로딩 화면과 공통 의존 파일을 함께 불러옵니다.
7
+ ---
8
+
9
+ `nexiaAppConfig`가 Vite 앱 빌드 방식을 사용합니다. 상위 파일을 받은 뒤에야 다음 의존 파일을 요청하던 지연 로딩 경로에서 화면과 의존 파일을 함께 미리 불러옵니다. 상대 자산 URL은 선택한 런타임의 자산 접근 경로를 유지하며, 공통 호스트 모듈과 `index.js` 진입 계약은 유지됩니다.
10
+
11
+ 프런트엔드 SDK를 업데이트하고 앱 이미지를 다시 빌드·게시해야 적용됩니다. 기존 이미지는 바뀌지 않습니다. PHP SDK나 Core 계약 업그레이드는 필요하지 않습니다.
package/dist/vite.mjs CHANGED
@@ -12,13 +12,16 @@ export function nexiaAppConfig(configUrl) {
12
12
  const root = fileURLToPath(new URL('.', configUrl));
13
13
  const manifest = JSON.parse(readFileSync(new URL('./nexia.json', configUrl), 'utf8'));
14
14
  return {
15
- root, plugins: [nexiaAppFrontend({ appKey: manifest.app.app_key, root })],
15
+ root, base: './', plugins: [nexiaAppFrontend({ appKey: manifest.app.app_key, root })],
16
16
  publicDir: false, envDir: false, esbuild: { jsx: 'automatic' },
17
17
  resolve: { alias: { '#app': path.join(root, 'resources/js'), '#lang': path.join(root, 'resources/lang') } },
18
18
  build: {
19
19
  outDir: 'dist/frontend', emptyOutDir: true, sourcemap: false, manifest: true,
20
- lib: { entry: path.join(root, 'resources/js/index.ts'), formats: ['es'], fileName: () => 'index.js' },
20
+ // Application builds preload lazy chunks and their dependencies in parallel.
21
+ modulePreload: { polyfill: false }, cssCodeSplit: false,
21
22
  rollupOptions: {
23
+ input: path.join(root, 'resources/js/index.ts'),
24
+ output: { format: 'es', entryFileNames: 'index.js' },
22
25
  external: (id, importer) => nexiaHostPeers.includes(id)
23
26
  && (!['@nexia/sdk', '@nexia/sdk/host'].includes(id) || importer?.startsWith('\0nexia-app-services:')),
24
27
  },
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@nexia/sdk",
3
- "version": "0.8.1",
3
+ "version": "0.8.3",
4
4
  "description": "Frontend contracts for Nexia App Packages",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
7
7
  "packageManager": "pnpm@11.17.0",
8
8
  "files": [
9
- "dist"
9
+ "dist",
10
+ "changelog"
10
11
  ],
11
12
  "main": "./dist/index.js",
12
13
  "types": "./dist/index.d.ts",