Skip to content

Commit 3504b02

Browse files
author
winjo
committed
feat: 打通 worker 插件
1 parent f59f90f commit 3504b02

80 files changed

Lines changed: 2892 additions & 1965 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,3 +94,5 @@ packages/*/types
9494

9595
packages/spacex/extensions
9696
packages/spacex/.kaitian
97+
98+
packages/toolkit/extensions

package.json

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,18 @@
77
"private": true,
88
"description": "Ant Codespaces for browser",
99
"main": "index.js",
10+
"engines": {
11+
"kaitian": "1.25.0"
12+
},
1013
"scripts": {
1114
"preinstall": "node scripts/preinstall",
1215
"ext": "node packages/spacex/bin/spacex ext",
1316
"build": "node scripts/build",
1417
"create": "node scripts/create",
1518
"format": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"",
16-
"start": "yarn workspace @alipay/spacex start"
19+
"start": "npm run dev",
20+
"dev": "yarn workspace @alipay/spacex-toolkit dev",
21+
"clean": "rimraf packages/*/lib"
1722
},
1823
"author": "antgroup",
1924
"license": "ISC",
@@ -39,13 +44,20 @@
3944
"publishConfig": {
4045
"registry": "https://registry.npm.alibaba-inc.com"
4146
},
47+
"repository": {
48+
"type": "git",
49+
"url": "git@code.alipay.com:cloud-ide/crew-dragon.git"
50+
},
4251
"devDependencies": {
52+
"@ali/ide-extension-installer": "^2.1.0",
53+
"@alipay/basement": "^3.5.0",
4354
"@commitlint/cli": "^11.0.0",
4455
"@commitlint/config-conventional": "^11.0.0",
4556
"@types/jest": "^26.0.15",
4657
"@types/node": "^14.14.6",
4758
"chalk": "^4.1.0",
4859
"execa": "^4.1.0",
60+
"fs-extra": "^9.0.1",
4961
"gulp": "^4.0.2",
5062
"husky": "^4.3.0",
5163
"jest": "^26.6.3",
@@ -54,7 +66,8 @@
5466
"prettier": "^2.1.2",
5567
"signale": "^1.4.0",
5668
"ts-node": "^9.0.0",
57-
"typescript": "^4.0.5"
69+
"typescript": "^4.0.5",
70+
"urllib": "^2.36.1"
5871
},
5972
"tnpm": {
6073
"mode": "yarn",
@@ -69,10 +82,22 @@
6982
{
7083
"publisher": "kaitian",
7184
"name": "vsicons-slim",
72-
"version": "1.0.4"
85+
"version": "1.0.5"
86+
},
87+
{
88+
"publisher": "kaitian-worker",
89+
"name": "html-language-features",
90+
"version": "1.0.0-beta-1"
91+
},
92+
{
93+
"publisher": "kaitian-worker",
94+
"name": "json-language-features",
95+
"version": "1.0.0"
96+
},
97+
{
98+
"publisher": "CodeX",
99+
"name": "json-language-features",
100+
"version": "1.0.0"
73101
}
74-
],
75-
"dependencies": {
76-
"object-assign": "^4.1.1"
77-
}
102+
]
78103
}

packages/cli/package.json

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,27 @@
44
"description": "@alipay/spacex-cli",
55
"main": "lib/commander.js",
66
"files": [
7-
"lib",
8-
"esm",
9-
"types"
7+
"lib"
108
],
11-
"repository": {
12-
"type": "git",
13-
"url": "git@code.alipay.com:winjo.gwj/SpaceX.git"
14-
},
159
"keywords": [
1610
"kaitian AntCodespaces"
1711
],
1812
"engines": {
19-
"kaitian": "1.25.0"
13+
"kaitian": "1.25.0",
14+
"node": ">=10.0.0"
2015
},
2116
"scripts": {},
2217
"publishConfig": {
2318
"registry": "https://registry.npm.alibaba-inc.com"
2419
},
2520
"dependencies": {
2621
"@ali/ide-extension-installer": "^2.0.0",
22+
"@ali/ide-kaitian-extension": "1.25.1",
2723
"@alipay/spacex-core": "0.0.1",
2824
"@alipay/spacex-shared": "0.0.1",
2925
"commander": "^6.2.0",
3026
"fs-extra": "^9.0.1",
27+
"lodash.pick": "^4.4.0",
3128
"rxjs": "^6.6.3",
3229
"semver": "^7.3.2",
3330
"signale": "^1.4.0"
@@ -39,6 +36,7 @@
3936
"devDependencies": {
4037
"@types/commander": "^2.12.2",
4138
"@types/fs-extra": "^9.0.4",
39+
"@types/lodash.pick": "^4.4.6",
4240
"@types/semver": "^7.3.4",
4341
"@types/signale": "^1.4.1"
4442
}

packages/cli/src/commander.ts

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,48 @@
11
import program from 'commander';
22
import { install, uninstall } from './extension';
3+
import { log } from './util/log';
34

45
program.version(`spacex ${require('../package').version}`).usage('<command> [options]');
56

67
const extensionProgram = program
78
.command('extension')
89
.alias('ext')
9-
.description('install/uninstall kaitian extension')
10-
.action(() => {
11-
install().catch((err) => console.error(err));
12-
});
13-
14-
extensionProgram
15-
.command('install')
16-
.alias('i')
1710
.description(
1811
`
19-
install kaitian extension, you should config in package.json firstly, example:
12+
install kaitian extensions, you should config in package.json firstly, example:
2013
{
2114
"kaitianExtensions": {
2215
"publisher": "kaitian",
2316
"name": "ide-dark-theme",
2417
"version": "2.0.0"
2518
}
2619
}
20+
version can be ignored, then will use latest version under current kaitian framework version
2721
`
2822
)
29-
.action(() => {
23+
.action((cmd, ...args) => {
24+
if (args.length) {
25+
log.warn(
26+
'You provided more than one argument. if you want to install extensions, you should use install command'
27+
);
28+
return;
29+
}
3030
install().catch((err) => console.error(err));
3131
});
3232

33+
extensionProgram
34+
.command('install <extensions...>')
35+
.alias('i')
36+
.description(
37+
'install single or multiple extension, eg. kaitian.ide-dark-theme, kaitian.ide-dark-theme@2.0.0'
38+
)
39+
.action((extensions: string[]) => {
40+
install(extensions).catch((err) => console.error(err));
41+
});
42+
3343
extensionProgram
3444
.command('uninstall <extensions...>')
35-
.description('uninstall kaitian extensions')
45+
.description('uninstall single or multiple extension, eg. kaitian.ide-dark-theme')
3646
.action((extensions) => {
3747
uninstall(extensions).catch((err) => console.error(err));
3848
});

0 commit comments

Comments
 (0)