@fiduswriter/bibliography-manager 0.1.8 → 0.1.9

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.
Files changed (2) hide show
  1. package/README.md +53 -12
  2. package/package.json +88 -74
package/README.md CHANGED
@@ -1,20 +1,61 @@
1
- # @fiduswriter/bibliography-manager
1
+ <p align="center">
2
+ <img src="logo.svg" alt="@fiduswriter/bibliography-manager" width="100" height="100">
3
+ </p>
2
4
 
3
- Fidus Writer bibliography manager.
5
+ <h1 align="center">@fiduswriter/bibliography-manager</h1>
4
6
 
5
- This package implements the bibliography management UI: the overview table, the
6
- entry form and field editors, import/export filters, and the client-side
7
- bibliography database connector.
7
+ <p align="center">Bibliography manager UI and logic for Fidus Writer</p>
8
8
 
9
- ## Build
9
+ ---
10
+
11
+ ## What it does
12
+
13
+ Implements the browser-based bibliography management interface used in the
14
+ Fidus Writer collaborative editor. Provides an overview table for browsing
15
+ citations, an entry form with specialized field editors, a client-side
16
+ database connector, and import/export filters for bibliography data.
17
+
18
+ ## Exports
19
+
20
+ | Export | Description |
21
+ |--------|-------------|
22
+ | `BibliographyOverview` | Full overview table component showing all bibliography entries |
23
+ | `BibEntryForm` | Entry form with per-field-type editors (names, dates, ranges, URIs, literals, etc.) |
24
+ | `BibliographyDB` | Client-side connector to the server's bibliography database |
25
+ | `importBibFile` | Import bibliography data from external files (BibTeX, CSL JSON, etc.) |
26
+ | `exportBibFile` | Export bibliography data to external formats |
27
+
28
+ ## Installation
29
+
30
+ ```bash
31
+ npm install @fiduswriter/bibliography-manager
32
+ ```
33
+
34
+ ## Usage
35
+
36
+ ```ts
37
+ import {
38
+ BibliographyOverview,
39
+ BibEntryForm,
40
+ BibliographyDB,
41
+ importBibFile,
42
+ exportBibFile
43
+ } from "@fiduswriter/bibliography-manager"
44
+ ```
45
+
46
+ The bibliography manager depends on `@fiduswriter/common` for page chrome and
47
+ `fwtoolkit` for UI primitives.
48
+
49
+ ## Development
10
50
 
11
51
  ```bash
12
- npm install
13
- npm run build
52
+ npm install # Install dependencies
53
+ npm run build # Compile TypeScript to dist/
54
+ npm run typecheck # Check types without emitting
55
+ npm run lint # Lint with ESLint
56
+ npm run format:check # Check formatting with Prettier
14
57
  ```
15
58
 
16
- ## Status
59
+ ## License
17
60
 
18
- This is an initial extraction from the main Fidus Writer Django app. The code is
19
- still JavaScript and will be migrated to TypeScript over time. The bibliography
20
- logic depends on `bibliojson` (previously published as `biblatex-csl-converter`).
61
+ AGPL-3.0 see [LICENSE](LICENSE) for details.
package/package.json CHANGED
@@ -1,81 +1,95 @@
1
1
  {
2
- "name": "@fiduswriter/bibliography-manager",
3
- "version": "0.1.8",
4
- "description": "Fidus Writer bibliography manager",
5
- "repository": {
6
- "type": "git",
7
- "url": "ssh://git@codeberg.org/fiduswriter/fiduswriter-bibliography-manager-js.git"
2
+ "name": "@fiduswriter/bibliography-manager",
3
+ "version": "0.1.9",
4
+ "description": "Fidus Writer bibliography manager",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "ssh://git@codeberg.org/fiduswriter/fiduswriter-bibliography-manager-js.git"
8
+ },
9
+ "license": "AGPL-3.0",
10
+ "author": "Johannes Wilm",
11
+ "type": "module",
12
+ "main": "./dist/index.js",
13
+ "types": "./dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "default": "./dist/index.js"
8
18
  },
