Repository navigation
Expand file tree
/
Copy pathpackage.json
More file actions
253 lines (253 loc) · 8.33 KB
/
Copy pathpackage.json
File metadata and controls
253 lines (253 loc) · 8.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
{
"name": "list-to-csv",
"displayName": "Data Toolkit for Developers",
"description": "Convert lists, generate SQL, compare columns, count values, deduplicate, and build Excel formulas — built for data engineers.",
"publisher": "sid-dev",
"icon": "images/icon.png",
"version": "1.2.0",
"license": "MIT",
"engines": {
"vscode": "^1.101.0"
},
"categories": [
"Other",
"Formatters"
],
"activationEvents": [],
"main": "./dist/extension.js",
"galleryBanner": {
"color": "#89cdd3"
},
"pricing": "Free",
"contributes": {
"commands": [
{
"command": "list-to-csv.openWebview",
"title": "Data Toolkit: Open Toolkit",
"category": "Data Toolkit"
},
{
"command": "list-to-csv.transform",
"title": "Data Toolkit: Transform Selection…",
"category": "Data Toolkit"
},
{
"command": "list-to-csv.convert",
"title": "Data Toolkit: Convert to CSV Format",
"category": "Data Toolkit"
},
{
"command": "list-to-csv.convertToCommaLine",
"title": "Data Toolkit: Convert to Comma Separated Line",
"category": "Data Toolkit"
},
{
"command": "list-to-csv.generateSQLTable",
"title": "Data Toolkit: Generate SQL Table from Selection",
"category": "Data Toolkit"
},
{
"command": "list-to-csv.countValues",
"title": "Data Toolkit: Count Value Occurrences (GROUP BY)",
"category": "Data Toolkit"
},
{
"command": "list-to-csv.removeDuplicates",
"title": "Data Toolkit: Remove Duplicate Lines",
"category": "Data Toolkit"
},
{
"command": "list-to-csv.compareColumns",
"title": "Data Toolkit: Compare Two Columns",
"category": "Data Toolkit"
},
{
"command": "list-to-csv.lastUsedConfigurations",
"title": "Data Toolkit: Repeat Last Conversion",
"category": "Data Toolkit"
},
{
"command": "list-to-csv.openSettings",
"title": "Data Toolkit: Open Extension Settings",
"category": "Data Toolkit"
}
],
"menus": {
"editor/context": [
{
"command": "list-to-csv.openWebview",
"when": "editorHasSelection",
"group": "list-to-csv@1"
},
{
"submenu": "list-to-csv.submenu",
"when": "editorHasSelection",
"group": "list-to-csv@2"
}
],
"list-to-csv.submenu": [
{
"command": "list-to-csv.transform",
"group": "0_transform@1"
},
{
"command": "list-to-csv.convert",
"group": "1_convert@1"
},
{
"command": "list-to-csv.convertToCommaLine",
"group": "1_convert@2"
},
{
"command": "list-to-csv.generateSQLTable",
"group": "1_convert@3"
},
{
"command": "list-to-csv.countValues",
"group": "2_analyze@1"
},
{
"command": "list-to-csv.removeDuplicates",
"group": "2_analyze@2"
},
{
"command": "list-to-csv.compareColumns",
"group": "2_analyze@3"
}
]
},
"submenus": [
{
"id": "list-to-csv.submenu",
"label": "Data Toolkit"
}
],
"configuration": {
"title": "Data Toolkit for Developers",
"properties": {
"list-to-csv.delimiter": {
"type": "string",
"default": ",",
"description": "Character used to separate fields. Applies to the 'Convert to CSV Format' command."
},
"list-to-csv.includeHeaders": {
"type": "boolean",
"default": true,
"description": "Add a generated 'Column 1, Column 2, ...' header row. Applies to the 'Convert to CSV Format' command."
},
"list-to-csv.quoteAllFields": {
"type": "boolean",
"default": false,
"description": "Quote every field, not just those containing the delimiter, quotes or newlines. Applies to the 'Convert to CSV Format' command."
},
"list-to-csv.escapeCharacter": {
"type": "string",
"default": "\"",
"description": "Character used to quote fields. Quote characters inside a value are doubled. Applies to the 'Convert to CSV Format' command."
},
"list-to-csv.varcharSizing": {
"type": "string",
"enum": [
"fixed",
"fromSample"
],
"enumDescriptions": [
"Always VARCHAR(255). Safe default — generated DDL cannot be too narrow for data outside the pasted sample.",
"Size each column to the widest sampled value, with headroom. Tighter schemas, but risks truncation if the sample is not representative."
],
"default": "fixed",
"description": "How VARCHAR column widths are chosen when generating SQL with type inference."
},
"list-to-csv.quoteIdentifiers": {
"type": "string",
"enum": [
"auto",
"always"
],
"enumDescriptions": [
"Quote only names that need it — those containing characters outside A-Z, 0-9 and underscore, starting with a digit, or matching a SQL keyword.",
"Quote every table and column name, as versions before 1.1.2 did."
],
"default": "auto",
"description": "When to wrap table and column names in the dialect's identifier quotes when generating SQL."
},
"list-to-csv.nullValues": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"NULL",
"\\N"
],
"markdownDescription": "Cell values written as SQL `NULL` when generating SQL, matched exactly after trimming. `NULL` comes from SQL tools and `\\N` from MySQL and PostgreSQL dumps; add `NA`, `None` or `nan` for R and pandas exports. Empty cells are always NULL."
},
"list-to-csv.insertBatchSize": {
"type": "integer",
"minimum": 1,
"default": 1000,
"markdownDescription": "Maximum rows per `INSERT` statement when generating SQL. SQL Server rejects a `VALUES` list of more than 1000 rows."
},
"list-to-csv.dropTableIfExists": {
"type": "boolean",
"default": false,
"markdownDescription": "Start generated SQL with `DROP TABLE IF EXISTS`, so the script can be run again. Off by default, because running it drops the existing table and its data."
}
}
}
},
"scripts": {
"vscode:prepublish": "npm run package",
"compile": "npm run check-types && npm run lint && node esbuild.js",
"watch": "npm-run-all -p watch:*",
"watch:esbuild": "node esbuild.js --watch",
"watch:tsc": "tsc --noEmit --watch --project tsconfig.json",
"package": "npm run check-types && npm run lint && node esbuild.js --production",
"compile-tests": "tsc -p . --outDir out",
"watch-tests": "tsc -p . -w --outDir out",
"pretest": "npm run compile-tests && npm run compile && npm run lint",
"check-types": "tsc --noEmit && tsc --noEmit -p tsconfig.webview.json",
"lint": "eslint src",
"lint-fix-custom": "eslint src --fix",
"test": "vscode-test",
"inspect-vsix": "node ./scripts/inspect-vsix.js",
"render-panel": "npm run compile-tests && node esbuild.js && node scripts/render-panel.js"
},
"devDependencies": {
"@types/mocha": "^10.0.10",
"@types/node": "20.x",
"@types/vscode": "^1.101.0",
"@typescript-eslint/eslint-plugin": "^8.31.1",
"@typescript-eslint/parser": "^8.31.1",
"@vscode/test-cli": "^0.0.10",
"@vscode/test-electron": "^2.5.2",
"esbuild": "^0.25.3",
"eslint": "^9.25.1",
"npm-run-all": "^4.1.5",
"sharp": "^0.34.2",
"typescript": "^5.8.3"
},
"repository": {
"type": "git",
"url": "git+https://github.com/siddhantvirus/vscode-data-toolkit.git"
},
"bugs": {
"url": "https://github.com/siddhantvirus/vscode-data-toolkit/issues"
},
"homepage": "https://github.com/siddhantvirus/vscode-data-toolkit#readme",
"keywords": [
"csv",
"sql",
"data engineer",
"list",
"dedup",
"vlookup",
"excel",
"compare",
"group by",
"count",
"formatter",
"in clause",
"create table"
]
}