@vue-skuilder/cli 0.1.7 → 0.1.8-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +122 -8
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +34 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pack.d.ts +10 -0
- package/dist/commands/pack.d.ts.map +1 -1
- package/dist/commands/pack.js +1 -1
- package/dist/commands/pack.js.map +1 -1
- package/dist/commands/studio.d.ts.map +1 -1
- package/dist/commands/studio.js +641 -106
- package/dist/commands/studio.js.map +1 -1
- package/dist/commands/unpack.d.ts +12 -0
- package/dist/commands/unpack.d.ts.map +1 -1
- package/dist/commands/unpack.js +1 -1
- package/dist/commands/unpack.js.map +1 -1
- package/dist/express-assets/app.d.ts +6 -0
- package/dist/express-assets/app.d.ts.map +1 -0
- package/dist/express-assets/app.js +209 -0
- package/dist/express-assets/app.js.map +1 -0
- package/dist/express-assets/assets/classroomDesignDoc.js +24 -0
- package/dist/express-assets/assets/courseValidateDocUpdate.js +56 -0
- package/dist/express-assets/assets/get-tagsDesignDoc.json +9 -0
- package/dist/express-assets/attachment-preprocessing/index.d.ts +11 -0
- package/dist/express-assets/attachment-preprocessing/index.d.ts.map +1 -0
- package/dist/express-assets/attachment-preprocessing/index.js +204 -0
- package/dist/express-assets/attachment-preprocessing/index.js.map +1 -0
- package/dist/express-assets/attachment-preprocessing/normalize.d.ts +7 -0
- package/dist/express-assets/attachment-preprocessing/normalize.d.ts.map +1 -0
- package/dist/express-assets/attachment-preprocessing/normalize.js +90 -0
- package/dist/express-assets/attachment-preprocessing/normalize.js.map +1 -0
- package/dist/express-assets/client-requests/classroom-requests.d.ts +26 -0
- package/dist/express-assets/client-requests/classroom-requests.d.ts.map +1 -0
- package/dist/express-assets/client-requests/classroom-requests.js +171 -0
- package/dist/express-assets/client-requests/classroom-requests.js.map +1 -0
- package/dist/express-assets/client-requests/course-requests.d.ts +10 -0
- package/dist/express-assets/client-requests/course-requests.d.ts.map +1 -0
- package/dist/express-assets/client-requests/course-requests.js +135 -0
- package/dist/express-assets/client-requests/course-requests.js.map +1 -0
- package/dist/express-assets/client-requests/pack-requests.d.ts +19 -0
- package/dist/express-assets/client-requests/pack-requests.d.ts.map +1 -0
- package/dist/express-assets/client-requests/pack-requests.js +130 -0
- package/dist/express-assets/client-requests/pack-requests.js.map +1 -0
- package/dist/express-assets/client.d.ts +31 -0
- package/dist/express-assets/client.d.ts.map +1 -0
- package/dist/express-assets/client.js +70 -0
- package/dist/express-assets/client.js.map +1 -0
- package/dist/express-assets/couchdb/authentication.d.ts +4 -0
- package/dist/express-assets/couchdb/authentication.d.ts.map +1 -0
- package/dist/express-assets/couchdb/authentication.js +69 -0
- package/dist/express-assets/couchdb/authentication.js.map +1 -0
- package/dist/express-assets/couchdb/index.d.ts +18 -0
- package/dist/express-assets/couchdb/index.d.ts.map +1 -0
- package/dist/express-assets/couchdb/index.js +52 -0
- package/dist/express-assets/couchdb/index.js.map +1 -0
- package/dist/express-assets/design-docs.d.ts +63 -0
- package/dist/express-assets/design-docs.d.ts.map +1 -0
- package/dist/express-assets/design-docs.js +90 -0
- package/dist/express-assets/design-docs.js.map +1 -0
- package/dist/express-assets/logger.d.ts +3 -0
- package/dist/express-assets/logger.d.ts.map +1 -0
- package/dist/express-assets/logger.js +62 -0
- package/dist/express-assets/logger.js.map +1 -0
- package/dist/express-assets/routes/logs.d.ts +3 -0
- package/dist/express-assets/routes/logs.d.ts.map +1 -0
- package/dist/express-assets/routes/logs.js +274 -0
- package/dist/express-assets/routes/logs.js.map +1 -0
- package/dist/express-assets/utils/env.d.ts +11 -0
- package/dist/express-assets/utils/env.d.ts.map +1 -0
- package/dist/express-assets/utils/env.js +39 -0
- package/dist/express-assets/utils/env.js.map +1 -0
- package/dist/express-assets/utils/processQueue.d.ts +39 -0
- package/dist/express-assets/utils/processQueue.d.ts.map +1 -0
- package/dist/express-assets/utils/processQueue.js +175 -0
- package/dist/express-assets/utils/processQueue.js.map +1 -0
- package/dist/studio-ui-src/App.vue +132 -0
- package/dist/studio-ui-src/api/index.ts +30 -0
- package/dist/studio-ui-src/components/StudioFlush.vue +108 -0
- package/dist/studio-ui-src/config/development.ts +98 -0
- package/dist/studio-ui-src/index.html +13 -0
- package/dist/studio-ui-src/main.ts +186 -0
- package/dist/studio-ui-src/package.json +35 -0
- package/dist/studio-ui-src/router/index.ts +32 -0
- package/dist/studio-ui-src/stores/useAuthStore.ts +3 -0
- package/dist/studio-ui-src/tsconfig.json +28 -0
- package/dist/studio-ui-src/utils/courseConfigRegistration.ts +297 -0
- package/dist/studio-ui-src/views/BrowseView.vue +82 -0
- package/dist/studio-ui-src/views/BulkImportView.vue +89 -0
- package/dist/studio-ui-src/views/CourseEditorView.vue +62 -0
- package/dist/studio-ui-src/views/CreateCardView.vue +144 -0
- package/dist/studio-ui-src/vite.config.base.js +103 -0
- package/dist/studio-ui-src/vite.config.ts +26 -0
- package/dist/templates/.skuilder/README.md +29 -0
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/ExpressManager.d.ts +28 -0
- package/dist/utils/ExpressManager.d.ts.map +1 -0
- package/dist/utils/ExpressManager.js +166 -0
- package/dist/utils/ExpressManager.js.map +1 -0
- package/dist/utils/NodeFileSystemAdapter.d.ts +6 -0
- package/dist/utils/NodeFileSystemAdapter.d.ts.map +1 -1
- package/dist/utils/NodeFileSystemAdapter.js +29 -1
- package/dist/utils/NodeFileSystemAdapter.js.map +1 -1
- package/dist/utils/error-reporting.d.ts +54 -0
- package/dist/utils/error-reporting.d.ts.map +1 -0
- package/dist/utils/error-reporting.js +143 -0
- package/dist/utils/error-reporting.js.map +1 -0
- package/dist/utils/pack-courses.d.ts.map +1 -1
- package/dist/utils/pack-courses.js +10 -27
- package/dist/utils/pack-courses.js.map +1 -1
- package/dist/utils/prompts.d.ts.map +1 -1
- package/dist/utils/prompts.js +24 -0
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/questions-hash.d.ts +22 -0
- package/dist/utils/questions-hash.d.ts.map +1 -0
- package/dist/utils/questions-hash.js +96 -0
- package/dist/utils/questions-hash.js.map +1 -0
- package/dist/utils/template.d.ts +1 -1
- package/dist/utils/template.d.ts.map +1 -1
- package/dist/utils/template.js +209 -27
- package/dist/utils/template.js.map +1 -1
- package/eslint.config.mjs +1 -1
- package/package.json +30 -11
- package/src/cli.ts +3 -1
- package/src/commands/init.ts +48 -3
- package/src/commands/pack.ts +1 -1
- package/src/commands/studio.ts +851 -122
- package/src/commands/unpack.ts +1 -1
- package/src/types.ts +5 -0
- package/src/utils/ExpressManager.ts +210 -0
- package/src/utils/NodeFileSystemAdapter.ts +46 -2
- package/src/utils/error-reporting.ts +192 -0
- package/src/utils/pack-courses.ts +11 -36
- package/src/utils/prompts.ts +34 -0
- package/src/utils/questions-hash.ts +109 -0
- package/src/utils/template.ts +243 -29
- package/templates/.skuilder/README.md +29 -0
- package/dist/studio-ui-assets/assets/BrowseView-BJbixGOU.js +0 -2
- package/dist/studio-ui-assets/assets/BrowseView-BJbixGOU.js.map +0 -1
- package/dist/studio-ui-assets/assets/BrowseView-CM4HBO4j.css +0 -1
- package/dist/studio-ui-assets/assets/BulkImportView-DB6DYDJU.js +0 -2
- package/dist/studio-ui-assets/assets/BulkImportView-DB6DYDJU.js.map +0 -1
- package/dist/studio-ui-assets/assets/BulkImportView-g4wQUfPA.css +0 -1
- package/dist/studio-ui-assets/assets/CourseEditorView-BIlhlhw1.js +0 -2
- package/dist/studio-ui-assets/assets/CourseEditorView-BIlhlhw1.js.map +0 -1
- package/dist/studio-ui-assets/assets/CourseEditorView-WuPNLVKp.css +0 -1
- package/dist/studio-ui-assets/assets/CreateCardView-CyNOKCkm.css +0 -1
- package/dist/studio-ui-assets/assets/CreateCardView-DPjPvzzt.js +0 -2
- package/dist/studio-ui-assets/assets/CreateCardView-DPjPvzzt.js.map +0 -1
- package/dist/studio-ui-assets/assets/edit-ui.es-DiUxqbgF.js +0 -330
- package/dist/studio-ui-assets/assets/edit-ui.es-DiUxqbgF.js.map +0 -1
- package/dist/studio-ui-assets/assets/index--zY88pg6.css +0 -14
- package/dist/studio-ui-assets/assets/index-BnAv1C72.js +0 -287
- package/dist/studio-ui-assets/assets/index-BnAv1C72.js.map +0 -1
- package/dist/studio-ui-assets/assets/index-DHMXQY3-.js +0 -192
- package/dist/studio-ui-assets/assets/index-DHMXQY3-.js.map +0 -1
- package/dist/studio-ui-assets/assets/materialdesignicons-webfont-B7mPwVP_.ttf +0 -0
- package/dist/studio-ui-assets/assets/materialdesignicons-webfont-CSr8KVlo.eot +0 -0
- package/dist/studio-ui-assets/assets/materialdesignicons-webfont-Dp5v-WZN.woff2 +0 -0
- package/dist/studio-ui-assets/assets/materialdesignicons-webfont-PXm3-2wK.woff +0 -0
- package/dist/studio-ui-assets/assets/vue-DZcMATiC.js +0 -28
- package/dist/studio-ui-assets/assets/vue-DZcMATiC.js.map +0 -1
- package/dist/studio-ui-assets/assets/vuetify-qg7mRxy_.js +0 -6
- package/dist/studio-ui-assets/assets/vuetify-qg7mRxy_.js.map +0 -1
- package/dist/studio-ui-assets/index.html +0 -16
package/README.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
A command-line tool for scaffolding Skuilder course applications.
|
|
4
4
|
|
|
5
|
+
A Skuilder course consists of:
|
|
6
|
+
- a Vue.js application
|
|
7
|
+
- a data layer (static or dynamic)
|
|
8
|
+
|
|
9
|
+
Static data-layer courses are self-contained as JSON files, and can be deployed as a static site.
|
|
10
|
+
|
|
11
|
+
Dynamic data-layer courses are served from a CouchDB database and require a more involved setup ⚠️ **which is not currently well documented** ⚠️.
|
|
12
|
+
|
|
5
13
|
## Installation
|
|
6
14
|
|
|
7
15
|
Install globally via npm:
|
|
@@ -16,9 +24,11 @@ Or use npx to run without installing:
|
|
|
16
24
|
npx skuilder init my-course
|
|
17
25
|
```
|
|
18
26
|
|
|
19
|
-
##
|
|
27
|
+
## Commands
|
|
28
|
+
|
|
29
|
+
### Project Initialization
|
|
20
30
|
|
|
21
|
-
|
|
31
|
+
#### Create a new project
|
|
22
32
|
|
|
23
33
|
```bash
|
|
24
34
|
skuilder init my-anatomy-course
|
|
@@ -29,9 +39,9 @@ This will start an interactive prompt to configure your project:
|
|
|
29
39
|
- Data layer type (static or dynamic)
|
|
30
40
|
- CouchDB connection details (for dynamic)
|
|
31
41
|
- Theme selection
|
|
32
|
-
- Course ID to import (optional)
|
|
42
|
+
- Course ID to import (optional import from a live CouchDB server)
|
|
33
43
|
|
|
34
|
-
|
|
44
|
+
#### Non-interactive mode
|
|
35
45
|
|
|
36
46
|
```bash
|
|
37
47
|
skuilder init physics-101 \
|
|
@@ -40,7 +50,7 @@ skuilder init physics-101 \
|
|
|
40
50
|
--no-interactive
|
|
41
51
|
```
|
|
42
52
|
|
|
43
|
-
|
|
53
|
+
#### Dynamic data layer with CouchDB
|
|
44
54
|
|
|
45
55
|
```bash
|
|
46
56
|
skuilder init biology-course \
|
|
@@ -50,7 +60,7 @@ skuilder init biology-course \
|
|
|
50
60
|
--theme=medical
|
|
51
61
|
```
|
|
52
62
|
|
|
53
|
-
|
|
63
|
+
#### Command Options
|
|
54
64
|
|
|
55
65
|
- `--data-layer <type>` - Choose data layer: `static` or `dynamic` (default: dynamic)
|
|
56
66
|
- `--theme <name>` - Select theme: `default`, `medical`, `educational`, or `corporate` (default: default)
|
|
@@ -58,6 +68,105 @@ skuilder init biology-course \
|
|
|
58
68
|
- `--couchdb-url <url>` - CouchDB server URL (required for dynamic data layer)
|
|
59
69
|
- `--course-id <id>` - Course ID to import from CouchDB (optional)
|
|
60
70
|
|
|
71
|
+
### Studio Mode (Content Editing)
|
|
72
|
+
|
|
73
|
+
Studio mode provides a complete visual editing environment for static courses:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
skuilder studio # Launch in current directory
|
|
77
|
+
skuilder studio ./my-course # Launch against specific packed course directory
|
|
78
|
+
skuilder studio --port 6000 # Use custom CouchDB port
|
|
79
|
+
skuilder studio --no-browser # Don't auto-open browser
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
#### What Studio Mode Does
|
|
83
|
+
|
|
84
|
+
Studio mode creates a full editing environment by starting multiple services:
|
|
85
|
+
|
|
86
|
+
1. **CouchDB Instance** (Docker container on port 5985+)
|
|
87
|
+
- Temporary database for editing course content
|
|
88
|
+
- Automatically loads your static course data
|
|
89
|
+
|
|
90
|
+
2. **Express API Server** (port 3001+)
|
|
91
|
+
- Handles database operations and file writes
|
|
92
|
+
- Provides REST API for the web editor
|
|
93
|
+
|
|
94
|
+
3. **Studio Web Interface** (port 7174+)
|
|
95
|
+
- Visual course editor with Vue.js
|
|
96
|
+
- Create/edit cards, manage tags, bulk import
|
|
97
|
+
- Live preview of changes
|
|
98
|
+
|
|
99
|
+
#### Studio Workflow
|
|
100
|
+
|
|
101
|
+
1. **Load Course Data**: Unpacks your `public/static-courses/` JSON files into temporary CouchDB
|
|
102
|
+
2. **Visual Editing**: Use the web interface to modify course content
|
|
103
|
+
3. **Save Changes**: Click "Flush to Static" to write changes back to your course files
|
|
104
|
+
4. **Important**: Studio mode **overwrites** your source files - backup before major edits
|
|
105
|
+
|
|
106
|
+
#### Requirements
|
|
107
|
+
|
|
108
|
+
- **Docker**: Required for CouchDB instance
|
|
109
|
+
- **Static Course Project**: Valid package.json with vue-skuilder dependencies
|
|
110
|
+
- **Course Data**: Existing content in `public/static-courses/` directory
|
|
111
|
+
|
|
112
|
+
#### Studio Mode vs Regular Development
|
|
113
|
+
|
|
114
|
+
| Feature | Regular Dev (`npm run dev`) | Studio Mode (`skuilder studio`) |
|
|
115
|
+
|---------|----------------------------|--------------------------------|
|
|
116
|
+
| Purpose | View/test course | Edit course content |
|
|
117
|
+
| Data Source | Static JSON files | Temporary CouchDB + Web Editor |
|
|
118
|
+
| Editing | Manual JSON editing | Visual web interface |
|
|
119
|
+
| Services | Just Vite dev server | CouchDB + Express + Studio UI |
|
|
120
|
+
| File Changes | Manual | Automatic via "Flush to Static" |
|
|
121
|
+
|
|
122
|
+
### Course Data Management
|
|
123
|
+
|
|
124
|
+
#### Pack/Unpack Commands
|
|
125
|
+
|
|
126
|
+
For advanced users working with CouchDB data:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Convert CouchDB course to static files
|
|
130
|
+
skuilder pack my-course-id \
|
|
131
|
+
--server http://localhost:5984 \
|
|
132
|
+
--username admin \
|
|
133
|
+
--password secret \
|
|
134
|
+
--output ./exported-course
|
|
135
|
+
|
|
136
|
+
# Convert static files to CouchDB course
|
|
137
|
+
skuilder unpack ./course-data \
|
|
138
|
+
--server http://localhost:5984 \
|
|
139
|
+
--username admin \
|
|
140
|
+
--password secret \
|
|
141
|
+
--database coursedb-imported \
|
|
142
|
+
--validate
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Pack Command Options:**
|
|
146
|
+
- `--server <url>` - CouchDB server URL (default: http://localhost:5984)
|
|
147
|
+
- `--username <user>` - CouchDB username for authentication
|
|
148
|
+
- `--password <pass>` - CouchDB password for authentication
|
|
149
|
+
- `--output <dir>` - Output directory for static files (default: ./static-courses)
|
|
150
|
+
- `--chunk-size <size>` - Documents per chunk for large courses (default: 1000)
|
|
151
|
+
- `--no-attachments` - Skip downloading course attachments
|
|
152
|
+
|
|
153
|
+
**Unpack Command Options:**
|
|
154
|
+
- `--server <url>` - CouchDB server URL (default: http://localhost:5984)
|
|
155
|
+
- `--username <user>` - CouchDB username for authentication
|
|
156
|
+
- `--password <pass>` - CouchDB password for authentication
|
|
157
|
+
- `--database <name>` - Target database name (auto-generated if not provided)
|
|
158
|
+
- `--as <name>` - Custom name for the unpacked course
|
|
159
|
+
- `--chunk-size <size>` - Documents per batch upload (default: 100)
|
|
160
|
+
- `--validate` - Run migration validation after unpack
|
|
161
|
+
- `--cleanup-on-error` - Remove database if migration fails
|
|
162
|
+
|
|
163
|
+
**Use Cases:**
|
|
164
|
+
- **Studio Mode Internal**: These commands power studio mode's load/save operations
|
|
165
|
+
- **Migration**: Move courses between static and dynamic deployments
|
|
166
|
+
- **Backup/Restore**: Export course data for safekeeping or transfer
|
|
167
|
+
- **CI/CD Workflows**: Automate course deployment and synchronization
|
|
168
|
+
- **Development**: Test with production course data locally
|
|
169
|
+
|
|
61
170
|
## Generated Project Structure
|
|
62
171
|
|
|
63
172
|
```
|
|
@@ -138,8 +247,13 @@ node packages/cli/dist/cli.js init test-project
|
|
|
138
247
|
|
|
139
248
|
## Requirements
|
|
140
249
|
|
|
141
|
-
|
|
142
|
-
|
|
250
|
+
### System Requirements
|
|
251
|
+
|
|
252
|
+
- **Node.js 18.0.0 or higher**
|
|
253
|
+
- **npm or yarn package manager**
|
|
254
|
+
- **Docker** (required for studio mode only)
|
|
255
|
+
- Used to run temporary CouchDB instances
|
|
256
|
+
- Not needed for basic project creation or static course viewing
|
|
143
257
|
|
|
144
258
|
## Dependencies
|
|
145
259
|
|
package/dist/cli.d.ts
CHANGED
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAkBA,eAAO,MAAM,OAAO,EAAE,MAA4B,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -12,11 +12,12 @@ const __dirname = dirname(__filename);
|
|
|
12
12
|
// Read package.json to get version
|
|
13
13
|
const packagePath = join(__dirname, '..', 'package.json');
|
|
14
14
|
const packageJson = JSON.parse(readFileSync(packagePath, 'utf-8'));
|
|
15
|
+
export const VERSION = packageJson.version;
|
|
15
16
|
const program = new Command();
|
|
16
17
|
program
|
|
17
18
|
.name('skuilder')
|
|
18
19
|
.description('CLI tool for scaffolding Skuilder course applications')
|
|
19
|
-
.version(
|
|
20
|
+
.version(VERSION);
|
|
20
21
|
// Add commands
|
|
21
22
|
program.addCommand(createInitCommand());
|
|
22
23
|
program.addCommand(createPackCommand());
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,mCAAmC;AACnC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,uDAAuD,CAAC;KACpE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,mCAAmC;AACnC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,OAAO,GAAW,WAAW,CAAC,OAAO,CAAC;AAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,uDAAuD,CAAC;KACpE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAE1C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,wBAAgB,iBAAiB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,wBAAgB,iBAAiB,IAAI,OAAO,CAgB3C"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
-
import { existsSync, readFileSync } from 'fs';
|
|
3
|
+
import { existsSync, readFileSync, rmSync } from 'fs';
|
|
4
4
|
import path, { dirname, join } from 'path';
|
|
5
5
|
import { fileURLToPath } from 'url';
|
|
6
6
|
import { PREDEFINED_THEMES } from '../types.js';
|
|
@@ -18,6 +18,12 @@ export function createInitCommand() {
|
|
|
18
18
|
.option('--no-interactive', 'skip interactive prompts')
|
|
19
19
|
.option('--couchdb-url <url>', 'CouchDB server URL (for dynamic data layer)')
|
|
20
20
|
.option('--course-id <id>', 'course ID to import (for dynamic data layer)')
|
|
21
|
+
.option('--import-course-data', 'import course data from CouchDB (for static data layer)')
|
|
22
|
+
.option('--import-server-url <url>', 'CouchDB server URL for course import (for static data layer)')
|
|
23
|
+
.option('--import-username <username>', 'username for course import server')
|
|
24
|
+
.option('--import-password <password>', 'password for course import server')
|
|
25
|
+
.option('--import-course-ids <ids>', 'comma-separated course IDs to import')
|
|
26
|
+
.option('--dangerously-clobber', 'overwrite existing directory')
|
|
21
27
|
.action(initCommand);
|
|
22
28
|
}
|
|
23
29
|
async function initCommand(projectName, options) {
|
|
@@ -27,6 +33,20 @@ async function initCommand(projectName, options) {
|
|
|
27
33
|
console.error(chalk.red('❌ Invalid project name. Use only letters, numbers, hyphens, and underscores.'));
|
|
28
34
|
process.exit(1);
|
|
29
35
|
}
|
|
36
|
+
// Validate that import-* options require --import-course-data flag
|
|
37
|
+
const importOptions = [
|
|
38
|
+
{ flag: '--import-server-url', value: options.importServerUrl },
|
|
39
|
+
{ flag: '--import-username', value: options.importUsername },
|
|
40
|
+
{ flag: '--import-password', value: options.importPassword },
|
|
41
|
+
{ flag: '--import-course-ids', value: options.importCourseIds }
|
|
42
|
+
];
|
|
43
|
+
const usedImportOptions = importOptions.filter(opt => opt.value !== undefined);
|
|
44
|
+
if (usedImportOptions.length > 0 && !options.importCourseData) {
|
|
45
|
+
console.error(chalk.red('❌ Import options require the --import-course-data flag.'));
|
|
46
|
+
console.error(chalk.yellow(`Used options: ${usedImportOptions.map(opt => opt.flag).join(', ')}`));
|
|
47
|
+
console.error(chalk.yellow('Add --import-course-data to enable course data import.'));
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
30
50
|
// Validate theme option
|
|
31
51
|
const validThemes = Object.keys(PREDEFINED_THEMES);
|
|
32
52
|
if (!validThemes.includes(options.theme)) {
|
|
@@ -37,8 +57,14 @@ async function initCommand(projectName, options) {
|
|
|
37
57
|
// Check if directory already exists
|
|
38
58
|
const projectPath = path.resolve(process.cwd(), projectName);
|
|
39
59
|
if (existsSync(projectPath)) {
|
|
40
|
-
|
|
41
|
-
|
|
60
|
+
if (options.dangerouslyClobber) {
|
|
61
|
+
console.log(chalk.yellow(`--dangerously-clobber specified, removing existing directory: ${projectPath}`));
|
|
62
|
+
rmSync(projectPath, { recursive: true, force: true });
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.error(chalk.red(`❌ Directory "${projectName}" already exists.`));
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
42
68
|
}
|
|
43
69
|
// Get CLI version for dependency transformation
|
|
44
70
|
const packagePath = join(__dirname, '..', '..', 'package.json');
|
|
@@ -51,6 +77,11 @@ async function initCommand(projectName, options) {
|
|
|
51
77
|
interactive: options.interactive,
|
|
52
78
|
couchdbUrl: options.couchdbUrl,
|
|
53
79
|
courseId: options.courseId,
|
|
80
|
+
importCourseData: options.importCourseData,
|
|
81
|
+
importServerUrl: options.importServerUrl,
|
|
82
|
+
importUsername: options.importUsername,
|
|
83
|
+
importPassword: options.importPassword,
|
|
84
|
+
importCourseIds: options.importCourseIds,
|
|
54
85
|
};
|
|
55
86
|
// Gather project configuration
|
|
56
87
|
const config = await gatherProjectConfig(projectName, cliOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/pack.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
export declare function createPackCommand(): Command;
|
|
3
|
+
interface PackOptions {
|
|
4
|
+
server: string;
|
|
5
|
+
username?: string;
|
|
6
|
+
password?: string;
|
|
7
|
+
output: string;
|
|
8
|
+
chunkSize: string;
|
|
9
|
+
noAttachments: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function packCourse(courseId: string, options: PackOptions): Promise<void>;
|
|
12
|
+
export {};
|
|
3
13
|
//# sourceMappingURL=pack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,iBAAiB,IAAI,OAAO,CAW3C"}
|
|
1
|
+
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,iBAAiB,IAAI,OAAO,CAW3C;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,iBAqFtE"}
|
package/dist/commands/pack.js
CHANGED
|
@@ -16,7 +16,7 @@ export function createPackCommand() {
|
|
|
16
16
|
.option('--no-attachments', 'Exclude attachments')
|
|
17
17
|
.action(packCourse);
|
|
18
18
|
}
|
|
19
|
-
async function packCourse(courseId, options) {
|
|
19
|
+
export async function packCourse(courseId, options) {
|
|
20
20
|
try {
|
|
21
21
|
console.log(chalk.cyan(`🔧 Packing course: ${courseId}`));
|
|
22
22
|
// Validate courseId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,yCAAyC,CAAC;SACtD,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;SAC3C,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,uBAAuB,CAAC;SAC3E,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;SACvD,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;SACvD,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;SACpE,MAAM,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,CAAC;SAChE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;SACjD,MAAM,CAAC,UAAU,CAAC,CAAC;AACxB,CAAC;AAWD,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,OAAoB;
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,yCAAyC,CAAC;SACtD,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;SAC3C,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,uBAAuB,CAAC;SAC3E,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;SACvD,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;SACvD,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;SACpE,MAAM,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,CAAC;SAChE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;SACjD,MAAM,CAAC,UAAU,CAAC,CAAC;AACxB,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,OAAoB;IACrE,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE1D,oBAAoB;QACpB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,qBAAqB;QACrB,MAAM,KAAK,GAAG,GAAG,OAAO,CAAC,MAAM,aAAa,QAAQ,EAAE,CAAC;QACvD,MAAM,SAAS,GAA4B,EAAE,CAAC;QAE9C,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,GAAG;gBACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAE/C,kBAAkB;QAClB,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,YAAY,GAAG,eAAe,CAAC;YACnC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/B,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;iBAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;gBACpE,YAAY,GAAG,MAAM,CAAE,KAA8B,CAAC,OAAO,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,8CAA8C;QAC9C,MAAM,YAAY,GAAG;YACnB,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YACtC,kBAAkB,EAAE,CAAC,OAAO,CAAC,aAAa;SAC3C,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,YAAY,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAEtF,wCAAwC;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE/D,0BAA0B;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC,CAAC;QAE7D,cAAc;QACd,MAAM,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAE7C,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,UAAU,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC,CAAC;IAExD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAChD,IAAI,YAAY,GAAG,eAAe,CAAC;QACnC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACpE,YAAY,GAAG,MAAM,CAAE,KAA8B,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAkBD,KAAK,UAAU,eAAe,CAC5B,UAAsB,EACtB,SAAiB;IAEjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE/C,iBAAiB;IACjB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC,CAAC;IAE9D,qBAAqB;IACrB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE/B,eAAe;IACf,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;QAC1D,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACzC,UAAU,EAAE,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,SAAS,CAAC,CAAC,CAAC;IAEzD,kBAAkB;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;QAC7D,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,UAAU,EAAE,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,UAAU,UAAU,CAAC,CAAC,CAAC;IAE5D,oBAAoB;IACpB,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAErD,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;YACtE,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAEhE,0BAA0B;YAC1B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAErD,oBAAoB;YACpB,MAAM,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9D,eAAe,EAAE,CAAC;QACpB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,eAAe,mBAAmB,CAAC,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../src/commands/studio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../src/commands/studio.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC,wBAAgB,mBAAmB,IAAI,OAAO,CAoC7C"}
|