264 Commits

Author SHA1 Message Date
Thomas Dupont
fa78bc6856 feat: add a process-/thread-safe file-based ResourceLocker
test: unit test succeeds

fix: not quiting loop when releasing unexisting lock

refactor: pull wait() function into TimerUtils

feat: store all locks inside a single lock folder

feat: use md5 hashing for filepath hashes

test: coverage back to 100%

fix: store locks in proper .internal/locks folder
feat: reworked tryfn

test: coverage back to 100%

buidl: package json types next to lib

style: linting

dos: add more documentation to Locker classes

refactor: SingleThreadedResourceLocker -> MemoryResourceLocker

refactor: MultiThreadedResourceLocker -> FileSystemResourceLocker

feat: update all file-based backend configs to use the new FileSystemResourceLocker

feat: add warning on starting the MemoryResourceLocker in a worker process

test: coverage back to 100%

fix: finalizer of file.json was configured wrong

docs: updated release notes for 5.0.0

refactor: incorporated changes so far

refactor: retryFunctions are less complex now

test: jitter fix
2022-04-28 14:12:30 +02:00
Joachim Van Herwegen
1de1f7c12a fix(deps): Update to Comunica v2 2022-04-25 09:09:39 +02:00
Joachim Van Herwegen
0e32d9ad9b fix: Fix typing issues with latest Components.js generator 2022-04-25 09:09:39 +02:00
Joachim Van Herwegen
d224e62f98 chore: Change TS target 2022-04-21 15:45:31 +02:00
Joachim Van Herwegen
3d6e3d2e39 chore: Drop support for Node 12 2022-04-21 14:54:12 +02:00
Joachim Van Herwegen
1c376cb23d Release version 4.0.0 of the npm package. 2022-04-19 15:24:03 +02:00
Thomas Dupont
e2e2d0864f feat: add a Redis based Read-Write Locker
refactor: more elegant way of providing default attemptSettings to constructor

style(jsdoc): rewording of jsdoc comment

fix: RegExp(/regex/) => /regex/

fix: Replace Error with InternalServerError

docs: jsdoc for RedisReadWriteLocker class

feat: make RedisReadWriteLocker a ResourceLocker too

test: coverage back to 100%

refactor: linting fix

style(jsdoc): Add explanation to tryRedisFn() method

refactor: remove RedisResourceLocker

fix: bug in lua script

chore(deps): update ioredis, remove redlock

refactor: removed RedisResourceLocker in favor of generic RedisLocker class

test: add redis lua scripts tests and integrate all 3 redis integration tests in 1

refactor: remove .vscode folder from index

refactor: Add some typing and  change redis references to Redis in comments

refactor: more changes after PR review

refactor: remove redis.json

refactor: rename redis-rw.json to redis.json

docs: added readme and release notes
2022-04-19 13:52:31 +02:00
Joachim Van Herwegen
c0bc150122 test: Update CTH run to use client credentials 2022-04-15 11:35:00 +02:00
Joachim Van Herwegen
2ec8fabd54 feat: Add support for client_credentials authentication 2022-04-15 11:20:26 +02:00
Joachim Van Herwegen
1b7cc1ea3a Merge branch 'main' into versions/4.0.0
# Conflicts:
#	test/unit/util/errors/RedirectHttpError.test.ts
2022-04-11 10:21:49 +02:00
Joachim Van Herwegen
841ec2a3eb chore: Fix package-lock.json 2022-04-11 09:55:25 +02:00
Wouter Termont
5e6c42e1f8
fix: Restore eslint plugins
* fix: restore eslint plugins

Signed-off-by: Wouter Termont <woutermont@gmail.com>

* fix: re-fix eslint-config-es version
2022-04-05 17:37:07 +02:00
Joachim Van Herwegen
641d39d4bc Merge branch 'main' into versions/4.0.0 2022-03-29 14:54:59 +02:00
Joachim Van Herwegen
6e98c6aae4 feat: Dynamically generate Allow and Accept-* headers 2022-03-29 14:52:36 +02:00
Arthur Joppart
4a37f8c879 chore: replace redis library with ioredis 2022-03-29 14:41:31 +02:00
Joachim Van Herwegen
e4f1e2aa0c chore(deps): update arrayify-stream to v2 2022-03-10 09:01:53 +01:00
Joachim Van Herwegen
0dcd6d227e Release version 3.0.0 of the npm package. 2022-02-23 11:10:36 +01:00
Joachim Van Herwegen
2dc20fe3bc feat: Store the server version on start 2022-02-22 09:31:24 +01:00
Joachim Van Herwegen
c9ed90aeeb fix: Update OIDC provider dependency to v7
The biggest resulting change is that the consent page always appears
after logging in.
Some minor fixes to be closer to the spec are included
together with some minor structural refactors.
2022-02-21 10:04:57 +01:00
Joachim Van Herwegen
35e7e0d447 test: Add IDP test for clients with a WebID 2022-02-16 08:28:07 +01:00
Thomas Dupont
ce754c119f
fix: Add content-negotiation when fetching dataset from url
* Solution works but tests don't

* refactor(FetchUtil): use arrayifyStream

* refactor(FetchUtil): split fetchDataset into 2 separate functions

* style(FetchUtil): onelining instead of declaring new local var

* test: trying to mock rdfDereferencer

* refactor: promise can't have async function as arg

* test(FetchUtil): pass Quad array to mockDereference instead

* test: all tests should pass now and coverage is back to 100%

* style: comment typo

* chore: make package.json and package-lock.json compatible with main

* chore: fix package.json double entries

* chore: updated package.json to be alfabetical again

* refactor(AgentGroupAccessChecker): Remove converter from contructor and config

* refactor(TokenOwnerShipValidator): Remove converter from constructor and config