9
- "license": "AGPL-3.0",
10
- "author": "Johannes Wilm",
11
- "type": "module",
12
- "main": "./dist/index.js",
13
- "types": "./dist/index.d.ts",
14
- "exports": {
15
- ".": {
16
- "types": "./dist/index.d.ts",
17
- "default": "./dist/index.js"
18
- },
19
- "./overview": {
20
- "types": "./dist/overview/index.d.ts",
21
- "default": "./dist/overview/index.js"
22
- },
23
- "./form": {
24
- "types": "./dist/form/index.d.ts",
25
- "default": "./dist/form/index.js"
26
- },
27
- "./database": {
28
- "types": "./dist/database/index.d.ts",
29
- "default": "./dist/database/index.js"
30
- },
31
- "./import": {
32
- "types": "./dist/import/index.d.ts",
33
- "default": "./dist/import/index.js"
34
- },
35
- "./export": {
36
- "types": "./dist/export/index.d.ts",
37
- "default": "./dist/export/index.js"
38
- },
39
- "./schema/*": {
40
- "types": "./dist/schema/*.d.ts",
41
- "default": "./dist/schema/*.js"
42
- },
43
- "./*": {
44
- "types": "./dist/*.d.ts",
45
- "default": "./dist/*.js"
46
- }
19
+ "./overview": {
20
+ "types": "./dist/overview/index.d.ts",
21
+ "default": "./dist/overview/index.js"
47
22
  },
48
- "files": [
49
- "dist/",
50
- "src/",
51
- "README.md",
52
- "LICENSE"
53
- ],
54
- "scripts": {
55
- "build": "tsc",
56
- "prepare": "npm run build",
57
- "prepublishOnly": "npm run build",
58
- "typecheck": "tsc --noEmit",
59
- "lint": "eslint src",
60
- "lint:fix": "eslint src --fix",
61
- "format": "prettier --write .",
62
- "format:check": "prettier --check ."
23
+ "./form": {
24
+ "types": "./dist/form/index.d.ts",
25
+ "default": "./dist/form/index.js"
26
+ },
27
+ "./database": {
28
+ "types": "./dist/database/index.d.ts",
29
+ "default": "./dist/database/index.js"
30
+ },
31
+ "./import": {
32
+ "types": "./dist/import/index.d.ts",
33
+ "default": "./dist/import/index.js"
63
34
  },
64
- "dependencies": {
65
- "@fiduswriter/common": "^0.1.3",
66
- "bibliojson": "^4.0.0",
67
- "fix-utf8": "2.0.1",
68
- "fwtoolkit": "^0.1.9",
69
- "prosemirror-model": "^1.25.0",
70
- "prosemirror-schema-basic": "^1.2.4",
71
- "tokenfield": "^1.2.2"
35
+ "./export": {
36
+ "types": "./dist/export/index.d.ts",
37
+ "default": "./dist/export/index.js"
72
38
  },
73
- "devDependencies": {
74
- "@eslint/js": "^10.0.1",
75
- "eslint": "^10.6.0",
76
- "globals": "^15.15.0",
77
- "prettier": "^3.5.3",
78
- "typescript": "^6.0.3",
79
- "typescript-eslint": "^8.62.0"
39
+ "./schema/*": {
40
+ "types": "./dist/schema/*.d.ts",
41
+ "default": "./dist/schema/*.js"
42
+ },
43
+ "./*": {
44
+ "types": "./dist/*.d.ts",
45
+ "default": "./dist/*.js"
80
46
  }
47
+ },
48
+ "files": [
49
+ "dist/",
50
+ "src/",
51
+ "README.md",
52
+ "LICENSE"
53
+ ],
54
+ "scripts": {
55
+ "build": "tsc",
56
+ "prepare": "npm run build",
57
+ "prepublishOnly": "npm run build",
58
+ "typecheck": "tsc --noEmit",
59
+ "lint": "eslint src",
60
+ "lint:fix": "eslint src --fix",
61
+ "format": "prettier --write .",
62
+ "format:check": "prettier --check .",
63
+ "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --config jest.config.js"
64
+ },
65
+ "dependencies": {
66
+ "@fiduswriter/common": "^0.1.3",
67
+ "bibliojson": "^4.0.0",
68
+ "fix-utf8": "2.0.1",
69
+ "fwtoolkit": "^0.1.9",
70
+ "prosemirror-model": "^1.25.0",
71
+ "prosemirror-schema-basic": "^1.2.4",
72
+ "tokenfield": "^1.2.2"
73
+ },
74
+ "devDependencies": {
75
+ "@eslint/js": "^10.0.1",
76
+ "@types/jest": "^30.0.0",
77
+ "eslint": "^10.6.0",
78
+ "globals": "^15.15.0",
79
+ "happy-dom": "^20.10.6",
80
+ "jest": "^30.4.2",
81
+ "prettier": "^3.5.3",
82
+ "ts-jest": "^29.4.11",
83
+ "ts-jest-resolver": "^2.0.1",
84
+ "typescript": "^6.0.3",
85
+ "typescript-eslint": "^8.62.0"
86
+ },
87
+ "lint-staged": {
88
+ "*.{ts,js,mjs,css,md,json,html}": [
89
+ "prettier --write"
90
+ ],
91
+ "*.{ts,js,mjs}": [
92
+ "eslint --fix"
93
+ ]
94
+ }
81
95
  }