@kintone/rest-api-client를 GitHub에서 설치
소개
@kintone/rest-api-client
의 개발중의 기능을, GitHub로부터 인스톨 해 빨리 사용해 보았습니다.
일반적으로 NPM 패키지를 GitHub에서 설치할 때에 비해 특수한 방법이 필요했기 때문에 메모.
주의
디렉토리 구조
rest-api-client는 Git 저장소로서 특별한 형태를 가지고 있습니다.
htps : // 기주 b. 코 m / 킨토네 / js - sdk
이 @kintone/js-sdk
라는 리포지토리에 하위 디렉토리로 rest-api-client
가 있습니다.
htps : // 기주 b. 코 m / 킨 토네 / js - sdk / t ree / ma s r / pa c ga s / re st - ap - c peen t
NPM의 세계에서는 @kintone/rest-api-client
라는 단독 패키지 취급입니다만, Git의 세계에서는 단순한 서브 디렉토리.
(어째서 이런 이상한 구성인가는 수수께끼. 이런 NPM 디자인 패턴도 있는 것인가? 누군가 알고 있으면 가르쳐 주세요)
이런 패턴을 「모노레포」라고 하는 것 같네요. 저도 최근 어느 프로젝트에서 모노레포를 채용해 보았습니다. 이 기사를 이해하기 쉽습니다.
lerna를 사용하여 npm 프로젝트를 모노 리포팅
그래서 GitHub에서 이런 식으로 설치하려고해도 오류가 발생합니다.
yarn add https://github.com/kintone/js-sdk/tree/master/packages/rest-api-client
방법 1 (Git의 submodule로 사용)
NPM 대신 Git의 submodule로 설치합니다.
mkdir vendor
cd vendor
git submodule add https://github.com/kintone/js-sdk
직접 빌드
cd js-sdk/packages/rest-api-client/
yarn install
yarn build
이런 식으로 lib 폴더가 있으면 빌드 성공.
$ ls lib
KintoneAllRecordsError.d.ts KintoneRestAPIClient.js __tests__/ url.d.ts
KintoneAllRecordsError.js KintoneRestAPIError.d.ts client/ url.js
KintoneRequestConfigBuilder.d.ts KintoneRestAPIError.js http/
KintoneRequestConfigBuilder.js KintoneTypes.d.ts index.d.ts
KintoneRestAPIClient.d.ts KintoneTypes.js index.js
사용할 때는 이런 식으로 상대 경로로 js-sdk/packages/rest-api-client
를 import
합니다.
import { KintoneRestAPIClient } from '../vendor/js-sdk/packages/rest-api-client'
이제 2020 년 3 월 16 일에 릴리스되지 않은 addAllRecords
함수도 사용할 수 있습니다.
방법 2 (NPM 모듈로 GitHub에서 설치)
처음 이쪽의 방법 생각하고 있었습니다만, 방법 1이 좋다고 생각해 그만두었습니다.
우선, Git 리포지토리 단위로 js-sdk
마다 인스톨 해 버린다.
yarn add https://github.com/kintone/js-sdk
그대로는 사용할 수 없으므로 해당 디렉토리로 이동하여 스스로 빌드
cd node_modules/@kintone/js-sdk/packages/rest-api-client/
yarn install
yarn build
사용할 때는 이런 식으로 @kintone/js-sdk
부하의 디렉토리를 따라 import
합니다.
import { KintoneRestAPIClient } from '@kintone/js-sdk/packages/rest-api-client/lib'
rest-api-client
까지 지정으로 OK라고 생각하면,rest-api-client/lib
까지 지정하지 않으면 잘 움직이지 않았습니다.
문제점
빌드 직후는 잘 움직이는데, 그 뒤 다른 NPM 모듈을 추가로 설치하면 모처럼 빌드했다 rest-api-client/lib
설치마다 깨끗하게 해주는군요. .
예를 들어 .gitignore
에서 해당 폴더를 제외하지 않게 하고, lib
일단 방법 써 둡니다만, 이런 개그같은 node_modules
써,
.gitignorenode_modules/*
!/node_modules/@kintone
/node_modules/@kintone/*
!/node_modules/@kintone/js-sdk/
/node_modules/@kintone/js-sdk/*
!/node_modules/@kintone/js-sdk/packages/
/node_modules/@kintone/js-sdk/packages/*
!/node_modules/@kintone/js-sdk/packages/rest-api-client/
/node_modules/@kintone/js-sdk/packages/rest-api-client/*
!/node_modules/@kintone/js-sdk/packages/rest-api-client/.gitignore
!/node_modules/@kintone/js-sdk/packages/rest-api-client/lib/
또한 여기에서 .gitignore
에서 .gitignore
를 지 웁니다.
node_modules/@kintone/js-sdk/packages/rest-api-client/.gitignore node_modules/
-lib/
esm/
umd/
음, 방법 1이 무난합니다 w
결론
부디도 자기 책임입니다!
나도 정식 릴리스까지는, 제품 코드에는 사용하지 않으니까!
Reference
이 문제에 관하여(@kintone/rest-api-client를 GitHub에서 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/the_red/items/e5b368d701ca5462f43c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
yarn add https://github.com/kintone/js-sdk/tree/master/packages/rest-api-client
NPM 대신 Git의 submodule로 설치합니다.
mkdir vendor
cd vendor
git submodule add https://github.com/kintone/js-sdk
직접 빌드
cd js-sdk/packages/rest-api-client/
yarn install
yarn build
이런 식으로 lib 폴더가 있으면 빌드 성공.
$ ls lib
KintoneAllRecordsError.d.ts KintoneRestAPIClient.js __tests__/ url.d.ts
KintoneAllRecordsError.js KintoneRestAPIError.d.ts client/ url.js
KintoneRequestConfigBuilder.d.ts KintoneRestAPIError.js http/
KintoneRequestConfigBuilder.js KintoneTypes.d.ts index.d.ts
KintoneRestAPIClient.d.ts KintoneTypes.js index.js
사용할 때는 이런 식으로 상대 경로로
js-sdk/packages/rest-api-client
를 import
합니다.import { KintoneRestAPIClient } from '../vendor/js-sdk/packages/rest-api-client'
이제 2020 년 3 월 16 일에 릴리스되지 않은
addAllRecords
함수도 사용할 수 있습니다.방법 2 (NPM 모듈로 GitHub에서 설치)
처음 이쪽의 방법 생각하고 있었습니다만, 방법 1이 좋다고 생각해 그만두었습니다.
우선, Git 리포지토리 단위로 js-sdk
마다 인스톨 해 버린다.
yarn add https://github.com/kintone/js-sdk
그대로는 사용할 수 없으므로 해당 디렉토리로 이동하여 스스로 빌드
cd node_modules/@kintone/js-sdk/packages/rest-api-client/
yarn install
yarn build
사용할 때는 이런 식으로 @kintone/js-sdk
부하의 디렉토리를 따라 import
합니다.
import { KintoneRestAPIClient } from '@kintone/js-sdk/packages/rest-api-client/lib'
rest-api-client
까지 지정으로 OK라고 생각하면,rest-api-client/lib
까지 지정하지 않으면 잘 움직이지 않았습니다.
문제점
빌드 직후는 잘 움직이는데, 그 뒤 다른 NPM 모듈을 추가로 설치하면 모처럼 빌드했다 rest-api-client/lib
설치마다 깨끗하게 해주는군요. .
예를 들어 .gitignore
에서 해당 폴더를 제외하지 않게 하고, lib
일단 방법 써 둡니다만, 이런 개그같은 node_modules
써,
.gitignorenode_modules/*
!/node_modules/@kintone
/node_modules/@kintone/*
!/node_modules/@kintone/js-sdk/
/node_modules/@kintone/js-sdk/*
!/node_modules/@kintone/js-sdk/packages/
/node_modules/@kintone/js-sdk/packages/*
!/node_modules/@kintone/js-sdk/packages/rest-api-client/
/node_modules/@kintone/js-sdk/packages/rest-api-client/*
!/node_modules/@kintone/js-sdk/packages/rest-api-client/.gitignore
!/node_modules/@kintone/js-sdk/packages/rest-api-client/lib/
또한 여기에서 .gitignore
에서 .gitignore
를 지 웁니다.
node_modules/@kintone/js-sdk/packages/rest-api-client/.gitignore node_modules/
-lib/
esm/
umd/
음, 방법 1이 무난합니다 w
결론
부디도 자기 책임입니다!
나도 정식 릴리스까지는, 제품 코드에는 사용하지 않으니까!
Reference
이 문제에 관하여(@kintone/rest-api-client를 GitHub에서 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/the_red/items/e5b368d701ca5462f43c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
yarn add https://github.com/kintone/js-sdk
cd node_modules/@kintone/js-sdk/packages/rest-api-client/
yarn install
yarn build
import { KintoneRestAPIClient } from '@kintone/js-sdk/packages/rest-api-client/lib'
node_modules/*
!/node_modules/@kintone
/node_modules/@kintone/*
!/node_modules/@kintone/js-sdk/
/node_modules/@kintone/js-sdk/*
!/node_modules/@kintone/js-sdk/packages/
/node_modules/@kintone/js-sdk/packages/*
!/node_modules/@kintone/js-sdk/packages/rest-api-client/
/node_modules/@kintone/js-sdk/packages/rest-api-client/*
!/node_modules/@kintone/js-sdk/packages/rest-api-client/.gitignore
!/node_modules/@kintone/js-sdk/packages/rest-api-client/lib/
node_modules/
-lib/
esm/
umd/
부디도 자기 책임입니다!
나도 정식 릴리스까지는, 제품 코드에는 사용하지 않으니까!
Reference
이 문제에 관하여(@kintone/rest-api-client를 GitHub에서 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/the_red/items/e5b368d701ca5462f43c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)