Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
kintone CLI for development & deployment, with Developer Experience.
Enjoy type-safe and repository-centric development!
This is an unstable pre-release
kdx/helpers
library codes.npm install -g kdx
# clone a template
git clone https://github.com/shellyln/kdx-project-template.git MyProject
cd MyProject
rm -rf .git/
git init
npm install
# configure
vi .env
vi meta/meta-info.json
# first pull and push
kdx pull MyApp1
npm run build
kdx push MyApp1 --force
# debug app
npm run serve:MyApp1
# first commit
git add .
git commit -m "initial commit"
See also: https://github.com/shellyln/kdx-project-template
kdx - kintone CLI for development & deployment, with Developer Experience
kdx <Subcommand> <AppName> [--force]
kdx <Subcommand> --all [--force]
kdx switch <profile>
Subcommands:
compile-schema : Generate definition and validation codes from schema/*.tss info.
gen-schema : Generate definition and validation codes from meta/**/*.json info.
fetch : Fetch from kintone, but no code generation is performed.
push : Push to kintone.
pull : Pull from kintone, and perform code generation.
switch : Switch target profile (e.g. development, staging, production).
Update .env and re-generate AppID enum.
help : Show this help.
kdx pull <AppName>
kdx pull --all
kdx push <AppName>
kdx pull --all
kdx push <AppName> --force
Similar to pull
, but no code generation is performed.
kdx fetch <AppName>
kdx fetch --all
meta/**/*.json
infokdx gen-schema <AppName>
kdx gen-schema --all
schema/*.tss
infoSimilar to gen-schema
, but it uses pre-generated schema/*.tss
.
kdx compile-schema <AppName>
kdx compile-schema --all
kdx switch <ProfileName>
TARGET = development
KINTONE_URL_development = https://XXXXXXXX.cybozu.com
KINTONE_USERNAME_development = XXXXXXXXXXXXXXXXXXXXXXXXXX
KINTONE_PASSWORD_development = XXXXXXXXXXXXXXXXXXXXXXXXXX
KINTONE_URL_staging = https://XXXXXXXX.cybozu.com
KINTONE_USERNAME_staging = XXXXXXXXXXXXXXXXXXXXXXXXXX
KINTONE_PASSWORD_staging = XXXXXXXXXXXXXXXXXXXXXXXXXX
KINTONE_URL_production = https://XXXXXXXX.cybozu.com
KINTONE_USERNAME_production = XXXXXXXXXXXXXXXXXXXXXXXXXX
KINTONE_PASSWORD_production = XXXXXXXXXXXXXXXXXXXXXXXXXX
{
"apps": {
"foo": { // <- App name
"development": { // <- Target profile
"appId": 38, // <- App id
"preview": false
},
"staging": {
"appId": 22,
"guestSpaceId": 10,
"preview": false
},
"production": {
"appId": 43,
"guestSpaceId": 10,
"preview": true
}
},
"bar": {
"development": {
"appId": 44,
"guestSpaceId": 5,
"preview": false
},
"staging": {
"appId": 22,
"guestSpaceId": 10,
"preview": false
},
"production": {
"appId": 43,
"guestSpaceId": 10,
"preview": true
}
}
}
}
views.json
will re-generate from this file.{
"Qwerty": { // <- View name
"view": {
"type": "CUSTOM",
"filterCond": "",
"sort": "Record_number desc",
"index": "0",
"html": "<div>Hello, World!</div>",
"pager": true,
"device": "ANY"
},
"development": { // <- Target profile
"id": "5123450",
"name": "View 1"
},
"staging": {
"id": "5123451",
"name": "View 1"
},
"production": {
"id": "5123452",
"name": "View 1"
}
},
"5123456": {
"view": {
"type": "LIST",
"filterCond": "",
"sort": "Record_number desc",
"index": "1",
"fields": [
"Record_number",
"Text",
"Created_by",
"Created_datetime"
]
},
"development": {
"id": "5123456",
"name": "View 2"
}
},
"5123457": {
"view": {
"type": "LIST",
"filterCond": "",
"sort": "Record_number desc",
"index": "2",
"fields": [
"Record_number",
"Text",
"Created_by",
"Created_datetime"
]
},
"development": {
"id": "5123457",
"name": "View 3"
}
},
"5123458": {
"view": {
"type": "CALENDAR",
"filterCond": "",
"sort": "Record_number desc",
"index": "3",
"date": "Updated_datetime",
"title": "Text"
},
"development": {
"id": "5123458",
"name": "View 4"
}
}
}
customize.json
will re-generate from this file.{
"js": [
{
"name": "react.production.min.js",
"target": ["desktop", "mobile"],
"file": "https://cdnjs.cloudflare.com/ajax/libs/react/16.13.0/cjs/react.production.min.js"
},
{
"name": "bbb.js",
"target": ["desktop", "mobile"],
"file": {
"development": "https://localhost:8034/index.js", // URL
"staging": "project:bin/apps/foo/index.js", // Upload the project local file
"production": "project:bin/apps/foo/index.js"
}
},
{
"name": "ddd.js",
"target": ["desktop", "mobile"],
"file": {
"development": "filekey:2020XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", // Keep the file uploaded by Web Settings console
"staging": "project:bin/apps/foo/ddd.js",
"production": "project:bin/apps/foo/ddd.js"
}
}
],
"css": [
{
"name": "aaa.css",
"target": ["desktop", "mobile"],
"file": "project:static-resources/aaa.css"
},
{
"name": "ccc.css",
"target": ["desktop", "mobile"],
"file": {
"development": "https://localhost:8034/index.css",
"staging": "project:bin/apps/foo/index.css",
"production": "project:bin/apps/foo/index.css"
}
}
]
}
MIT
Copyright (c) 2020 Shellyl_N and Authors
FAQs
kintone CLI for development & deployment, with Developer Experience
We found that kdx demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.