Compare commits

..

4 commits

Author SHA1 Message Date
Yarmo Mackenbach
1ed3051f45
fix: add event filter to test CI 2024-06-02 16:51:27 +02:00
Yarmo Mackenbach
306895cb07
feat: fix node version during CI 2024-06-02 16:51:27 +02:00
Yarmo Mackenbach
a715e918c4
feat: add nix flake 2024-06-02 16:51:27 +02:00
Yarmo Mackenbach
2c91935862
feat: migrate from yarn to npm 2024-06-02 14:07:40 +02:00
21 changed files with 8193 additions and 7796 deletions

View file

@ -1,4 +1,4 @@
#!/bin/sh #!/bin/sh
. "$(dirname "$0")/_/husky.sh" . "$(dirname "$0")/_/husky.sh"
yarn test npm test

View file

@ -15,8 +15,10 @@ examples
\.woodpecker \.woodpecker
package.json package.json
yarn.lock package-lock.json
rollup.config.js rollup.config.js
\.editorconfig \.editorconfig
\.gitignore \.gitignore
\.licenseignore \.licenseignore
flake.nix
flake.lock

View file

@ -3,10 +3,9 @@ when:
event: tag event: tag
steps: steps:
prepare: prepare:
image: node image: node:20
commands: commands:
- yarn --pure-lockfile - npm ci
- yarn run prepare
publish-npm: publish-npm:
when: when:

View file

@ -1,7 +1,8 @@
when:
event: [push, pull_request, tag, release, manual]
steps: steps:
test: test:
image: node image: node
commands: commands:
- yarn --pure-lockfile - npm ci
- yarn run prepare - npm run test
- yarn run test

Binary file not shown.

View file

@ -1,6 +0,0 @@
nodeLinker: node-modules
npmScopes:
myriation:
npmPublishRegistry: https://git.myriation.xyz/api/packages/myriation/npm/
npmAlwaysAuth: true
npmAuthToken: REPLACE-ME

643
dist/doip.core.js vendored

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

660
dist/doip.fetchers.js vendored

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

61
flake.lock Normal file
View file

@ -0,0 +1,61 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1717144377,
"narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "805a384895c696f802a9bf5bf4720f37385df547",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"utils": "utils"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

26
flake.nix Normal file
View file

@ -0,0 +1,26 @@
{
description = "doipjs";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, utils }:
utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
in
{
devShell = with pkgs; mkShell {
buildInputs = [
nodejs_20
];
shellHook = ''
echo "node `${pkgs.nodejs_20}/bin/node --version`"
'';
};
});
}

7474
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{ {
"name": "@myriation/doipjs", "name": "doipjs",
"version": "1.2.9+myriaiton.1", "version": "1.2.9",
"description": "Decentralized Online Identity Proofs library in Node.js", "description": "Decentralized Online Identity Proofs library in Node.js",
"type": "module", "type": "module",
"main": "./src/index.js", "main": "./src/index.js",
@ -15,7 +15,6 @@
"default": "./src/fetcher/index.minimal.js" "default": "./src/fetcher/index.minimal.js"
} }
}, },
"packageManager": "yarn@4.3.0",
"dependencies": { "dependencies": {
"@openpgp/hkp-client": "^0.0.3", "@openpgp/hkp-client": "^0.0.3",
"@openpgp/wkd-client": "^0.0.4", "@openpgp/wkd-client": "^0.0.4",
@ -58,8 +57,8 @@
"rollup-plugin-visualizer": "^5.9.2" "rollup-plugin-visualizer": "^5.9.2"
}, },
"scripts": { "scripts": {
"release": "node ./prerelease.js && yarn run test && yarn run build", "release": "node ./prerelease.js && npm run test && npm run build",
"build": "rm -rf ./dist/ && yarn run build:bundle && yarn run build:minify", "build": "rm -rf ./dist/ && npm run build:bundle && npm run build:minify",
"build:bundle": "rollup -c", "build:bundle": "rollup -c",
"build:minify": "minify ./dist/doip.core.js > ./dist/doip.core.min.js && minify ./dist/doip.fetchers.js > ./dist/doip.fetchers.min.js && minify ./dist/doip.fetchers.minimal.js > ./dist/doip.fetchers.minimal.min.js", "build:minify": "minify ./dist/doip.core.js > ./dist/doip.core.min.js && minify ./dist/doip.fetchers.js > ./dist/doip.fetchers.min.js && minify ./dist/doip.fetchers.minimal.js > ./dist/doip.fetchers.minimal.min.js",
"license:check": "license-check-and-add check", "license:check": "license-check-and-add check",
@ -68,12 +67,12 @@
"docs:lib": "jsdoc -c jsdoc-lib.json -r -d ./docs -P package.json", "docs:lib": "jsdoc -c jsdoc-lib.json -r -d ./docs -P package.json",
"lint": "eslint ./src", "lint": "eslint ./src",
"lint:fix": "eslint ./src --fix", "lint:fix": "eslint ./src --fix",
"test": "yarn lint && yarn run license:check && yarn run mocha", "test": "npm run lint && npm run license:check && mocha",
"prepare": "husky install" "prepare": "husky install"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.myriation.org/myriation/doipjs" "url": "https://codeberg.org/keyoxide/doipjs"
}, },
"homepage": "https://js.doip.rocks", "homepage": "https://js.doip.rocks",
"keywords": [ "keywords": [

View file

@ -22,4 +22,4 @@ limitations under the License.
* doip.js library version * doip.js library version
* @constant {string} * @constant {string}
*/ */
export const version = '1.2.9+myriaiton.1' export const version = '1.2.9'

View file

@ -35,8 +35,7 @@ export const opts = {
privateKey: null privateKey: null
}, },
irc: { irc: {
nick: null, nick: null
sasl: []
}, },
matrix: { matrix: {
instance: null, instance: null,

View file

@ -59,25 +59,12 @@ export async function fn (data, opts) {
} }
try { try {
// Add sasl-related config if the server matches
const matchedSaslConfig = opts.claims.irc.sasl.find(saslConfig => data.domain.match(new RegExp(saslConfig.domainRegex)) !== null)
const saslOptions = matchedSaslConfig
? {
sasl: true,
userName: matchedSaslConfig.username,
password: matchedSaslConfig.password
}
: {
sasl: false
}
const client = new irc.Client(data.domain, opts.claims.irc.nick, { const client = new irc.Client(data.domain, opts.claims.irc.nick, {
port: 6697, port: 6697,
secure: true, secure: true,
channels: [], channels: [],
showErrors: false, showErrors: false,
debug: false, debug: false
...saslOptions
}) })
const reKey = /[a-zA-Z0-9\-_]+\s+:\s((?:openpgp4fpr|aspe):.*)/ const reKey = /[a-zA-Z0-9\-_]+\s+:\s((?:openpgp4fpr|aspe):.*)/
const reEnd = /End\sof\s.*\staxonomy./ const reEnd = /End\sof\s.*\staxonomy./

View file

@ -130,7 +130,6 @@ import { PublicKeyType, PublicKeyEncoding, PublicKeyFetchMethod, ProxyPolicy, Cl
* Config related to the verification of IRC claims * Config related to the verification of IRC claims
* @typedef {object} IrcClaimVerificationConfig * @typedef {object} IrcClaimVerificationConfig
* @property {string} nick - The nick that the library uses to connect to the IRC server * @property {string} nick - The nick that the library uses to connect to the IRC server
* @property {{ domainRegex: string; username: string; password: string; }[]} sasl - An array of possible SASL logins
*/ */
/** /**

6389
yarn.lock

File diff suppressed because it is too large Load diff