-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
119 lines (119 loc) · 4.1 KB
/
package.json
File metadata and controls
119 lines (119 loc) · 4.1 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
{
"name": "neuma-api-flutter",
"displayName": "Neuma API Flutter",
"description": "Transform JSON collection to folders with request and response model",
"version": "0.0.2",
"repository": {
"type": "git",
"url": "https://github.com/abelherl/neuma-api-flutter.git"
},
"engines": {
"vscode": "^1.102.0"
},
"categories": [
"Other"
],
"activationEvents": [],
"main": "./dist/extension.js",
"contributes": {
"commands": [
{
"command": "neuma-api-flutter.generateModel",
"title": "Neuma API: Convert JSON to Dart Model"
}
],
"configuration": {
"title": "Neuma API Flutter",
"properties": {
"neuma-api-flutter.defaultBaseFolder": {
"type": "string",
"default": "lib/data/models",
"description": "Default base folder for generated Dart models (e.g., 'lib/data/models', 'lib/models')"
},
"neuma-api-flutter.generateSubfolders": {
"type": "boolean",
"default": true,
"description": "Create subfolders based on class names (e.g., lib/data/models/user_profile/)"
},
"neuma-api-flutter.nullSafety": {
"type": "string",
"enum": [
"nullable",
"non-nullable",
"auto"
],
"default": "auto",
"description": "Null safety mode: 'nullable' (String?), 'non-nullable' (String), or 'auto' (detect from JSON)"
},
"neuma-api-flutter.generateJsonAnnotation": {
"type": "boolean",
"default": true,
"description": "Add @JsonKey() annotations from json_annotation package"
},
"neuma-api-flutter.generateCopyWith": {
"type": "boolean",
"default": false,
"description": "Generate copyWith() method for immutable updates"
},
"neuma-api-flutter.generateEquatable": {
"type": "boolean",
"default": false,
"description": "Extend Equatable class for value equality (requires equatable package)"
},
"neuma-api-flutter.generateToString": {
"type": "boolean",
"default": false,
"description": "Override toString() method"
},
"neuma-api-flutter.useFreezed": {
"type": "boolean",
"default": false,
"description": "Generate Freezed data classes instead of regular classes (requires freezed package)"
},
"neuma-api-flutter.fieldCase": {
"type": "string",
"enum": [
"camelCase",
"snake_case",
"preserve"
],
"default": "camelCase",
"description": "Field naming convention: camelCase (Dart standard), snake_case (API standard), or preserve original"
},
"neuma-api-flutter.addPartStatement": {
"type": "boolean",
"default": true,
"description": "Add part statement for code generation (e.g., part 'user.g.dart';)"
}
}
}
},
"scripts": {
"vscode:prepublish": "npm run package",
"build": "esbuild src/extension.ts --bundle --outfile=dist/extension.js --platform=node --external:vscode --format=cjs",
"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",
"lint": "eslint src",
"test": "vscode-test"
},
"devDependencies": {
"@types/vscode": "^1.102.0",
"@types/mocha": "^10.0.10",
"@types/node": "20.x",
"@typescript-eslint/eslint-plugin": "^8.31.1",
"@typescript-eslint/parser": "^8.31.1",
"eslint": "^9.25.1",
"esbuild": "^0.25.3",
"npm-run-all": "^4.1.5",
"typescript": "^5.8.3",
"@vscode/test-cli": "^0.0.11",
"@vscode/test-electron": "^2.5.2"
}
}