542 lines
14 KiB
JSON
542 lines
14 KiB
JSON
{
|
|
"name": "kendryte-extension",
|
|
"displayName": "Kendryte Dev Tools",
|
|
"description": "A develop tool for kendryte chip.",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/kendryte/Kendryte-dev-extension.git"
|
|
},
|
|
"icon": "resources/kendryte.png",
|
|
"license": "SEE LICENSE IN LICENSE",
|
|
"keywords": [
|
|
"Risc-v",
|
|
"riscv",
|
|
"kendryte",
|
|
"k210",
|
|
"canaan"
|
|
],
|
|
"publisher": "Kendryte",
|
|
"version": "0.3.1",
|
|
"engines": {
|
|
"vscode": "^1.45.1"
|
|
},
|
|
"categories": [
|
|
"Debuggers",
|
|
"Extension Packs",
|
|
"Other"
|
|
],
|
|
"activationEvents": [
|
|
"*"
|
|
],
|
|
"main": "./build/extension.js",
|
|
"contributes": {
|
|
"jsonValidation": [
|
|
{
|
|
"fileMatch": "kendryte-package.json",
|
|
"url": "./resources/schema.json"
|
|
}
|
|
],
|
|
"extensionPack": [
|
|
"ms-vscode.cpptools"
|
|
],
|
|
"configuration": [
|
|
{
|
|
"title": "k210-openocd",
|
|
"properties": {
|
|
"openocd.useKey": {
|
|
"type": "string",
|
|
"enum": [
|
|
"JTag",
|
|
"FTDI"
|
|
],
|
|
"default": "JTag",
|
|
"description": "Select how openocd is configured.",
|
|
"enumDescriptions": [
|
|
"Use JTag interface",
|
|
"Use FTDI interface"
|
|
]
|
|
},
|
|
"openocd.port": {
|
|
"type": "number",
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"maximum": 65535,
|
|
"description": "Openocd listen port, 0 means auto select"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"title": "k210-JLink",
|
|
"properties": {
|
|
"JTag.ID": {
|
|
"type": "number",
|
|
"default": 0,
|
|
"description": "Serial number of JLink device, 0 means use first available"
|
|
},
|
|
"JTag.speed": {
|
|
"type": "number",
|
|
"default": 3000,
|
|
"description": "khz"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"title": "k210-FTDI",
|
|
"properties": {
|
|
"FTDI.speed": {
|
|
"type": "number",
|
|
"default": 2500,
|
|
"description": "khz"
|
|
},
|
|
"FTDI.vid_pid": {
|
|
"type": "string",
|
|
"default": "0403 6014",
|
|
"description": "FTDI USB device VID PID value (two HEX string, eg: \"1b2b 3c4d\")"
|
|
},
|
|
"FTDI.layout": {
|
|
"type": "string",
|
|
"default": "00e8 00eb",
|
|
"description": "Layout init value (two HEX string, eg: \"1b2b 3c4d\")"
|
|
},
|
|
"FTDI.tdo-fe": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "ftdi_tdo_sample_edge_value"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"commands": [
|
|
{
|
|
"command": "extension.reinstallPackages",
|
|
"title": "Reinstall Packages",
|
|
"category": "K210-Dev-Extension"
|
|
},
|
|
{
|
|
"command": "extension.build",
|
|
"title": "Build",
|
|
"category": "K210-Dev-Extension"
|
|
},
|
|
{
|
|
"command": "extension.createHelloworld",
|
|
"title": "Create Helloworld Project",
|
|
"category": "K210-Dev-Extension"
|
|
},
|
|
{
|
|
"command": "extension.buildAndUpload",
|
|
"title": "Build and upload",
|
|
"category": "K210-Dev-Extension"
|
|
},
|
|
{
|
|
"command": "extension.debug",
|
|
"title": "Debug",
|
|
"category": "K210-Dev-Extension"
|
|
},
|
|
{
|
|
"command": "extension.configGenerate",
|
|
"title": "Config generate",
|
|
"category": "K210-Dev-Extension"
|
|
},
|
|
{
|
|
"command": "extension.openocd.start",
|
|
"title": "Start Openocd",
|
|
"category": "Openocd"
|
|
},
|
|
{
|
|
"command": "extension.openocd.stop",
|
|
"title": "Stop Openocd",
|
|
"category": "Openocd"
|
|
},
|
|
{
|
|
"command": "extension.openocd.restart",
|
|
"title": "Restart Openocd",
|
|
"category": "Openocd"
|
|
},
|
|
{
|
|
"command": "extension.cmakelistGenerate",
|
|
"title": "Generate CMakeLists",
|
|
"category": "K210-Dev-Extension"
|
|
},
|
|
{
|
|
"command": "extension.pickDevice",
|
|
"title": "Pick Device",
|
|
"category": "K210-Dev-Extension"
|
|
},
|
|
{
|
|
"command": "packageDependencies.refresh",
|
|
"title": "Refresh dependencies",
|
|
"icon": {
|
|
"dark": "resources/dark/refresh.svg",
|
|
"light": "resources/light/refresh.svg"
|
|
}
|
|
},
|
|
{
|
|
"command": "packageDependencies.download",
|
|
"title": "Download Packages",
|
|
"icon": {
|
|
"dark": "resources/dark/download.svg",
|
|
"light": "resources/light/download.svg"
|
|
}
|
|
},
|
|
{
|
|
"command": "packageDependencies.createWebview",
|
|
"title": "Download Packages",
|
|
"icon": {
|
|
"dark": "resources/dark/explore.svg",
|
|
"light": "resources/light/explore.svg"
|
|
}
|
|
},
|
|
{
|
|
"command": "packageDependencies.delete",
|
|
"title": "Download Packages",
|
|
"icon": {
|
|
"dark": "resources/dark/delete.svg",
|
|
"light": "resources/light/delete.svg"
|
|
}
|
|
},
|
|
{
|
|
"command": "extension.addDependency",
|
|
"title": "Add Package",
|
|
"category": "K210-Dev-Extension"
|
|
},
|
|
{
|
|
"command": "extension.openSerialPort",
|
|
"title": "Open serial port output channel",
|
|
"category": "K210-Dev-Extension"
|
|
}
|
|
],
|
|
"viewsContainers": {
|
|
"activitybar": [
|
|
{
|
|
"id": "package-explorer",
|
|
"title": "Package Explorer",
|
|
"icon": "resources/dark/core.svg"
|
|
}
|
|
]
|
|
},
|
|
"views": {
|
|
"package-explorer": [
|
|
{
|
|
"id": "packageDependencies",
|
|
"name": "Dependencies"
|
|
}
|
|
]
|
|
},
|
|
"menus": {
|
|
"view/title": [
|
|
{
|
|
"command": "packageDependencies.createWebview",
|
|
"when": "view == packageDependencies",
|
|
"group": "navigation@3"
|
|
},
|
|
{
|
|
"command": "packageDependencies.download",
|
|
"when": "view == packageDependencies",
|
|
"group": "navigation@2"
|
|
},
|
|
{
|
|
"command": "packageDependencies.refresh",
|
|
"when": "view == packageDependencies",
|
|
"group": "navigation@1"
|
|
}
|
|
],
|
|
"view/item/context": [
|
|
{
|
|
"command": "packageDependencies.delete",
|
|
"when": "view == packageDependencies",
|
|
"group": "inline"
|
|
}
|
|
]
|
|
},
|
|
"breakpoints": [
|
|
{
|
|
"language": "c"
|
|
},
|
|
{
|
|
"language": "cpp"
|
|
},
|
|
{
|
|
"language": "asm"
|
|
}
|
|
],
|
|
"debuggers": [
|
|
{
|
|
"type": "kendryte",
|
|
"program": "./build/debugadapter.js",
|
|
"runtime": "node",
|
|
"label": "Kendryte",
|
|
"configurationAttributes": {
|
|
"launch": {
|
|
"required": [
|
|
"target"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "ID of this config"
|
|
},
|
|
"executable": {
|
|
"type": "string",
|
|
"description": "Path of executable"
|
|
},
|
|
"target": {
|
|
"type": "string",
|
|
"description": "openocd server ip port"
|
|
},
|
|
"gdbpath": {
|
|
"type": "string",
|
|
"description": "gdb working directory"
|
|
},
|
|
"cwd": {
|
|
"type": "string",
|
|
"description": "gdb working directory"
|
|
},
|
|
"debuggerArgs": {
|
|
"type": "array",
|
|
"description": "Additional arguments to pass to GDB",
|
|
"default": []
|
|
},
|
|
"autorun": {
|
|
"type": "array",
|
|
"description": "GDB commands to run when starting to debug",
|
|
"default": []
|
|
},
|
|
"env": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"initialConfigurations": [
|
|
{
|
|
"id": "kendryte",
|
|
"name": "Kendryte Debug",
|
|
"type": "kendryte",
|
|
"cwd": "${workspaceRoot}/build"
|
|
}
|
|
],
|
|
"configurationSnippets": [
|
|
{
|
|
"label": "Kendryte: Debug Program",
|
|
"description": "Debug program with OpenOCD",
|
|
"body": {
|
|
"type": "kendryte",
|
|
"name": "${2:Kendryte Debug}",
|
|
"target": "${1:DefaultProjectName}",
|
|
"cwd": "^\"\\${workspaceRoot}/build\""
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"scripts": {
|
|
"postinstall": "./node_modules/.bin/electron-rebuild --version 7.0.0",
|
|
"vscode:prepublish": "webpack --mode production && node scripts/build.js",
|
|
"compile": "tsc -p src/tsconfig.json",
|
|
"test": "node ./build/test/runTest.js",
|
|
"dev": "tsc -watch -p src/tsconfig.json",
|
|
"build": "node scripts/build.js",
|
|
"watch": "node scripts/start.js",
|
|
"webpack-dev": "webpack --mode development --watch"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.6.0",
|
|
"@types/adm-zip": "^0.4.32",
|
|
"@types/chmodr": "^1.0.0",
|
|
"@types/glob": "^7.1.1",
|
|
"@types/jest": "^24.0.19",
|
|
"@types/jszip": "^3.1.6",
|
|
"@types/lodash": "^4.14.144",
|
|
"@types/mocha": "^5.2.6",
|
|
"@types/module-alias": "^2.0.0",
|
|
"@types/node": "^10.12.21",
|
|
"@types/node-7z": "^0.4.2",
|
|
"@types/react": "^16.9.7",
|
|
"@types/react-dom": "^16.9.2",
|
|
"@types/react-router-dom": "^5.1.0",
|
|
"@types/serialport": "^8.0.0",
|
|
"@types/split2": "^2.1.6",
|
|
"@types/vscode": "^1.45.1",
|
|
"@typescript-eslint/eslint-plugin": "^2.7.0",
|
|
"@typescript-eslint/parser": "^2.7.0",
|
|
"autoprefixer": "^7.1.6",
|
|
"babel-eslint": "^10.0.3",
|
|
"babel-jest": "^24.9.0",
|
|
"babel-loader": "^8.0.6",
|
|
"babel-plugin-named-asset-import": "^0.3.4",
|
|
"babel-preset-react-app": "^9.0.2",
|
|
"case-sensitive-paths-webpack-plugin": "^2.2.0",
|
|
"css-loader": "^2.1.1",
|
|
"electron-rebuild": "^1.10.1",
|
|
"eslint": "^6.5.1",
|
|
"eslint-config-react-app": "^5.0.2",
|
|
"eslint-loader": "^3.0.2",
|
|
"eslint-plugin-flowtype": "^3.13.0",
|
|
"eslint-plugin-import": "^2.18.2",
|
|
"eslint-plugin-jsx-a11y": "^6.2.3",
|
|
"eslint-plugin-react": "^7.14.3",
|
|
"eslint-plugin-react-hooks": "^1.7.0",
|
|
"extract-text-webpack-plugin": "^3.0.2",
|
|
"fork-ts-checker-webpack-plugin": "^0.2.10",
|
|
"glob": "^7.1.4",
|
|
"jest": "^24.9.0",
|
|
"jest-environment-jsdom-fourteen": "^0.1.0",
|
|
"jest-resolve": "^24.9.0",
|
|
"jest-watch-typeahead": "^0.4.0",
|
|
"mocha": "^6.1.4",
|
|
"module-alias": "^2.2.2",
|
|
"node-sass": "^4.13.0",
|
|
"rewire": "^4.0.1",
|
|
"sass-loader": "^7.2.0",
|
|
"terser-webpack-plugin": "^1.4.1",
|
|
"ts-jest": "^22.0.1",
|
|
"ts-loader": "^6.0.0",
|
|
"tsconfig-paths-webpack-plugin": "^2.0.0",
|
|
"tslint": "^5.20.0",
|
|
"tslint-config-prettier": "^1.18.0",
|
|
"tslint-react": "^3.6.0",
|
|
"typescript": "^3.4.3",
|
|
"uglifyjs-webpack-plugin": "^1.2.5",
|
|
"vscode-test": "^1.0.0-next.0",
|
|
"webpack": "^4.41.0",
|
|
"webpack-cli": "^3.3.10",
|
|
"webpack-dev-server": "^3.2.1",
|
|
"webpack-manifest-plugin": "^2.1.1",
|
|
"workbox-webpack-plugin": "^4.3.1"
|
|
},
|
|
"dependencies": {
|
|
"7zip-bin": "^5.0.3",
|
|
"7zip-bin-wrapper": "^1.0.10",
|
|
"@serialport/binding-mock": "^8.0.6",
|
|
"@serialport/bindings": "^8.0.7",
|
|
"@svgr/webpack": "4.3.2",
|
|
"adm-zip": "^0.4.13",
|
|
"axios": "^0.19.0",
|
|
"camelcase": "^5.2.0",
|
|
"chalk": "1.1.3",
|
|
"chmodr": "^1.2.0",
|
|
"dotenv": "6.2.0",
|
|
"dotenv-expand": "5.1.0",
|
|
"fast-glob": "^3.1.0",
|
|
"file-loader": "3.0.1",
|
|
"fs-extra": "7.0.1",
|
|
"html-webpack-plugin": "4.0.0-beta.5",
|
|
"identity-obj-proxy": "3.0.0",
|
|
"is-wsl": "^1.1.0",
|
|
"jszip": "^3.2.2",
|
|
"lodash": "^4.17.15",
|
|
"mini-css-extract-plugin": "0.8.0",
|
|
"node-7z": "^1.1.1",
|
|
"node-gyp": "^6.0.1",
|
|
"object-assign": "4.1.1",
|
|
"optimize-css-assets-webpack-plugin": "5.0.3",
|
|
"original-fs": "^1.1.0",
|
|
"pnp-webpack-plugin": "1.5.0",
|
|
"postcss-flexbugs-fixes": "4.1.0",
|
|
"postcss-loader": "3.0.0",
|
|
"postcss-normalize": "7.0.1",
|
|
"postcss-preset-env": "6.7.0",
|
|
"postcss-safe-parser": "4.0.1",
|
|
"promise": "8.0.1",
|
|
"raf": "3.4.0",
|
|
"react": "^16.10.2",
|
|
"react-app-polyfill": "^1.0.4",
|
|
"react-dev-utils": "^9.1.0",
|
|
"react-dom": "^16.10.2",
|
|
"react-router-dom": "^5.1.2",
|
|
"resolve": "1.12.0",
|
|
"resolve-url-loader": "3.1.0",
|
|
"semver": "6.3.0",
|
|
"serialport": "^8.0.7",
|
|
"source-map-loader": "^0.2.1",
|
|
"style-loader": "1.0.0",
|
|
"sudo-prompt": "^9.1.1",
|
|
"sw-precache-webpack-plugin": "0.11.4",
|
|
"ts-pnp": "1.1.4",
|
|
"url-loader": "2.1.0",
|
|
"vscode-debugadapter": "^1.35.0",
|
|
"vscode-debugprotocol": "^1.35.0",
|
|
"vscode-nls": "^4.1.1",
|
|
"whatwg-fetch": "2.0.3"
|
|
},
|
|
"_moduleAliases": {
|
|
"@command/*": "./src/command",
|
|
"@utils/*": "./src/utils",
|
|
"@debug/*": "./src/debug",
|
|
"@service/*": "./src/service",
|
|
"@common/*": "./src/common"
|
|
},
|
|
"babel": {
|
|
"presets": [
|
|
"react-app"
|
|
]
|
|
},
|
|
"jest": {
|
|
"roots": [
|
|
"<rootDir>/src"
|
|
],
|
|
"collectCoverageFrom": [
|
|
"src/**/*.{js,jsx,ts,tsx}",
|
|
"!src/**/*.d.ts"
|
|
],
|
|
"setupFiles": [
|
|
"react-app-polyfill/jsdom"
|
|
],
|
|
"setupFilesAfterEnv": [],
|
|
"testMatch": [
|
|
"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
|
|
"<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
|
|
],
|
|
"testEnvironment": "jest-environment-jsdom-fourteen",
|
|
"transform": {
|
|
"^.+\\.(js|jsx|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
|
|
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
|
|
"^(?!.*\\.(js|jsx|ts|tsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
|
|
},
|
|
"transformIgnorePatterns": [
|
|
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$",
|
|
"^.+\\.module\\.(css|sass|scss)$"
|
|
],
|
|
"modulePaths": [],
|
|
"moduleNameMapper": {
|
|
"^react-native$": "react-native-web",
|
|
"^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
|
|
},
|
|
"moduleFileExtensions": [
|
|
"web.js",
|
|
"js",
|
|
"web.ts",
|
|
"ts",
|
|
"web.tsx",
|
|
"tsx",
|
|
"json",
|
|
"web.jsx",
|
|
"jsx",
|
|
"node"
|
|
],
|
|
"watchPlugins": [
|
|
"jest-watch-typeahead/filename",
|
|
"jest-watch-typeahead/testname"
|
|
]
|
|
},
|
|
"eslintConfig": {
|
|
"extends": "react-app"
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.2%",
|
|
"not dead",
|
|
"not op_mini all"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
},
|
|
"resolutions": {
|
|
"serialport": "^8.0.7"
|
|
}
|
|
}
|