zioinfo-web/frontend/node_modules/react-intersection-observer/package.json
DESKTOP-TKLFCPRython abd4dde1a8 feat(setup): Claude Code Desktop 자동 설치 + 30일 라이선스 + 서비스 자동 실행
[Claude Code Desktop 자동 설치 환경]
- setup/CLAUDE.md: 트리거 키워드 + 설치 패키지 설명
- setup/.claude/skills/guardia-install/SKILL.md: 6단계 설치 오케스트레이터
  Phase 0: 의도 파악 → Phase 1: OS 감지 → Phase 2: 사전 확인
  Phase 3: 설치 실행 → Phase 4: 라이선스 발급 → Phase 5: 검증 → Phase 6: 완료보고

[통합 자동 설치 스크립트]
- setup/install_auto.sh: Linux 통합 (OS 자동 감지 ubuntu/centos/rhel)
  - --license trial30|trial7|<key> 파라미터
  - 설치 완료 후 GUARDiA 자동 실행 + 브라우저 자동 열기
  - --test 검증 모드
- setup/install_auto.ps1: Windows 통합 (ASCII 전용, PS 5.1 호환)
  - 설치 후 NSSM 서비스 자동 시작 + 브라우저 자동 열기
  - -Test 파라미터로 검증 전용 실행

[라이선스 엔진 개선]
- core/license.py: generate_trial_key(days=None) 파라미터 추가
- TRIAL_DURATION_DAYS = TRIAL_DURATION_DAYS 환경변수로 조정 가능
- routers/license.py: TrialRequest.days 필드 + 30일 체험판 지원
  POST /api/license/trial {"days": 30} 로 30일 발급

사용자 경험:
  1. setup/ 폴더를 새 PC에 복사
  2. Claude Code Desktop 열고 해당 폴더 open
  3. "GUARDiA 시스템 1달 사용자로 설치해 줘" 입력
  4. 자동으로 OS 감지 → 설치 → 30일 라이선스 → 브라우저 열림

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 09:06:14 +09:00

155 lines
4.0 KiB
JSON

{
"name": "react-intersection-observer",
"version": "9.16.0",
"description": "Monitor if a component is inside the viewport, using IntersectionObserver API",
"type": "commonjs",
"source": "src/index.tsx",
"main": "dist/index.js",
"module": "dist/esm/index.js",
"types": "dist/index.d.ts",
"exports": {
"./test-utils": {
"import": {
"types": "./test-utils/index.d.mts",
"default": "./test-utils/index.mjs"
},
"require": {
"types": "./test-utils/index.d.ts",
"default": "./test-utils/index.js"
}
},
".": {
"import": {
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
},
"require": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
}
},
"files": ["dist", "test-utils"],
"author": "Daniel Schmidt",
"license": "MIT",
"sideEffects": false,
"repository": {
"type": "git",
"url": "https://github.com/thebuilder/react-intersection-observer.git"
},
"packageManager": "pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b",
"scripts": {
"prebuild": "rm -rf dist lib",
"build": "tsup && mkdir dist/esm && cp dist/index.mjs dist/esm/index.js",
"postbuild": "attw --pack && publint && size-limit",
"dev": "run-p dev:*",
"dev:package": "tsup src/index.tsx --watch",
"dev:storybook": "pnpm --filter storybook dev",
"release": "bumpp && npm publish",
"lint": "biome check .",
"version": "pnpm build",
"storybook:build": "pnpm build && pnpm --filter storybook build",
"test": "vitest",
"test:browser": "vitest --workspace=vitest.workspace.ts"
},
"keywords": [
"react",
"component",
"hooks",
"viewport",
"intersection",
"observer",
"lazy load",
"inview",
"useInView",
"useIntersectionObserver"
],
"release": {
"branches": [
"main",
{
"name": "beta",
"prerelease": true
}
],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/npm",
"@semantic-release/github"
]
},
"simple-git-hooks": {
"pre-commit": "npx lint-staged"
},
"lint-staged": {
"*.{js,json,css,md,ts,tsx}": [
"biome check --apply --no-errors-on-unmatched --files-ignore-unknown=true"
]
},
"size-limit": [
{
"path": "dist/index.mjs",
"name": "InView",
"import": "{ InView }",
"limit": "1.8 kB"
},
{
"path": "dist/index.mjs",
"name": "useInView",
"import": "{ useInView }",
"limit": "1.3 kB"
},
{
"path": "dist/index.mjs",
"name": "observe",
"import": "{ observe }",
"limit": "1 kB"
}
],
"peerDependencies": {
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"devDependencies": {
"@arethetypeswrong/cli": "^0.17.4",
"@biomejs/biome": "^1.9.4",
"@size-limit/preset-small-lib": "^11.2.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.2.0",
"@types/react": "^19.0.10",
"@types/react-dom": "^19.0.4",
"@vitejs/plugin-react": "^4.3.4",
"@vitest/browser": "^3.0.7",
"@vitest/coverage-istanbul": "^3.0.7",
"bumpp": "^10.0.3",
"lint-staged": "^15.4.3",
"microbundle": "^0.15.1",
"npm-run-all": "^4.1.5",
"playwright": "^1.50.1",
"publint": "^0.3.8",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"simple-git-hooks": "^2.11.1",
"size-limit": "^11.2.0",
"tsup": "^8.4.0",
"typescript": "^5.8.2",
"vitest": "^3.0.7"
},
"peerDependenciesMeta": {
"react-dom": {
"optional": true
}
},
"pnpm": {
"allowedDeprecatedVersions": {
"rollup-plugin-terser": "*",
"sourcemap-codec": "*",
"source-map-resolve": "*",
"source-map-url": "*",
"stable": "*",
"urix": "*"
}
}
}