* refactor(FetchUtil): Return BadRequestHttpError instead of generic Error

* test(FetchUtil): return Response object instead of mocking fetch

* style: typos and newlines
2022-02-15 13:44:03 +01:00
Joachim Van Herwegen
c5052625d1 Merge branch 'main' into versions/3.0.0
# Conflicts:
#	package-lock.json
#	package.json
#	src/storage/patch/SparqlUpdatePatcher.ts
#	test/unit/init/AppRunner.test.ts
#	test/unit/util/QuadUtil.test.ts
2022-02-11 15:30:45 +01:00
Joachim Van Herwegen
d2870e5c8b fix(deps): Update dependencies 2022-02-11 15:28:50 +01:00
Joachim Van Herwegen
52f400d344 fix(deps): Update dependency eslint-plugin-jest to v26 2022-02-11 15:28:50 +01:00
Joachim Van Herwegen
9ceb62b8b6 refactor: Remove @rdfjs/data-model dependency
We already have N3.js for term generation.
No need to have two solutions there.
2022-02-11 15:28:50 +01:00
Joachim Van Herwegen
0d28f45c79 fix(deps): Update dependency marked to v4 2022-02-11 15:28:50 +01:00
Joachim Van Herwegen
c216efd62f
feat: Allow for custom CLI and variable options
* feat: (AppRunner) Mechanism to configure cli args and derive componentsjs vars from them implemented

* fix: (AppRunner) tidying

* fix: (AppRunner) tidying up

* fix: (AppRunner) runCli method made sync

* fix; (VarResolver) refactored to multiple files, and other stylistic fixes.

* chore: (AppRunner) Uses builder pattern for yargs base arguments setup to enable better typescript inference

* fix(AppRunner): refactoring AppRunner and VarResolver

* fix(AppRunner): refactoring AppRunner promise handling

* fix(AppRunner): verror dependency removal

* fix: Simplify CLI error handling

* feat: Use same config for both CLI and app instantiation

* fix: Update typings and imports

* feat: Split VariableResolver behaviour to 2 classes

* feat: Move default value behaviour from CLI to ValueComputers

* test: Add unit tests for new CLI classes

* feat: Integrate new CLI configuration with all default configurations

* feat: Add createApp function to AppRunner

* docs: Update comments in CLI-related classes

* fix: Various fixes and refactors

Co-authored-by: damooo <damodara@protonmail.com>
2022-02-11 10:00:12 +01:00
Joachim Van Herwegen
90a6460c8d Merge branch 'main' into versions/3.0.0
# Conflicts:
#	package-lock.json
#	test/integration/Identity.test.ts
#	test/integration/RepresentationConverter.test.ts
2022-01-25 11:44:24 +01:00
Joachim Van Herwegen
a9941ebe78 feat: Add support for N3 Patch 2022-01-25 11:30:42 +01:00
Joachim Van Herwegen
af049124bf chore: Update eslint dependencies 2022-01-24 09:37:50 +01:00
Joachim Van Herwegen
f3bb1ab711 chore: Fix typescript typings to v14 2021-12-16 16:16:15 +01:00
Joachim Van Herwegen
f49425cb10 fix(deps): Update caniuse-lite 2021-12-16 11:57:29 +01:00
renovate[bot]
a90687d410
fix(deps): update dependency jose to v4
* fix(deps): update dependency jose to v4

* fix(deps): Update code using jose v4

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2021-12-16 11:55:05 +01:00
Ruben Verborgh
c085de95c6 chore: Update n3 to v1.12.2.
Fixes https://github.com/solid/community-server/issues/1094
2021-12-12 17:38:54 +00:00
Renovate Bot
2e99cc9934 fix(deps): update dependency sparqlalgebrajs to v4 2021-11-05 16:07:20 +01:00
Renovate Bot
d317215e08 fix(deps): update dependency ws and @types/ws to v8.2 2021-11-05 14:48:35 +01:00
Ruben Verborgh
c24fe9fba8 Release version 2.0.1 of the npm package. 2021-11-02 15:34:33 +01:00
Ruben Verborgh
81e7694845 chore: Fix dependency vulnerabilities. 2021-11-01 15:17:56 +01:00
Joachim Van Herwegen
6f858be350 chore: Update @solid/access-token-verifier to v1.0.1 2021-10-15 11:37:22 +02:00
Ruben Verborgh
216788e225 Release version 2.0.0 of the npm package. 2021-10-15 10:50:44 +02:00
Joachim Van Herwegen
80713de223 chore: Fix dependency vulnerabilities 2021-09-16 13:06:29 +02:00
Matthieu Bosquet
a2527d88c4 chore(deps): Update access-token-verifier 2021-09-15 08:18:38 +02:00
Renovate Bot
9cbf71dcb0 chore(deps): update dependency typedoc to ^0.22.0 2021-09-14 09:17:43 +02:00
Ruben Verborgh
45345c131c Release version 1.1.0 of the npm package. 2021-09-03 09:45:59 +02:00
Renovate Bot
7928f43f44 fix(deps): update dependency @solid/access-token-verifier to ^0.12.0 2021-09-03 08:38:57 +02:00
Renovate Bot
042507a677 fix(deps): update dependency marked to v3 2021-08-27 17:30:11 +02:00
Renovate Bot
1173f98b5d chore(deps): update dependency @types/jest to v27 2021-08-16 11:28:11 +02:00
Ruben Verborgh
ce27b55bb8 Release version 1.0.0 of the npm package. 2021-08-04 17:15:36 +02:00
Ruben Verborgh
2b3dce2342 chore: Remove obsolete dependency. 2021-08-04 17:14:18 +02:00
Matthieu Bosquet
66accacde8 chore: Update access token verifier 2021-08-04 08:29:34 +02:00