Skip to content

Commit b1d0db0

Browse files
committed
fixed bug that was preventing extension activation in production. fixed bug with script paths
1 parent 6515d0a commit b1d0db0

File tree

5 files changed

+54
-59
lines changed

5 files changed

+54
-59
lines changed

.vscodeignore

+1
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ vsc-extension-quickstart.md
99
**/.eslintrc.json
1010
**/*.map
1111
**/*.ts
12+
types/**

package-lock.json

+11-30
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+11-5
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,23 @@
22
"name": "vscode-swissknife",
33
"displayName": "Swissknife",
44
"description": "Scriptable extension to generate or manipulate data. Stop pasting sensitive data in webpages.",
5-
"version": "0.0.1",
5+
"version": "0.0.2",
66
"author": "luisfontes19",
77
"publisher": "luisfontes19",
88
"license": "MIT",
99
"engines": {
1010
"vscode": "^1.50.0"
1111
},
12+
"repository": {
13+
"url": "https://github.com/luisfontes19/vscode-swissknife"
14+
},
1215
"categories": [
1316
"Other"
1417
],
1518
"activationEvents": [
16-
"onStartupFinished"
19+
"onCommand:swissknife.show",
20+
"onCommand:swissknife.reload",
21+
"onCommand:swissknife.openScripts"
1722
],
1823
"main": "./out/extension.js",
1924
"contributes": {
@@ -27,7 +32,7 @@
2732
"title": "Reload Swissknife scripts"
2833
},
2934
{
30-
"command": "swissknife.openScript",
35+
"command": "swissknife.openScripts",
3136
"title": "Open Swissknife user scripts folder"
3237
}
3338
],
@@ -42,6 +47,7 @@
4247
},
4348
"scripts": {
4449
"vscode:prepublish": "npm run compile",
50+
"vscode:package": "vsce package",
4551
"compile": "tsc -p ./",
4652
"lint": "eslint src --ext ts",
4753
"watch": "tsc -watch -p ./",
@@ -59,13 +65,13 @@
5965
"@typescript-eslint/eslint-plugin": "^4.1.1",
6066
"@typescript-eslint/parser": "^4.1.1",
6167
"eslint": "^7.9.0",
62-
"glob": "^7.1.6",
6368
"mocha": "^8.1.3",
6469
"typescript": "^4.0.2",
6570
"vscode-test": "^1.4.0"
6671
},
6772
"dependencies": {
6873
"@types/bip39": "^3.0.0",
74+
"glob": "^7.1.6",
6975
"showdown": "^1.9.1",
7076
"uuid": "^8.3.1",
7177
"vscode-swissknife": "^0.0.2",
@@ -83,4 +89,4 @@
8389
"developer"
8490
],
8591
"icon": "data/swissknife.png"
86-
}
92+
}

src/extension.ts

+29-22
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,50 @@
1-
import * as vscode from 'vscode';
1+
import * as fs from 'fs';
22
import * as glob from 'glob';
33
import * as path from 'path';
4-
import * as fs from 'fs';
5-
import { replaceRoutine, informationRoutine, insertRoutine } from './editorOperations';
4+
import * as vscode from 'vscode';
5+
import { informationRoutine, insertRoutine, replaceRoutine } from './editorOperations';
66
import { IScript, IScriptQuickPickItem, ISwissKnifeContext } from './Interfaces';
77

88

99
let scripts: IScriptQuickPickItem[] = [];
1010
let context: vscode.ExtensionContext;
11+
12+
let extensionFolder: string;
1113
let userScriptsFolder: string;
1214

1315

16+
17+
const show = () => {
18+
vscode.window.showQuickPick<IScriptQuickPickItem>(scripts).then((selectedItem: IScriptQuickPickItem | undefined) => {
19+
if (selectedItem)
20+
selectedItem.cb(extensionContext);
21+
});
22+
};
23+
24+
1425
export function activate(ctx: vscode.ExtensionContext) {
1526
context = ctx;
1627

17-
userScriptsFolder = path.join(ctx.globalStorageUri.fsPath, "scripts");
28+
const cmdShow = vscode.commands.registerCommand('swissknife.show', show);
29+
const cmdReload = vscode.commands.registerCommand('swissknife.reload', reload);
30+
const cmdOpen = vscode.commands.registerCommand('swissknife.openScripts', openUserScriptsFolder);
31+
32+
extensionFolder = ctx.globalStorageUri.fsPath;
33+
userScriptsFolder = path.join(extensionFolder, "scripts");
1834
checkUserScriptsFolder();
1935

2036
loadScripts();
21-
vscode.commands.registerCommand('swissknife.show', show);
22-
vscode.commands.registerCommand('swissknife.reload', reload);
23-
vscode.commands.registerCommand('swissknife.openScript', openUserScriptsFolder);
2437

38+
ctx.subscriptions.push(cmdShow);
39+
ctx.subscriptions.push(cmdReload);
40+
ctx.subscriptions.push(cmdOpen);
2541
}
2642

2743

2844
const reload = () => {
2945
loadScripts(true);
3046
};
3147

32-
const show = () => {
33-
vscode.window.showQuickPick<IScriptQuickPickItem>(scripts).then((selectedItem: IScriptQuickPickItem | undefined) => {
34-
if (selectedItem)
35-
selectedItem.cb(extensionContext);
36-
});
37-
};
38-
3948
const openUserScriptsFolder = () => {
4049
vscode.env.openExternal(vscode.Uri.file(userScriptsFolder));
4150
};
@@ -58,6 +67,7 @@ const loadScripts = (clearCache = false) => {
5867

5968
const loadScriptsAt = (path: string, clearCache: boolean) => {
6069
const promises: NodeRequire[] = [];
70+
6171
const matches = glob.sync(path);
6272
matches.forEach(m => {
6373
console.log("Queueing script " + m);
@@ -70,6 +80,7 @@ const loadScriptsAt = (path: string, clearCache: boolean) => {
7080
});
7181

7282
Promise.all(promises).then(modules => {
83+
7384
modules.forEach((m: any) => {
7485
if (!m.default) return; //not compliant
7586

@@ -83,14 +94,10 @@ const loadScriptsAt = (path: string, clearCache: boolean) => {
8394

8495

8596
const checkUserScriptsFolder = () => {
86-
return new Promise((resolve, reject) => {
87-
if (!fs.existsSync(userScriptsFolder))
88-
return fs.mkdir(userScriptsFolder, (err) => {
89-
if (err) reject(err);
90-
else resolve();
91-
});
92-
});
93-
97+
if (!fs.existsSync(extensionFolder))
98+
fs.mkdirSync(extensionFolder);
99+
if (!fs.existsSync(userScriptsFolder))
100+
fs.mkdirSync(userScriptsFolder);
94101
};
95102

96103
// this method is called when your extension is deactivated

tsconfig.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"compilerOptions": {
33
"module": "commonjs",
4-
"target": "es6",
4+
"target": "es2019",
55
"outDir": "out",
66
"lib": [
7-
"es6"
7+
"es2019"
88
],
99
"sourceMap": true,
1010
"rootDir": "src",

0 commit comments

Comments
 (0)