Generate type definitions compatible with @kintone/rest-api-client
- Node.js (>=12)
# Install
npm install -g kintone-form-model-generator
# npx
npx kintone-form-model-generator
# Generate all models
kintone-form-model-generator generate
# Specify app ids (or -a option)
kintone-form-model-generator generate --app-ids=1,5,10
By default, files are generated in the out/
directory.
import { ID, Revision } from "@kintone/rest-api-client/lib/KintoneFields/types/field";
export interface KintoneApp1Record {
/**
* ID
* @type ID
*/
"$id": ID;
/**
* Revision
* @type Revision
*/
"$revision": Revision;
/**
* チェックボックス
* CHECK_BOX
* @type CheckBox
*/
"チェックボックス": CheckBox;
/**
* テーブル
* @type Subtable
*/
"テーブル": Subtable<{
/**
* 文字列 (1行)
* 文字列__1行__Table
* SINGLE_LINE_TEXT
* @type SingleLineText
*/
"文字列__1行__Table": SingleLineText;
}>;
}
export type KintoneApp54RecordForParameter = KintoneApp54RecordForParameterStrict & ForParameterLax;
export type ForParameterLax = {
[fieldCode: string]: {
value: unknown;
};
};
export interface KintoneApp54RecordForParameterStrict {
/**
* チェックボックス
* CHECK_BOX
* @type Object
*/
"チェックボックス"?: {
value: string[];
};
/**
* テーブル
* SUBTABLE
* @type Object
*/
"テーブル"?: {
value: {
/**
* id
* @type string
*/
id: string;
value: {
/**
* 文字列 (1行)
* 文字列__1行__Table
* SINGLE_LINE_TEXT
* @type SingleLineText
*/
"文字列__1行__Table"?: {
value: string;
};
};
}[];
};
}
Specify secrets in the environment variables.
Name | Description |
---|---|
KINTONE_BASE_URL | URL for kintone (ex. https://your-domain.cybozu.com ) |
KINTONE_USERNAME | Kintone username |
KINTONE_PASSWORD | Kintone apssword |
Specify detailed behavior by --config
or -c
option. (Must be utf-8
encoded JSON file.)
kintone-form-model-generator generate --config=config.json
Name | Type | Default | Description |
---|---|---|---|
outDir | string | out/ |
Output directory |
modelNaming | string | appId |
appId or appCode |
modelNameMapping | Record<string, string> | {} | A dictionary object with a model name using appId as a key. |
modelNamePrefix | string | Kintone |
Model name prefix |
modelNameSuffix | string | Record |
Model name suffix |
modelNamingDuplicationStrategy | string | error |
error or skip or uniquifyWithAppId |
ignoreAppIds | Array | [] | ignore app id list |
Example:
{
"outDir": "dist/",
"modelNameMapping": {
"1": "Customer",
"3": "Sales"
},
"modelNamePrefix": "My",
"modelNameSuffix": "Record",
"ignoreAppIds": ["2"]
}
Specify the connection to Kintone API with --kintone-config
or -k
option. (Must be utf-8
encoded JSON file.)
See more details in @kintone/rest-api-client repository.
kintone-form-model-generator generate --kintone-config=kintone-config.json
Example:
{
"baseUrl": "https://your-domain.cybozu.com",
"auth": {
"apiToken": "your-api-token"
}
}