diff --git a/pkgs/by-name/do/dokieli/package.json b/pkgs/by-name/do/dokieli/package.json new file mode 100644 index 000000000000..39198309b812 --- /dev/null +++ b/pkgs/by-name/do/dokieli/package.json @@ -0,0 +1,104 @@ +{ + "name": "dokieli", + "version": "0.3.1417", + "description": "dokieli is a clientside editor for decentralised article publishing, annotations, and social interactions.", + "main": "./src/dokieli.js", + "type": "module", + "scripts": { + "build-dist": "webpack --progress --color", + "build": "yarn build-dist", + "test": "TZ=UTC node --experimental-vm-modules node_modules/jest/bin/jest.js --silent", + "test:e2e": "playwright test", + "watch": "webpack --progress --color --watch", + "minify": "webpack --progress --color --env minimize", + "postinstall": "patch-package", + "lint": "eslint ." + }, + "repository": "https://github.com/linkeddata/dokieli", + "keywords": [ + "activitystreams", + "activitypub", + "annotations", + "authoring", + "decentralized", + "editor", + "knowledge graph", + "linked data", + "notifications", + "publishing", + "social web", + "web standards" + ], + "author": "dokieli team", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/linkeddata/dokieli/issues" + }, + "homepage": "https://dokie.li/", + "engines": { + "node": ">=18.0.0" + }, + "dependencies": { + "buffer": "^6.0.3", + "d3-force": "^3.0.0", + "d3-selection": "^3.0.0", + "diff": "^5.2.0", + "dompurify": "^3.1.5", + "fs": "^0.0.1-security", + "http-link-header": "^1.1.3", + "leaflet": "^1.9.4", + "leaflet-gpx": "^1.7.0", + "medium-editor": "^5.23.3", + "medium-editor-tables": "^0.6.1", + "micromark": "^4.0.0", + "micromark-extension-gfm": "^3.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "rdf-parser-rdfa": "https://github.com/rdf-ext/rdf-parser-rdfa.git#master", + "rdf-store-ldp": "^0.3.1", + "shower": "https://github.com/shower/core.git#main", + "simplerdf": "^0.2.14", + "simplerdf-parse": "^0.1.3", + "solid-auth-client": "^2.5.6" + }, + "devDependencies": { + "@axe-core/playwright": "^4.9.1", + "@playwright/test": "^1.44.1", + "babel-eslint": "^10.1.0", + "dotenv": "^16.4.5", + "eslint": "^9.10.0", + "eslint-plugin-jest": "^27.9.0", + "husky": "^9.0.11", + "jest": "^29.0.3", + "jest-environment-jsdom": "^29.0.3", + "patch-package": "^8.0.0", + "process": "^0.11.10", + "terser-webpack-plugin": "^5.3.3", + "webpack": "5.94.0", + "webpack-cli": "^5.0.1" + }, + "resolutions": { + "ansi-regex": "^5.0.0", + "xmldom": "https://github.com/xmldom/xmldom.git#master", + "green-turtle": "https://github.com/csarven/green-turtle#master", + "json5": "^1.0.2", + "http-cache-semantics": "^4.1.1", + "jsonld": "^5.0.0", + "xml2js": "^0.6.2", + "semver": "^7.6.2", + "lru-cache": "^8.0.0", + "micromatch": "^4.0.8" + }, + "standard": { + "globals": [ + "DO", + "SimpleRDF", + "ld", + "describe", + "it", + "before", + "beforeEach", + "after", + "afterEach" + ] + } +} diff --git a/pkgs/by-name/do/dokieli/package.nix b/pkgs/by-name/do/dokieli/package.nix new file mode 100644 index 000000000000..882f863ef97a --- /dev/null +++ b/pkgs/by-name/do/dokieli/package.nix @@ -0,0 +1,58 @@ +{ + lib, + mkYarnPackage, + fetchFromGitHub, + fetchYarnDeps, + makeWrapper, + nodejs, + xsel, +}: + +mkYarnPackage rec { + pname = "dokieli"; + version = "0-unstable-2024-09-23"; + + src = fetchFromGitHub { + owner = "linkeddata"; + repo = "dokieli"; + rev = "40ebbc60ba48d8b08f763b07befba96382c5f027"; + hash = "sha256-lc96jOR8uXLcZFhN3wpSd9O5cUdKxllB8WWCh2oWuEw="; + }; + + offlineCache = fetchYarnDeps { + yarnLock = src + "/yarn.lock"; + hash = "sha256-TEXCCLFhpwHZJ8zRGsC7J6EwNaFpIi+CZ3L5uilebK4="; + }; + + packageJSON = ./package.json; + + installPhase = '' + mkdir -p $out/bin + cp -r * $out + ''; + + nativeBuildInputs = [ makeWrapper ]; + + postFixup = '' + makeWrapper ${nodejs}/bin/npx $out/bin/dokieli \ + --prefix PATH : ${ + lib.makeBinPath ([ + nodejs + xsel + ]) + } \ + --add-flags serve \ + --chdir $out/deps/dokieli + ''; + + doDist = false; + + meta = { + description = "dokieli is a clientside editor for decentralised article publishing, annotations and social interactions"; + homepage = "https://github.com/linkeddata/dokieli"; + license = lib.licenses.mit; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ shogo ]; + mainProgram = "dokieli"; + }; +}