@vue-skuilder/common 0.1.4 → 0.1.6
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/CLAUDE.md +56 -0
- package/dist/db.d.ts +2 -0
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js.map +1 -1
- package/package.json +1 -1
- package/src/db.ts +2 -0
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# @vue-skuilder/common Package
|
|
2
|
+
|
|
3
|
+
Shared TypeScript library providing common types, interfaces, and utilities used across all vue-skuilder packages.
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
- Build: `yarn workspace @vue-skuilder/common build` (complex dual-format build)
|
|
7
|
+
- Dev: `yarn workspace @vue-skuilder/common dev` (TypeScript watch mode)
|
|
8
|
+
- Lint: `yarn workspace @vue-skuilder/common lint:fix`
|
|
9
|
+
|
|
10
|
+
## Build System
|
|
11
|
+
Complex dual-format build supporting both CommonJS and ESM:
|
|
12
|
+
|
|
13
|
+
### Build Process
|
|
14
|
+
1. **CJS Build**: `tsc -p tsconfig.cjs.json` → `dist/`
|
|
15
|
+
2. **ESM Build**: `tsc -p tsconfig.esm.json` → `dist-esm/`
|
|
16
|
+
3. **File Transformation**: Convert `.js` extensions to `.mjs` for ESM
|
|
17
|
+
4. **File Renaming**: Rename all `.js` files to `.mjs` in ESM build
|
|
18
|
+
5. **Merge**: Copy ESM files to `dist/` alongside CJS files
|
|
19
|
+
6. **Cleanup**: Remove temporary `dist-esm/`
|
|
20
|
+
|
|
21
|
+
### Package Exports
|
|
22
|
+
- **Types**: `./dist/index.d.ts`
|
|
23
|
+
- **Import (ESM)**: `./dist/index.mjs`
|
|
24
|
+
- **Require (CJS)**: `./dist/index.js`
|
|
25
|
+
|
|
26
|
+
## Dependencies
|
|
27
|
+
- `moment` - Date/time manipulation (only runtime dependency)
|
|
28
|
+
|
|
29
|
+
## Package Contents
|
|
30
|
+
|
|
31
|
+
### Core Types & Interfaces
|
|
32
|
+
- **DataShape**: Core data structure definitions (`interfaces/DataShape.ts`)
|
|
33
|
+
- **FieldDefinition**: Form field type system (`interfaces/FieldDefinition.ts`)
|
|
34
|
+
- **ViewData**: UI data presentation contracts (`interfaces/ViewData.ts`)
|
|
35
|
+
- **Answer Interfaces**: Question/answer type system (`interfaces/AnswerInterfaces.ts`)
|
|
36
|
+
|
|
37
|
+
### Enums
|
|
38
|
+
- **DataShapeNames**: Standardized data type identifiers (`enums/DataShapeNames.ts`)
|
|
39
|
+
- **FieldType**: Form field type enumeration (`enums/FieldType.ts`)
|
|
40
|
+
|
|
41
|
+
### Utilities
|
|
42
|
+
- **Field Converters**: Data transformation utilities (`fieldConverters.ts`)
|
|
43
|
+
- **Validators**: Input validation logic (`validators.ts`)
|
|
44
|
+
- **Wire Format**: Serialization helpers (`wire-format.ts`)
|
|
45
|
+
- **ELO System**: Rating algorithm implementation (`elo.ts`)
|
|
46
|
+
- **Course Data**: Course management utilities (`course-data.ts`)
|
|
47
|
+
|
|
48
|
+
### Bulk Import System
|
|
49
|
+
- **Card Parser**: Content parsing utilities (`bulkImport/cardParser.ts`)
|
|
50
|
+
- **Import Types**: Bulk operation type definitions (`bulkImport/types.ts`)
|
|
51
|
+
|
|
52
|
+
## Key Design Principles
|
|
53
|
+
- **Zero Framework Dependencies**: Pure TypeScript/JavaScript utilities
|
|
54
|
+
- **Universal Compatibility**: Works in Node.js, browsers, and bundlers
|
|
55
|
+
- **Type Safety**: Full TypeScript coverage with strict mode
|
|
56
|
+
- **Minimal Runtime**: Only essential dependencies (moment.js)
|
package/dist/db.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export interface Tag extends SkuilderCourseData {
|
|
|
27
27
|
snippet: string;
|
|
28
28
|
wiki: string;
|
|
29
29
|
taggedCards: PouchDB.Core.DocumentId[];
|
|
30
|
+
author: string;
|
|
30
31
|
}
|
|
31
32
|
export interface TagStub {
|
|
32
33
|
name: string;
|
|
@@ -38,6 +39,7 @@ export interface CardData extends SkuilderCourseData {
|
|
|
38
39
|
id_displayable_data: PouchDB.Core.DocumentId[];
|
|
39
40
|
id_view: PouchDB.Core.DocumentId;
|
|
40
41
|
elo: CourseElo;
|
|
42
|
+
author: string;
|
|
41
43
|
}
|
|
42
44
|
/** A list of populated courses in the DB */
|
|
43
45
|
export interface CourseListData extends PouchDB.Core.Response {
|
package/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,oBAAY,OAAO;IACjB,gBAAgB,qBAAqB;IACrC,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,YAAY,aAAa;IACzB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,GAAG,QAAQ;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,GAAI,SAAQ,kBAAkB;IAC7C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,OAUX;AAVD,WAAY,OAAO;IACjB,gDAAqC,CAAA;IACrC,wBAAa,CAAA;IACb,kCAAuB,CAAA;IACvB,oCAAyB,CAAA;IACzB,wBAAa,CAAA;IACb,gCAAqB,CAAA;IACrB,oCAAyB,CAAA;IACzB,4CAAiC,CAAA;IACjC,sBAAW,CAAA;AACb,CAAC,EAVW,OAAO,KAAP,OAAO,QAUlB;
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,OAUX;AAVD,WAAY,OAAO;IACjB,gDAAqC,CAAA;IACrC,wBAAa,CAAA;IACb,kCAAuB,CAAA;IACvB,oCAAyB,CAAA;IACzB,wBAAa,CAAA;IACb,gCAAqB,CAAA;IACrB,oCAAyB,CAAA;IACzB,4CAAiC,CAAA;IACjC,sBAAW,CAAA;AACb,CAAC,EAVW,OAAO,KAAP,OAAO,QAUlB;AAmED,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAElC,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,MAAc;IAC/D,OAAO,GAAG,iBAAiB,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAI3C,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,GAAW,EAAE,CAAC;IACvB,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qDAAqD,CAAC;IACzF,KAAK;QACH,KAAK,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAoC,iBAAiB,EAAE,CAAC;IAEhG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,iBAAiB,EAAE,CAAC;QACzD,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAClB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;SACjB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,KAAK,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAsED,MAAM,UAAU,kBAAkB,CAAC,CAA0B;IAC3D,OAAO,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAa;IAC5C,OAAQ,CAAoB,CAAC,UAAU,KAAK,SAAS,CAAC;AACxD,CAAC"}
|
package/package.json
CHANGED
package/src/db.ts
CHANGED
|
@@ -30,6 +30,7 @@ export interface Tag extends SkuilderCourseData {
|
|
|
30
30
|
snippet: string; // 200 char description of the tag
|
|
31
31
|
wiki: string; // 3000 char md-friendly description
|
|
32
32
|
taggedCards: PouchDB.Core.DocumentId[];
|
|
33
|
+
author: string;
|
|
33
34
|
}
|
|
34
35
|
export interface TagStub {
|
|
35
36
|
name: string;
|
|
@@ -42,6 +43,7 @@ export interface CardData extends SkuilderCourseData {
|
|
|
42
43
|
id_displayable_data: PouchDB.Core.DocumentId[];
|
|
43
44
|
id_view: PouchDB.Core.DocumentId;
|
|
44
45
|
elo: CourseElo;
|
|
46
|
+
author: string;
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
/** A list of populated courses in the DB */
|