@falkenslab/moodle-driver 0.4.1 → 0.5.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 +3 -2
- package/dist/areas/activities/build.d.ts +47 -10
- package/dist/areas/activities/build.js +157 -24
- package/dist/areas/activities/build.js.map +1 -1
- package/dist/areas/activities/conditions.d.ts +77 -0
- package/dist/areas/activities/conditions.js +216 -0
- package/dist/areas/activities/conditions.js.map +1 -0
- package/dist/areas/activities/content.d.ts +3 -0
- package/dist/areas/activities/content.js +1 -0
- package/dist/areas/activities/content.js.map +1 -1
- package/dist/areas/assignments/grader.d.ts +32 -0
- package/dist/areas/assignments/grader.js +66 -2
- package/dist/areas/assignments/grader.js.map +1 -1
- package/dist/areas/assignments/grading.d.ts +69 -6
- package/dist/areas/assignments/grading.js +173 -13
- package/dist/areas/assignments/grading.js.map +1 -1
- package/dist/areas/assignments/student.d.ts +14 -0
- package/dist/areas/assignments/student.js +43 -2
- package/dist/areas/assignments/student.js.map +1 -1
- package/dist/areas/backup/backup.d.ts +86 -0
- package/dist/areas/backup/backup.js +368 -0
- package/dist/areas/backup/backup.js.map +1 -0
- package/dist/areas/calendar/calendar.d.ts +27 -0
- package/dist/areas/calendar/calendar.js +115 -9
- package/dist/areas/calendar/calendar.js.map +1 -1
- package/dist/areas/completion/completion.d.ts +3 -0
- package/dist/areas/completion/completion.js.map +1 -1
- package/dist/areas/courses/list.d.ts +2 -0
- package/dist/areas/courses/list.js.map +1 -1
- package/dist/areas/courses/reset.d.ts +51 -0
- package/dist/areas/courses/reset.js +123 -0
- package/dist/areas/courses/reset.js.map +1 -0
- package/dist/areas/courses/state.d.ts +17 -0
- package/dist/areas/courses/state.js +37 -6
- package/dist/areas/courses/state.js.map +1 -1
- package/dist/areas/courses/structure.d.ts +14 -2
- package/dist/areas/courses/structure.js +11 -5
- package/dist/areas/courses/structure.js.map +1 -1
- package/dist/areas/forums/discussions.d.ts +8 -0
- package/dist/areas/forums/discussions.js +10 -0
- package/dist/areas/forums/discussions.js.map +1 -1
- package/dist/areas/forums/grading.d.ts +49 -0
- package/dist/areas/forums/grading.js +125 -0
- package/dist/areas/forums/grading.js.map +1 -0
- package/dist/areas/forums/posts.d.ts +37 -0
- package/dist/areas/forums/posts.js +141 -6
- package/dist/areas/forums/posts.js.map +1 -1
- package/dist/areas/grades/export.d.ts +38 -0
- package/dist/areas/grades/export.js +88 -0
- package/dist/areas/grades/export.js.map +1 -0
- package/dist/areas/grades/gradebook.d.ts +50 -0
- package/dist/areas/grades/gradebook.js +120 -0
- package/dist/areas/grades/gradebook.js.map +1 -1
- package/dist/areas/grades/singleview.d.ts +39 -0
- package/dist/areas/grades/singleview.js +186 -0
- package/dist/areas/grades/singleview.js.map +1 -0
- package/dist/areas/h5p/h5p.d.ts +2 -0
- package/dist/areas/h5p/h5p.js +12 -7
- package/dist/areas/h5p/h5p.js.map +1 -1
- package/dist/areas/lessons/lessons.d.ts +1 -0
- package/dist/areas/lessons/lessons.js.map +1 -1
- package/dist/areas/messages/messages.d.ts +32 -0
- package/dist/areas/messages/messages.js +44 -2
- package/dist/areas/messages/messages.js.map +1 -1
- package/dist/areas/participants/enrolments.d.ts +60 -0
- package/dist/areas/participants/enrolments.js +218 -0
- package/dist/areas/participants/enrolments.js.map +1 -0
- package/dist/areas/participants/groups.d.ts +75 -0
- package/dist/areas/participants/groups.js +201 -0
- package/dist/areas/participants/groups.js.map +1 -0
- package/dist/areas/participants/methods.d.ts +56 -0
- package/dist/areas/participants/methods.js +154 -0
- package/dist/areas/participants/methods.js.map +1 -0
- package/dist/areas/participants/participants.d.ts +11 -0
- package/dist/areas/participants/participants.js +24 -19
- package/dist/areas/participants/participants.js.map +1 -1
- package/dist/areas/questions/banks.d.ts +36 -1
- package/dist/areas/questions/banks.js +140 -17
- package/dist/areas/questions/banks.js.map +1 -1
- package/dist/areas/quizzes/attempts.d.ts +2 -0
- package/dist/areas/quizzes/attempts.js +9 -0
- package/dist/areas/quizzes/attempts.js.map +1 -1
- package/dist/areas/quizzes/grading.d.ts +50 -0
- package/dist/areas/quizzes/grading.js +131 -0
- package/dist/areas/quizzes/grading.js.map +1 -0
- package/dist/areas/quizzes/results.d.ts +3 -0
- package/dist/areas/quizzes/results.js +2 -1
- package/dist/areas/quizzes/results.js.map +1 -1
- package/dist/areas/quizzes/structure.d.ts +65 -9
- package/dist/areas/quizzes/structure.js +222 -23
- package/dist/areas/quizzes/structure.js.map +1 -1
- package/dist/areas/ratings/ratings.d.ts +26 -0
- package/dist/areas/ratings/ratings.js +108 -0
- package/dist/areas/ratings/ratings.js.map +1 -0
- package/dist/areas/reports/dates.d.ts +18 -0
- package/dist/areas/reports/dates.js +134 -0
- package/dist/areas/reports/dates.js.map +1 -0
- package/dist/areas/reports/reports.d.ts +143 -0
- package/dist/areas/reports/reports.js +267 -0
- package/dist/areas/reports/reports.js.map +1 -0
- package/dist/areas/scorm/scorm.d.ts +1 -0
- package/dist/areas/scorm/scorm.js.map +1 -1
- package/dist/areas/site/users.d.ts +7 -1
- package/dist/areas/site/users.js +9 -2
- package/dist/areas/site/users.js.map +1 -1
- package/dist/areas/surveys/choice.d.ts +2 -0
- package/dist/areas/surveys/choice.js +6 -3
- package/dist/areas/surveys/choice.js.map +1 -1
- package/dist/areas/surveys/surveys.d.ts +3 -0
- package/dist/areas/surveys/surveys.js +1 -0
- package/dist/areas/surveys/surveys.js.map +1 -1
- package/dist/areas/workshops/workshops.d.ts +133 -0
- package/dist/areas/workshops/workshops.js +335 -0
- package/dist/areas/workshops/workshops.js.map +1 -0
- package/dist/browser/background.d.ts +43 -0
- package/dist/browser/background.js +164 -0
- package/dist/browser/background.js.map +1 -0
- package/dist/browser/host.d.ts +30 -0
- package/dist/browser/host.js +373 -0
- package/dist/browser/host.js.map +1 -0
- package/dist/browser/manager.d.ts +9 -0
- package/dist/browser/manager.js +8 -0
- package/dist/browser/manager.js.map +1 -1
- package/dist/categories.d.ts +1 -0
- package/dist/categories.js +67 -0
- package/dist/categories.js.map +1 -1
- package/dist/cli/args.d.ts +8 -0
- package/dist/cli/args.js +49 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/background.d.ts +23 -0
- package/dist/cli/background.js +128 -0
- package/dist/cli/background.js.map +1 -0
- package/dist/cli/command.d.ts +66 -0
- package/dist/cli/command.js +328 -0
- package/dist/cli/command.js.map +1 -0
- package/dist/cli/commands.generated.js +2635 -577
- package/dist/cli/commands.generated.js.map +1 -1
- package/dist/cli/config.d.ts +2 -0
- package/dist/cli/config.js +2 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/main.js +30 -10
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/run.d.ts +3 -14
- package/dist/cli/run.js +9 -185
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/shell.d.ts +9 -0
- package/dist/cli/shell.js +233 -0
- package/dist/cli/shell.js.map +1 -0
- package/dist/client.d.ts +10 -120
- package/dist/client.js +77 -8
- package/dist/client.js.map +1 -1
- package/dist/core/errors.d.ts +1 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/files.d.ts +5 -0
- package/dist/core/files.js +7 -3
- package/dist/core/files.js.map +1 -1
- package/dist/core/forms.d.ts +33 -3
- package/dist/core/forms.js +105 -8
- package/dist/core/forms.js.map +1 -1
- package/dist/core/http.d.ts +7 -0
- package/dist/core/http.js +28 -7
- package/dist/core/http.js.map +1 -1
- package/dist/core/login.d.ts +3 -0
- package/dist/core/login.js +2 -0
- package/dist/core/login.js.map +1 -1
- package/dist/core/session.d.ts +12 -1
- package/dist/core/session.js +12 -1
- package/dist/core/session.js.map +1 -1
- package/dist/index.d.ts +35 -11
- package/dist/index.js +32 -12
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +9 -1
- package/dist/internals.js +9 -4
- package/dist/internals.js.map +1 -1
- package/dist/moodle-methods.generated.d.ts +1127 -0
- package/dist/moodle-methods.generated.js +4 -0
- package/dist/moodle-methods.generated.js.map +1 -0
- package/dist/options.d.ts +2 -0
- package/dist/options.js.map +1 -1
- package/dist/testing/fakeMoodle.d.ts +9 -2
- package/dist/testing/fakeMoodle.js +5 -3
- package/dist/testing/fakeMoodle.js.map +1 -1
- package/dist/testing/index.d.ts +7 -0
- package/dist/testing/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/browser/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAkC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,eAAe,EAAqC,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/browser/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/categories.d.ts
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* - `any`: generic primitives that reach whatever they're pointed at (services, pages, forms).
|
|
12
12
|
*/
|
|
13
13
|
export declare const ALL_DATA_CATEGORIES: readonly ["none", "own", "course-content", "others-aggregate", "others-personal", "others-write", "communication", "any"];
|
|
14
|
+
/** One of `ALL_DATA_CATEGORIES`: a kind of data a function reads or writes. */
|
|
14
15
|
export type DataCategory = (typeof ALL_DATA_CATEGORIES)[number];
|
|
15
16
|
/**
|
|
16
17
|
* The data categories of every function exported from the package, and of the browser manager's
|
package/dist/categories.js
CHANGED
|
@@ -28,6 +28,8 @@ const ANY = ["any"];
|
|
|
28
28
|
export const DATA_CATEGORIES = {
|
|
29
29
|
// The browser and the session.
|
|
30
30
|
createBrowserManager: NONE,
|
|
31
|
+
connectBrowserManager: NONE,
|
|
32
|
+
backgroundBrowser: NONE,
|
|
31
33
|
// The Moodle object: its bound methods are classified as their functions, of the same name.
|
|
32
34
|
createMoodle: NONE,
|
|
33
35
|
"Moodle.context": NONE,
|
|
@@ -77,6 +79,9 @@ export const DATA_CATEGORIES = {
|
|
|
77
79
|
formValue: ANY,
|
|
78
80
|
setFields: ANY,
|
|
79
81
|
uploadToDraft: ANY,
|
|
82
|
+
draftFiles: ANY,
|
|
83
|
+
deleteDraftFile: ANY,
|
|
84
|
+
removeFromDraft: ANY,
|
|
80
85
|
submitForm: ANY,
|
|
81
86
|
editCourse: ANY,
|
|
82
87
|
// Parsing and pacing helpers: nothing fetched.
|
|
@@ -94,6 +99,13 @@ export const DATA_CATEGORIES = {
|
|
|
94
99
|
courseAbilities: OWN,
|
|
95
100
|
listCourses: OWN,
|
|
96
101
|
updateCourse: CONTENT,
|
|
102
|
+
// Copies, backups and restores carry the course's content, and its people's data when asked (withUsers).
|
|
103
|
+
copyCourse: ["course-content", "others-personal"],
|
|
104
|
+
backupCourse: ["course-content", "others-personal"],
|
|
105
|
+
restoreCourse: ["course-content", "others-personal"],
|
|
106
|
+
importActivities: CONTENT,
|
|
107
|
+
// Resetting deletes the course's people's work and enrolments: deciding about others.
|
|
108
|
+
resetCourse: ["course-content", "others-write"],
|
|
97
109
|
myGrades: OWN,
|
|
98
110
|
deadlines: OWN,
|
|
99
111
|
pendingActivities: OWN,
|
|
@@ -122,6 +134,7 @@ export const DATA_CATEGORIES = {
|
|
|
122
134
|
// Course files, or others' (a submission's, a post's attachment): a program checks the URL.
|
|
123
135
|
downloadFile: ["course-content", "others-personal"],
|
|
124
136
|
// Assignments.
|
|
137
|
+
// With group submissions, the group's members too.
|
|
125
138
|
studentAssignment: ["course-content", "own"],
|
|
126
139
|
saveSubmission: OWN,
|
|
127
140
|
submitForGrading: OWN,
|
|
@@ -129,6 +142,8 @@ export const DATA_CATEGORIES = {
|
|
|
129
142
|
gradeSubmission: ["others-personal", "others-write"],
|
|
130
143
|
rubric: CONTENT,
|
|
131
144
|
grantExtension: ["others-write"],
|
|
145
|
+
setWorkflowState: ["others-write"],
|
|
146
|
+
allocateMarker: ["others-write"],
|
|
132
147
|
// Quizzes: a teacher may review someone else's attempt.
|
|
133
148
|
quizInfo: ["course-content", "own"],
|
|
134
149
|
startQuizAttempt: OWN,
|
|
@@ -138,14 +153,24 @@ export const DATA_CATEGORIES = {
|
|
|
138
153
|
readReview: ["own", "others-personal"],
|
|
139
154
|
setQuizOverride: ["others-write"],
|
|
140
155
|
quizResults: PERSONAL,
|
|
156
|
+
questionsToGrade: PERSONAL,
|
|
157
|
+
gradeQuizQuestion: ["others-personal", "others-write"],
|
|
141
158
|
quizStructure: CONTENT,
|
|
142
159
|
addQuestionsToQuiz: CONTENT,
|
|
160
|
+
// A new maximum mark regrades the attempts already made.
|
|
161
|
+
editQuizSlot: ["course-content", "others-write"],
|
|
162
|
+
removeQuizSlot: CONTENT,
|
|
163
|
+
setQuizPages: CONTENT,
|
|
164
|
+
addQuizSection: CONTENT,
|
|
143
165
|
// Forums.
|
|
144
166
|
forumDiscussions: PERSONAL,
|
|
145
167
|
discussion: PERSONAL,
|
|
146
168
|
replyToPost: ["communication"],
|
|
147
169
|
startDiscussion: ["communication"],
|
|
148
170
|
setDiscussionState: ["others-personal", "communication"],
|
|
171
|
+
// Editing or deleting one's own posts is communication; a moderator's, someone else's, is writing about others.
|
|
172
|
+
editPost: ["communication", "others-write"],
|
|
173
|
+
deletePost: ["communication", "others-write"],
|
|
149
174
|
// Surveys.
|
|
150
175
|
getSurvey: ["course-content", "own"],
|
|
151
176
|
submitSurvey: OWN,
|
|
@@ -153,29 +178,71 @@ export const DATA_CATEGORIES = {
|
|
|
153
178
|
participants: PERSONAL,
|
|
154
179
|
groups: PERSONAL,
|
|
155
180
|
participantFilters: ["course-content"],
|
|
181
|
+
potentialUsers: PERSONAL,
|
|
182
|
+
enrolUsers: ["others-personal", "others-write"],
|
|
183
|
+
unenrolUser: ["others-personal", "others-write"],
|
|
184
|
+
setUserRoles: ["others-personal", "others-write"],
|
|
185
|
+
createGroup: CONTENT,
|
|
186
|
+
updateGroup: CONTENT,
|
|
187
|
+
deleteGroup: CONTENT,
|
|
188
|
+
setGroupMembers: ["others-personal", "others-write"],
|
|
189
|
+
groupings: CONTENT,
|
|
190
|
+
createGrouping: CONTENT,
|
|
191
|
+
deleteGrouping: CONTENT,
|
|
192
|
+
setGroupingGroups: CONTENT,
|
|
193
|
+
enrolmentMethods: CONTENT,
|
|
194
|
+
setEnrolmentMethod: CONTENT,
|
|
156
195
|
// Completion: the person's own, deciding someone else's, everyone's report.
|
|
157
196
|
setCompletion: OWN,
|
|
158
197
|
overrideCompletion: ["others-write"],
|
|
159
198
|
completionReport: PERSONAL,
|
|
199
|
+
// Reports on what people did: the logs and each one's participation; the views per activity identify no one.
|
|
200
|
+
courseLogs: PERSONAL,
|
|
201
|
+
participationReport: PERSONAL,
|
|
202
|
+
activityReport: ["course-content", "others-aggregate"],
|
|
160
203
|
// The gradebook: everyone's grades, and its setup (course content).
|
|
161
204
|
graderReport: PERSONAL,
|
|
162
205
|
gradebookSetup: CONTENT,
|
|
163
206
|
updateGradeItem: CONTENT,
|
|
164
207
|
addGradeCategory: CONTENT,
|
|
208
|
+
addGradeItem: CONTENT,
|
|
209
|
+
updateGradeCategory: CONTENT,
|
|
210
|
+
deleteGradeCategory: CONTENT,
|
|
211
|
+
// Deleting a manual item deletes its grades too.
|
|
212
|
+
deleteGradeItem: ["course-content", "others-write"],
|
|
213
|
+
// Grading in the gradebook: reads the grade it changes.
|
|
214
|
+
setGrade: ["others-personal", "others-write"],
|
|
215
|
+
// Whole-forum grading: everyone's forum grade, and giving one.
|
|
216
|
+
forumGrades: PERSONAL,
|
|
217
|
+
gradeForumUser: ["others-personal", "others-write"],
|
|
218
|
+
// Rating someone's post, entry or record: a judgement of their work.
|
|
219
|
+
rate: ["others-write"],
|
|
220
|
+
// Workshops: everyone's submissions and assessments; switching the phase opens or closes their work; assessing judges it.
|
|
221
|
+
workshopInfo: PERSONAL,
|
|
222
|
+
setWorkshopPhase: ["others-write"],
|
|
223
|
+
assessWorkshopSubmission: ["others-personal", "others-write"],
|
|
224
|
+
// Everyone's grades, as Moodle exports them.
|
|
225
|
+
exportGrades: PERSONAL,
|
|
165
226
|
// Question banks: what teachers write.
|
|
166
227
|
questionBanks: CONTENT,
|
|
167
228
|
questions: CONTENT,
|
|
168
229
|
importQuestions: CONTENT,
|
|
169
230
|
createQuestion: CONTENT,
|
|
231
|
+
updateQuestion: CONTENT,
|
|
232
|
+
deleteQuestions: CONTENT,
|
|
233
|
+
setQuestionStatus: CONTENT,
|
|
170
234
|
// Messaging: the person's own notifications; conversations hold others' messages; sending is communication.
|
|
171
235
|
notifications: OWN,
|
|
172
236
|
markNotificationsRead: OWN,
|
|
173
237
|
conversations: PERSONAL,
|
|
174
238
|
conversation: PERSONAL,
|
|
175
239
|
sendMessage: ["communication"],
|
|
240
|
+
messageParticipants: ["communication"],
|
|
176
241
|
// The calendar: the person's upcoming events; course events are what teachers set.
|
|
177
242
|
upcomingEvents: ["own", "course-content"],
|
|
243
|
+
calendarEvent: ["own", "course-content"],
|
|
178
244
|
createEvent: CONTENT,
|
|
245
|
+
updateEvent: CONTENT,
|
|
179
246
|
deleteEvent: CONTENT,
|
|
180
247
|
// H5P: the content (course content) and the person's own attempts.
|
|
181
248
|
h5pActivity: ["course-content", "own"],
|
package/dist/categories.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../src/categories.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,8FAA8F;AAE9F;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../src/categories.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/args.d.ts
CHANGED
|
@@ -17,6 +17,14 @@ export interface GlobalFlags {
|
|
|
17
17
|
}
|
|
18
18
|
export declare const camel: (name: string) => string;
|
|
19
19
|
export declare const kebab: (name: string) => string;
|
|
20
|
+
/**
|
|
21
|
+
* A line typed in `moodle shell`, split as a shell splits a command line: on spaces, with '…' and "…"
|
|
22
|
+
* keeping spaces (and JSON's quotes) inside one word. A backslash escapes only a space, a quote or
|
|
23
|
+
* another backslash, so Windows paths (`C:\Users\ada`) come through as typed.
|
|
24
|
+
*/
|
|
25
|
+
export declare function tokenize(line: string): string[];
|
|
26
|
+
/** The command's own flags, as typed: for completing them. */
|
|
27
|
+
export declare const GLOBAL_FLAGS: string[];
|
|
20
28
|
/** The command named on the line, before any flags are read (they depend on it). */
|
|
21
29
|
export declare function commandName(argv: string[]): string | undefined;
|
|
22
30
|
/** The command for a name as typed: camelCase, kebab-case or any case (`login` is `logIn`). */
|
package/dist/cli/args.js
CHANGED
|
@@ -11,6 +11,55 @@ const GLOBAL_SWITCHES = new Set(["json", "show", "help", "version"]);
|
|
|
11
11
|
const PATH_FIELDS = new Set(["files", "file", "destDir"]);
|
|
12
12
|
export const camel = (name) => name.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
|
|
13
13
|
export const kebab = (name) => name.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);
|
|
14
|
+
/**
|
|
15
|
+
* A line typed in `moodle shell`, split as a shell splits a command line: on spaces, with '…' and "…"
|
|
16
|
+
* keeping spaces (and JSON's quotes) inside one word. A backslash escapes only a space, a quote or
|
|
17
|
+
* another backslash, so Windows paths (`C:\Users\ada`) come through as typed.
|
|
18
|
+
*/
|
|
19
|
+
export function tokenize(line) {
|
|
20
|
+
const tokens = [];
|
|
21
|
+
let current = "";
|
|
22
|
+
let inToken = false;
|
|
23
|
+
let quote;
|
|
24
|
+
for (let i = 0; i < line.length; i++) {
|
|
25
|
+
const c = line[i];
|
|
26
|
+
const next = line[i + 1];
|
|
27
|
+
if (quote) {
|
|
28
|
+
if (c === quote)
|
|
29
|
+
quote = undefined;
|
|
30
|
+
else if (c === "\\" && quote === '"' && (next === '"' || next === "\\"))
|
|
31
|
+
current += line[++i];
|
|
32
|
+
else
|
|
33
|
+
current += c;
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (c === "'" || c === '"') {
|
|
37
|
+
quote = c;
|
|
38
|
+
inToken = true;
|
|
39
|
+
}
|
|
40
|
+
else if (c === "\\" && next !== undefined && " \t'\"\\".includes(next)) {
|
|
41
|
+
current += line[++i];
|
|
42
|
+
inToken = true;
|
|
43
|
+
}
|
|
44
|
+
else if (c === " " || c === "\t") {
|
|
45
|
+
if (inToken)
|
|
46
|
+
tokens.push(current);
|
|
47
|
+
current = "";
|
|
48
|
+
inToken = false;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
current += c;
|
|
52
|
+
inToken = true;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (quote)
|
|
56
|
+
throw new UsageError(`A ${quote} quote isn't closed.`);
|
|
57
|
+
if (inToken)
|
|
58
|
+
tokens.push(current);
|
|
59
|
+
return tokens;
|
|
60
|
+
}
|
|
61
|
+
/** The command's own flags, as typed: for completing them. */
|
|
62
|
+
export const GLOBAL_FLAGS = [...GLOBAL_VALUES, ...GLOBAL_SWITCHES].map((name) => `--${name}`);
|
|
14
63
|
/** The command named on the line, before any flags are read (they depend on it). */
|
|
15
64
|
export function commandName(argv) {
|
|
16
65
|
for (let i = 0; i < argv.length; i++) {
|
package/dist/cli/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,mDAAmD;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,gGAAgG;AAChG,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,GAAG,YAAY,CAAC;CAC9B;AAeD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAClE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AACrE,6FAA6F;AAC7F,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACpG,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAE5F,oFAAoF;AACpF,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC7B,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;YAClD,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,CAAC,EAAE,CAAC;YACzD,SAAS;QACX,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,WAAW,CAAC,QAAgC,EAAE,KAAa;IACzE,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,SAAS,CAAC,IAAc,EAAE,OAAgC;IACxE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjJ,MAAM,MAAM,GAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACtF,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,WAAW;gBAAE,WAAW,GAAG,IAAI,CAAC;;gBAChC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,KAAK,GAAuB,MAAM,CAAC;QACvC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3G,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9C,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,KAAK,GAAG,MAAM,CAAC;iBAClC,CAAC;gBACJ,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,KAAK,SAAS;oBAAE,MAAM,IAAI,UAAU,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAChF,KAAK,GAAG,IAAI,CAAC;gBACb,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;QACD,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAG,MAA4C,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aACpF,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAAG,MAA6C,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,OAAO,CAAC;;YACxG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,SAAiB;IAChD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,OAAO,CAAC,GAAa,EAAE,IAAe,EAAE,GAAW;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,2BAA2B,GAAG,IAAI,CAAC,CAAC;YAC/G,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,SAAS;YACZ,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrD,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,gCAAgC,GAAG,IAAI,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,+DAA+D,GAAG,IAAI,CAAC,CAAC;YACvI,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM;YACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,mBAAmB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;YACrI,OAAO,GAAG,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAChH,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtE,KAAK,MAAM;YACT,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,yDAAyD,GAAG,GAAG,CAAC,CAAC;YAChG,CAAC;QACH;YACE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,oGAAoG;AACpG,SAAS,KAAK,CAAC,GAAW;IACxB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,eAAe,CAAC,OAAoB,EAAE,WAAqB,EAAE,KAA4B,EAAE,GAAW;IACpH,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAAE,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;YAC3F,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;;YAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,MAAM,CAAC,MAAM,YAAY,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrN,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrI,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,MAAM,GAA4B,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC;QAC/C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,qCAAqC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACvJ,MAAM,GAAG,EAAE,GAAI,MAAkC,EAAE,CAAC;IACtD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,KAAK,MAAM;YAAE,SAAS;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC1D,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;aAC9C,IAAI,OAAO,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC;aAC7D,CAAC;YACJ,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7H,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3E,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAe;IAC5C,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** The lock a command holds while it works on a background browser: one at a time. */
|
|
2
|
+
export declare const LOCK_FILE = ".browser.lock";
|
|
3
|
+
export declare const isAlive: (pid: number) => boolean;
|
|
4
|
+
/** Whether a background browser seems to run on `profileDir`, without asking it (for `moodle sites`). */
|
|
5
|
+
export declare function backgroundRunning(profileDir: string): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Takes the profile's lock, waiting up to `waitMs` for another command to finish; gives the function
|
|
8
|
+
* that releases it. A lock whose process is gone is taken over.
|
|
9
|
+
*/
|
|
10
|
+
export declare function lockBackground(profileDir: string, waitMs?: number): Promise<() => void>;
|
|
11
|
+
/**
|
|
12
|
+
* Hosts a browser on `profileDir` from this process and writes its `.browser.json` (readable only by
|
|
13
|
+
* the person); resolves once commands can connect, with a promise that settles when it's closed (asked
|
|
14
|
+
* to with `moodle close`, or the person closed its window), the file removed.
|
|
15
|
+
*/
|
|
16
|
+
export declare function hostBackground(profileDir: string, headed: boolean): Promise<{
|
|
17
|
+
closed: Promise<void>;
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* How `moodle open` starts the background process: this program (`script`) again, detached, with
|
|
21
|
+
* `__background`; waits until it answers, or says why it couldn't start (from its log, next to `.browser.json`).
|
|
22
|
+
*/
|
|
23
|
+
export declare function spawnBackground(script: string): (profileDir: string, headed: boolean) => Promise<void>;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
// `moodle open` and `moodle close`: a browser left open in the background on a profile, which every
|
|
2
|
+
// command on that profile connects to instead of launching its own (ADR-014). The process holding it
|
|
3
|
+
// is this same program, started detached with `__background`.
|
|
4
|
+
import { spawn } from "node:child_process";
|
|
5
|
+
import { closeSync, mkdirSync, openSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
6
|
+
import path from "node:path";
|
|
7
|
+
import { BACKGROUND_FILE, backgroundBrowser } from "../browser/background.js";
|
|
8
|
+
import { hostBrowser } from "../browser/host.js";
|
|
9
|
+
import { MoodleError } from "../core/errors.js";
|
|
10
|
+
/** The lock a command holds while it works on a background browser: one at a time. */
|
|
11
|
+
export const LOCK_FILE = ".browser.lock";
|
|
12
|
+
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
13
|
+
export const isAlive = (pid) => {
|
|
14
|
+
try {
|
|
15
|
+
process.kill(pid, 0);
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
return error.code === "EPERM";
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
/** Whether a background browser seems to run on `profileDir`, without asking it (for `moodle sites`). */
|
|
23
|
+
export function backgroundRunning(profileDir) {
|
|
24
|
+
try {
|
|
25
|
+
const { pid } = JSON.parse(readFileSync(path.join(profileDir, BACKGROUND_FILE), "utf8"));
|
|
26
|
+
return isAlive(pid);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Takes the profile's lock, waiting up to `waitMs` for another command to finish; gives the function
|
|
34
|
+
* that releases it. A lock whose process is gone is taken over.
|
|
35
|
+
*/
|
|
36
|
+
export async function lockBackground(profileDir, waitMs = 5000) {
|
|
37
|
+
const file = path.join(profileDir, LOCK_FILE);
|
|
38
|
+
const until = Date.now() + waitMs;
|
|
39
|
+
for (;;) {
|
|
40
|
+
try {
|
|
41
|
+
writeFileSync(file, String(process.pid), { flag: "wx", mode: 0o600 });
|
|
42
|
+
return () => {
|
|
43
|
+
try {
|
|
44
|
+
if (readFileSync(file, "utf8") === String(process.pid))
|
|
45
|
+
rmSync(file, { force: true });
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// Already gone.
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
if (error.code !== "EEXIST")
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
let holder;
|
|
57
|
+
try {
|
|
58
|
+
holder = Number(readFileSync(file, "utf8"));
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (!holder || !isAlive(holder)) {
|
|
64
|
+
rmSync(file, { force: true });
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (Date.now() >= until)
|
|
68
|
+
throw new MoodleError("Another command is working on the background browser of this profile: try again when it ends.", "browser-busy");
|
|
69
|
+
await sleep(100);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Hosts a browser on `profileDir` from this process and writes its `.browser.json` (readable only by
|
|
74
|
+
* the person); resolves once commands can connect, with a promise that settles when it's closed (asked
|
|
75
|
+
* to with `moodle close`, or the person closed its window), the file removed.
|
|
76
|
+
*/
|
|
77
|
+
export async function hostBackground(profileDir, headed) {
|
|
78
|
+
const host = await hostBrowser({ profileDir, headed });
|
|
79
|
+
const file = path.join(profileDir, BACKGROUND_FILE);
|
|
80
|
+
const record = { endpoint: host.endpoint, token: host.token, pid: process.pid, channel: host.channel, headed };
|
|
81
|
+
// Written whole, then renamed: a command never reads half a file.
|
|
82
|
+
const partial = `${file}.${process.pid}`;
|
|
83
|
+
writeFileSync(partial, `${JSON.stringify(record, null, 2)}\n`, { mode: 0o600 });
|
|
84
|
+
renameSync(partial, file);
|
|
85
|
+
const stop = () => void host.close();
|
|
86
|
+
for (const signal of ["SIGINT", "SIGTERM", "SIGHUP"])
|
|
87
|
+
process.once(signal, stop);
|
|
88
|
+
const closed = host.closed.then(() => {
|
|
89
|
+
for (const signal of ["SIGINT", "SIGTERM", "SIGHUP"])
|
|
90
|
+
process.off(signal, stop);
|
|
91
|
+
try {
|
|
92
|
+
if (JSON.parse(readFileSync(file, "utf8")).token === host.token)
|
|
93
|
+
rmSync(file, { force: true });
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
// Already gone.
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
return { closed };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* How `moodle open` starts the background process: this program (`script`) again, detached, with
|
|
103
|
+
* `__background`; waits until it answers, or says why it couldn't start (from its log, next to `.browser.json`).
|
|
104
|
+
*/
|
|
105
|
+
export function spawnBackground(script) {
|
|
106
|
+
return async (profileDir, headed) => {
|
|
107
|
+
mkdirSync(profileDir, { recursive: true });
|
|
108
|
+
const log = path.join(profileDir, ".browser.log");
|
|
109
|
+
const fd = openSync(log, "w", 0o600);
|
|
110
|
+
const child = spawn(process.execPath, [...process.execArgv, script, "__background", profileDir, ...(headed ? ["--show"] : [])], { detached: true, stdio: ["ignore", fd, fd], windowsHide: true });
|
|
111
|
+
closeSync(fd);
|
|
112
|
+
let exited = false;
|
|
113
|
+
child.once("exit", () => (exited = true));
|
|
114
|
+
child.unref();
|
|
115
|
+
const until = Date.now() + 180_000;
|
|
116
|
+
while (Date.now() < until) {
|
|
117
|
+
if (await backgroundBrowser(profileDir))
|
|
118
|
+
return;
|
|
119
|
+
if (exited) {
|
|
120
|
+
const why = readFileSync(log, "utf8").trim().split("\n").filter(Boolean).slice(-3).join("\n");
|
|
121
|
+
throw new MoodleError(`The background browser didn't start${why ? `: ${why}` : "."}`, "background-browser");
|
|
122
|
+
}
|
|
123
|
+
await sleep(200);
|
|
124
|
+
}
|
|
125
|
+
throw new MoodleError("The background browser didn't start in 3 minutes.", "background-browser");
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=background.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background.js","sourceRoot":"","sources":["../../src/cli/background.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type DataCategory } from "../categories.js";
|
|
2
|
+
import type { Moodle, MoodleOptions } from "../client.js";
|
|
3
|
+
import { type GlobalFlags } from "./args.js";
|
|
4
|
+
export interface CliDeps {
|
|
5
|
+
createMoodle: (options: MoodleOptions) => Moodle;
|
|
6
|
+
stdout: (text: string) => void;
|
|
7
|
+
stderr: (text: string) => void;
|
|
8
|
+
env: NodeJS.ProcessEnv;
|
|
9
|
+
cwd: string;
|
|
10
|
+
/** The command's home: the default site, and a folder per site with its profiles (ADR-013). */
|
|
11
|
+
home: string;
|
|
12
|
+
/** Whether stdout is a terminal: progress and readable output then, JSON to a pipe. */
|
|
13
|
+
interactive: boolean;
|
|
14
|
+
version: string;
|
|
15
|
+
/** Where `moodle shell` reads its lines from: the terminal, or a script in tests. */
|
|
16
|
+
input?: NodeJS.ReadableStream;
|
|
17
|
+
/** Where `moodle shell` writes its prompt. */
|
|
18
|
+
output?: NodeJS.WritableStream;
|
|
19
|
+
/** Whether `input` is a terminal: a prompt, line editing, completion and Ctrl+C then. */
|
|
20
|
+
terminal?: boolean;
|
|
21
|
+
/** Starts the background browser of `moodle open` on a profile, returning once commands can connect to it (ADR-014). */
|
|
22
|
+
startBackground?: (profileDir: string, headed: boolean) => Promise<void>;
|
|
23
|
+
/** How long a command waits for another one working on the background browser: 5 s unless given. */
|
|
24
|
+
lockWaitMs?: number;
|
|
25
|
+
}
|
|
26
|
+
/** What one `moodle` process keeps between its lines: one Moodle object, and what it was opened for. */
|
|
27
|
+
export interface CliSession {
|
|
28
|
+
/** The global options a line doesn't give: the shell's own, then what `use` or `login` chose. */
|
|
29
|
+
defaults: Partial<Pick<GlobalFlags, "site" | "as" | "profile" | "allow">> & {
|
|
30
|
+
json?: boolean;
|
|
31
|
+
};
|
|
32
|
+
/** Whether the browser shows a window (`--show`, `show`, `hide`). */
|
|
33
|
+
show: boolean;
|
|
34
|
+
open?: {
|
|
35
|
+
moodle: Moodle;
|
|
36
|
+
site: string;
|
|
37
|
+
profileDir: string;
|
|
38
|
+
/** On a background browser (ADR-014): releases the profile's lock. */
|
|
39
|
+
release?: () => void;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/** The site and profile a line works on. */
|
|
43
|
+
export interface Target {
|
|
44
|
+
site: string;
|
|
45
|
+
profileDir: string;
|
|
46
|
+
/** The profile's name; none for a folder given with `--profile`. */
|
|
47
|
+
name?: string;
|
|
48
|
+
/** `--profile` or `MOODLE_PROFILE`: a folder of the person's own. */
|
|
49
|
+
ownProfile?: string;
|
|
50
|
+
}
|
|
51
|
+
export declare function overview(): string;
|
|
52
|
+
/** The data categories of `--allow`, checked: a `UsageError` names the unknown ones. */
|
|
53
|
+
export declare function allowedCategories(allow: string): DataCategory[];
|
|
54
|
+
/** The site and profile a line works on, as far as they're known: `undefined` before the first login. */
|
|
55
|
+
export declare function targetOf(deps: CliDeps, session: CliSession, global?: GlobalFlags): Target | undefined;
|
|
56
|
+
/** Closes the session's browser, saving the session (ADR-003); the next line opens it again. */
|
|
57
|
+
export declare function closeSession(session: CliSession): Promise<void>;
|
|
58
|
+
/** Opens the session's browser now, for its site and profile (`--show` and `show` in the shell, `use`). */
|
|
59
|
+
export declare function openSession(deps: CliDeps, session: CliSession): Promise<Target>;
|
|
60
|
+
/** Prints an error as the command does, and says its exit status (2 a command line that doesn't fit, else 1). */
|
|
61
|
+
export declare function report(deps: CliDeps, error: unknown): number;
|
|
62
|
+
/**
|
|
63
|
+
* Runs one command line on the session, leaving its browser open for the next line; returns the exit
|
|
64
|
+
* status (0 done, 1 failed, 2 a command line that doesn't fit).
|
|
65
|
+
*/
|
|
66
|
+
export declare function runLine(argv: string[], deps: CliDeps, session: CliSession): Promise<number>;
|