+1
.idea/clippr.iml
+1
.idea/clippr.iml
···
9
9
<excludeFolder url="file://$MODULE_DIR$/backend/.pub" />
10
10
<excludeFolder url="file://$MODULE_DIR$/backend/build" />
11
11
<excludeFolder url="file://$MODULE_DIR$/.idea/dataSources" />
12
+
<excludeFolder url="file://$MODULE_DIR$/lexicons/dist" />
12
13
</content>
13
14
<orderEntry type="inheritedJdk" />
14
15
<orderEntry type="sourceFolder" forTests="false" />
+6
-2
README.md
+6
-2
README.md
···
1
1
# clippr
2
+
2
3
social bookmarking for atproto
3
4
4
5
## what's in here?
5
-
the project is sorted into two main directories, comprised of:
6
+
7
+
the project is sorted into four directories, comprised of:
6
8
7
9
* ``backend`` - the reference appview written using node and hono
8
-
* ``frontend`` - the reference frontend written in astro and typescript
10
+
* ``frontend`` - the reference frontend written in astro and typescript
11
+
* ``lex-src`` - the original lexicon files
12
+
* ``lexicons`` - an atcute package for the clippr lexicon
+2
-3
backend/package.json
+2
-3
backend/package.json
···
1
1
{
2
-
"name": "clippr-be",
2
+
"name": "@clipprjs/server",
3
3
"version": "0.1.0",
4
-
"private": "true",
5
4
"repository": "https://tangled.sh/@hexmani.ac/clippr",
6
5
"license": "AGPL-3.0-only",
7
6
"scripts": {
···
22
21
"@atcute/atproto": "^3.1.0",
23
22
"@atcute/lexicon-doc": "^1.0.3",
24
23
"@atcute/lexicons": "^1.1.0",
24
+
"@clipprjs/lexicons": "^0.1.1",
25
25
"@eslint/eslintrc": "^3.3.1",
26
26
"@hono/node-server": "^1.15.0",
27
27
"@libsql/client": "^0.15.9",
28
28
"@skyware/jetstream": "^0.2.2",
29
-
"@clippr/lexicons": "^0.1.0",
30
29
"drizzle-orm": "^0.44.2",
31
30
"hono": "^4.8.4",
32
31
"hono-pino": "^0.9.1",
+11
backend/pnpm-lock.yaml
+11
backend/pnpm-lock.yaml
···
17
17
'@atcute/lexicons':
18
18
specifier: ^1.1.0
19
19
version: 1.1.0
20
+
'@clipprjs/lexicons':
21
+
specifier: ^0.1.1
22
+
version: 0.1.1
20
23
'@eslint/eslintrc':
21
24
specifier: ^3.3.1
22
25
version: 3.3.1
···
120
123
'@badrap/valita@0.4.5':
121
124
resolution: {integrity: sha512-4QwGbuhh/JesHRQj79mO/l37PvJj4l/tlAu7+S1n4h47qwaNpZ0WDvIwUGLYUsdi9uQ5UPpiG9wb1Wm3XUFBUQ==}
122
125
engines: {node: '>= 18'}
126
+
127
+
'@clipprjs/lexicons@0.1.1':
128
+
resolution: {integrity: sha512-/TONuKi8ASHJe5ycg4wKj9m9paAQCcufEB+XJcnvSCLMM3MArAJpg4bmU1epRE3xuSLtkLnOTsmv8xJm8fjSpg==}
123
129
124
130
'@drizzle-team/brocli@0.10.2':
125
131
resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==}
···
1814
1820
esm-env: 1.2.2
1815
1821
1816
1822
'@badrap/valita@0.4.5': {}
1823
+
1824
+
'@clipprjs/lexicons@0.1.1':
1825
+
dependencies:
1826
+
'@atcute/atproto': 3.1.0
1827
+
'@atcute/lexicons': 1.1.0
1817
1828
1818
1829
'@drizzle-team/brocli@0.10.2': {}
1819
1830
+2
-2
backend/src/lexicons/lex.config.ts
lexicons/lex.config.ts
+2
-2
backend/src/lexicons/lex.config.ts
lexicons/lex.config.ts
···
4
4
* SPDX-License-Identifier: AGPL-3.0-only
5
5
*/
6
6
7
-
import { defineLexiconConfig } from "@atcute/lex-cli";
7
+
import {defineLexiconConfig} from "@atcute/lex-cli";
8
8
9
9
export default defineLexiconConfig({
10
-
files: ["../../lexicons/**/*.json"],
10
+
files: ["../lexdocs/**/*.json"],
11
11
outdir: "lib/lexicons",
12
12
mappings: [
13
13
{
backend/src/lexicons/lib/index.ts
lexicons/lib/index.ts
backend/src/lexicons/lib/index.ts
lexicons/lib/index.ts
backend/src/lexicons/lib/lexicons/index.ts
lexicons/lib/lexicons/index.ts
backend/src/lexicons/lib/lexicons/index.ts
lexicons/lib/lexicons/index.ts
+9
-7
backend/src/lexicons/package.json
lexicons/package.json
+9
-7
backend/src/lexicons/package.json
lexicons/package.json
···
1
1
{
2
2
"type": "module",
3
-
"name": "@clippr/lexicons",
4
-
"version": "0.1.0",
3
+
"name": "@clipprjs/lexicons",
4
+
"version": "0.1.1",
5
5
"description": "Clippr schema definitions",
6
6
"license": "AGPL-3.0-only",
7
+
"private": false,
7
8
"repository": {
8
9
"url": "https://tangled.sh/@hexmani.ac/clippr",
9
-
"directory": "backend/src/lexicons"
10
+
"directory": "lexicons"
10
11
},
11
12
"files": [
12
13
"dist/",
···
20
21
},
21
22
"scripts": {
22
23
"build": "tsc --project tsconfig.json",
23
-
"generate": "rm -r ./lib/lexicons/; lex-cli generate -c ./lex.config.ts",
24
+
"generate": "rm -r lib/lexicons; lex-cli generate -c ./lex.config.ts",
24
25
"prepublish": "rm -rf dist; pnpm run build"
25
26
},
26
27
"dependencies": {
27
-
"@atcute/atproto": "workspace:^",
28
-
"@atcute/lexicons": "workspace:^"
28
+
"@atcute/atproto": "^3.1.0",
29
+
"@atcute/lexicons": "^1.1.0"
29
30
},
30
31
"devDependencies": {
31
-
"@atcute/lex-cli": "workspace:^"
32
+
"@atcute/lex-cli": "^2.1.1",
33
+
"typescript": "^5.8.3"
32
34
}
33
35
}
-24
backend/src/lexicons/tsconfig.json
-24
backend/src/lexicons/tsconfig.json
···
1
-
{
2
-
"compilerOptions": {
3
-
"outDir": "dist/",
4
-
"esModuleInterop": true,
5
-
"skipLibCheck": true,
6
-
"target": "ESNext",
7
-
"allowJs": true,
8
-
"resolveJsonModule": true,
9
-
"moduleDetection": "force",
10
-
"isolatedModules": true,
11
-
"verbatimModuleSyntax": true,
12
-
"strict": true,
13
-
"noImplicitOverride": true,
14
-
"noUnusedLocals": true,
15
-
"noUnusedParameters": true,
16
-
"noFallthroughCasesInSwitch": true,
17
-
"module": "NodeNext",
18
-
"sourceMap": true,
19
-
"declaration": true
20
-
},
21
-
"include": [
22
-
"lib"
23
-
]
24
-
}
+1
-1
backend/tsconfig.json
+1
-1
backend/tsconfig.json
+1
-2
frontend/package.json
+1
-2
frontend/package.json
+3
lexicons/README.md
+3
lexicons/README.md
+99
lexicons/pnpm-lock.yaml
+99
lexicons/pnpm-lock.yaml
···
1
+
lockfileVersion: '9.0'
2
+
3
+
settings:
4
+
autoInstallPeers: true
5
+
excludeLinksFromLockfile: false
6
+
7
+
importers:
8
+
9
+
.:
10
+
dependencies:
11
+
'@atcute/atproto':
12
+
specifier: ^3.1.0
13
+
version: 3.1.0
14
+
'@atcute/lexicons':
15
+
specifier: ^1.1.0
16
+
version: 1.1.0
17
+
devDependencies:
18
+
'@atcute/lex-cli':
19
+
specifier: ^2.1.1
20
+
version: 2.1.1
21
+
typescript:
22
+
specifier: ^5.8.3
23
+
version: 5.8.3
24
+
25
+
packages:
26
+
27
+
'@atcute/atproto@3.1.0':
28
+
resolution: {integrity: sha512-aJbDsY7FcIh8APWKAimBtshPwqoRE056tc0UV6vw4TW4e3nYaHedoJmKhlh/k8KQWxyw64MQThNGMaC89HNoTg==}
29
+
30
+
'@atcute/lex-cli@2.1.1':
31
+
resolution: {integrity: sha512-QaR0sOP8Z24opGHKsSfleDbP/ahUb6HECkVaOqSwG7ORZzbLK1w0265o1BRjCVr2dT6FxlsMUa2Ge85JMA9bxg==}
32
+
hasBin: true
33
+
34
+
'@atcute/lexicon-doc@1.0.3':
35
+
resolution: {integrity: sha512-U7rinsTOwXGGcrF6/s7GzTXargcQpDr4BTrj5ci/XTK+POEK5jpcI+Ag1fF932pBX3k97em6y4TWwTSO8M/McQ==}
36
+
37
+
'@atcute/lexicons@1.1.0':
38
+
resolution: {integrity: sha512-LFqwnria78xLYb62Ri/+WwQpUTgZp2DuyolNGIIOV1dpiKhFFFh//nscHMA6IExFLQRqWDs3tTjy7zv0h3sf1Q==}
39
+
40
+
'@badrap/valita@0.4.5':
41
+
resolution: {integrity: sha512-4QwGbuhh/JesHRQj79mO/l37PvJj4l/tlAu7+S1n4h47qwaNpZ0WDvIwUGLYUsdi9uQ5UPpiG9wb1Wm3XUFBUQ==}
42
+
engines: {node: '>= 18'}
43
+
44
+
'@externdefs/collider@0.3.0':
45
+
resolution: {integrity: sha512-x5CpeZ4c8n+1wMFthUMWSQKqCGcQo52/Qbda5ES+JFRRg/D8Ep6/JOvUUq5HExFuv/wW+6UYG2U/mXzw0IAd8Q==}
46
+
peerDependencies:
47
+
'@badrap/valita': ^0.4.4
48
+
49
+
esm-env@1.2.2:
50
+
resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
51
+
52
+
picocolors@1.1.1:
53
+
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
54
+
55
+
prettier@3.6.2:
56
+
resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
57
+
engines: {node: '>=14'}
58
+
hasBin: true
59
+
60
+
typescript@5.8.3:
61
+
resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
62
+
engines: {node: '>=14.17'}
63
+
hasBin: true
64
+
65
+
snapshots:
66
+
67
+
'@atcute/atproto@3.1.0':
68
+
dependencies:
69
+
'@atcute/lexicons': 1.1.0
70
+
71
+
'@atcute/lex-cli@2.1.1':
72
+
dependencies:
73
+
'@atcute/lexicon-doc': 1.0.3
74
+
'@badrap/valita': 0.4.5
75
+
'@externdefs/collider': 0.3.0(@badrap/valita@0.4.5)
76
+
picocolors: 1.1.1
77
+
prettier: 3.6.2
78
+
79
+
'@atcute/lexicon-doc@1.0.3':
80
+
dependencies:
81
+
'@badrap/valita': 0.4.5
82
+
83
+
'@atcute/lexicons@1.1.0':
84
+
dependencies:
85
+
esm-env: 1.2.2
86
+
87
+
'@badrap/valita@0.4.5': {}
88
+
89
+
'@externdefs/collider@0.3.0(@badrap/valita@0.4.5)':
90
+
dependencies:
91
+
'@badrap/valita': 0.4.5
92
+
93
+
esm-env@1.2.2: {}
94
+
95
+
picocolors@1.1.1: {}
96
+
97
+
prettier@3.6.2: {}
98
+
99
+
typescript@5.8.3: {}
+32
lexicons/tsconfig.json
+32
lexicons/tsconfig.json
···
1
+
{
2
+
"compilerOptions": {
3
+
"allowImportingTsExtensions": true,
4
+
"esModuleInterop": true,
5
+
"skipLibCheck": true,
6
+
"target": "ESNext",
7
+
"module": "NodeNext",
8
+
"moduleResolution": "NodeNext",
9
+
"allowJs": true,
10
+
"resolveJsonModule": true,
11
+
"moduleDetection": "force",
12
+
"isolatedModules": true,
13
+
"verbatimModuleSyntax": true,
14
+
"types": [
15
+
"node",
16
+
"@atcute/atproto"
17
+
],
18
+
"strict": true,
19
+
"noUncheckedIndexedAccess": true,
20
+
"noImplicitOverride": true,
21
+
"noEmit": true,
22
+
"jsx": "react-jsx",
23
+
"jsxImportSource": "hono/jsx",
24
+
"outDir": "dist/",
25
+
"lib": [
26
+
"ESNext"
27
+
]
28
+
},
29
+
"exclude": [
30
+
"node_modules"
31
+
]
32
+
}