Skip to content

Commit 7bdd277

Browse files
committed
chore: Remove dependencies that are part of node
1 parent 11cb69b commit 7bdd277

16 files changed

Lines changed: 52 additions & 81 deletions

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@
7878
"@typescript-eslint/parser": "^5.12.1",
7979
"componentsjs-generator": "^3.1.2",
8080
"concurrently": "^8.2.2",
81-
"cross-fetch": "^4.0.0",
8281
"eslint": "^8.10.0",
8382
"jest": "^29.7.0",
8483
"jest-rdf": "^1.8.1",

packages/css/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@
7272
"@solidlab/uma": "workspace:^",
7373
"@types/n3": "^1.16.4",
7474
"componentsjs": "^5.4.2",
75-
"cross-fetch": "^4.0.0",
7675
"fetch-retry": "^6.0.0",
7776
"http-message-signatures": "^1.0.4",
7877
"jose": "^5.2.2",
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
import { fetch as crossFetch } from 'cross-fetch';
21
import type { FetchParams, Fetcher } from './Fetcher';
32

43
/**
5-
* A simple {@link Fetcher} relying on cross-fetch.
4+
* A simple {@link Fetcher} relying on fetch.
65
*/
76
export class BaseFetcher implements Fetcher {
8-
fetch(...args: FetchParams): Promise<Response> { return crossFetch(...args) }
7+
fetch(...args: FetchParams): Promise<Response> { return fetch(...args) }
98
}

packages/ucp/src/Explanation.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Store, DataFactory } from "n3";
2+
import { randomUUID } from 'node:crypto';
23
import { UconRequest, createContext } from "./Request"
3-
import { v4 as uuidv4 } from 'uuid';
44
import { ACCESS_MODES_ALLOWED } from "./util/Constants";
55
import { SimplePolicy } from "./policy/UsageControlPolicy";
66
import { storeToString } from "./util/Conversion";
@@ -93,7 +93,7 @@ export function explanationToRdf(explanation: Explanation): Store {
9393

9494
// conclusions
9595
for (const conclusion of explanation.conclusions) {
96-
const conclusionIri = baseIRI + uuidv4();
96+
const conclusionIri = baseIRI + randomUUID();
9797
const conclusionPred = namedNode(baseIRI + 'conclusion');
9898
const conclusionNode = namedNode(conclusionIri);
9999
store.addQuad(explanationNode, conclusionPred, conclusionNode);
@@ -110,8 +110,8 @@ export function explanationToRdf(explanation: Explanation): Store {
110110
}
111111
/**
112112
* Serialize the request together with a set of ucon rules and set of N3 rules interpreting into a single string.
113-
*
114-
* This string can be given to an N3 reasoning engine.
113+
*
114+
* This string can be given to an N3 reasoning engine.
115115
* When there is a conclusion, one or multiple rule activations will occur. (rule must be seen in the context of a policy rule)
116116
* Each rule activation contains permissions granted.
117117
* @param policies
@@ -135,10 +135,10 @@ export function serializePremises(policies: SimplePolicy[], request: UconRequest
135135
* - request
136136
* - ucon rules set
137137
* - n3 intepretation rules
138-
* @param explanation
139-
* @param uconRules
140-
* @param n3InterpretationRules
141-
* @returns
138+
* @param explanation
139+
* @param uconRules
140+
* @param n3InterpretationRules
141+
* @returns
142142
*/
143143
export function serializeFullExplanation(explanation: Explanation, uconRules: Store, n3InterpretationRules: string): string {
144144
const explanationString = storeToString(explanationToRdf(explanation));

packages/ucp/src/policy/ODRL.ts

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import { DataFactory, Quad, Store } from "n3";
2-
import { v4 as uuidv4 } from 'uuid';
2+
import { randomUUID } from 'node:crypto';
33
import { ODRL, RDF, XSD } from "../util/Vocabularies";
44
import { SimplePolicy, UCPConstraint, UCPPolicy, UCPRule } from "./UsageControlPolicy";
55
const { quad, namedNode, literal } = DataFactory
66

77
/**
88
* Create a simple ODRL policy with an agreement and one rule
9-
* @param policy
10-
* @param policyIRI
11-
* @returns
9+
* @param policy
10+
* @param policyIRI
11+
* @returns
1212
*/
1313
export function basicPolicy(policy: UCPPolicy, policyIRI?: string): SimplePolicy {
14-
policyIRI = policyIRI ?? "urn:ucp:policy:" + uuidv4();
14+
policyIRI = policyIRI ?? "urn:ucp:policy:" + randomUUID();
1515
const store = new Store();
1616
const ruleIRIs: string[] = []
1717
if (policy.type) {
@@ -33,13 +33,13 @@ export function basicPolicy(policy: UCPPolicy, policyIRI?: string): SimplePolicy
3333

3434
/**
3535
* Convert an Usage Control Rule to ODRL quads
36-
* @param rule
37-
* @param policyIRI
38-
* @returns
36+
* @param rule
37+
* @param policyIRI
38+
* @returns
3939
*/
4040
export function createRuleQuads(rule: UCPRule, policyIRI?: string): { quads: Quad[], ruleIRI: string } {
4141
const quads: Quad[] = []
42-
const ruleIRI = "urn:ucp:rule:" + uuidv4();
42+
const ruleIRI = "urn:ucp:rule:" + randomUUID();
4343
quads.push(quad(namedNode(ruleIRI), ODRL.terms.action, namedNode(rule.action)))
4444
quads.push(quad(namedNode(ruleIRI), ODRL.terms.target, namedNode(rule.resource)))
4545
quads.push(quad(namedNode(ruleIRI), ODRL.terms.assignee, namedNode(rule.requestingParty)))
@@ -67,21 +67,21 @@ export function createRuleQuads(rule: UCPRule, policyIRI?: string): { quads: Qua
6767

6868
/**
6969
* Convert an Usage Control Constraint to ODRL quads
70-
* @param rule
71-
* @param policyIRI
72-
* @returns
70+
* @param rule
71+
* @param policyIRI
72+
* @returns
7373
*/
7474
export function createConstraintQuads(
75-
constraint: UCPConstraint,
75+
constraint: UCPConstraint,
7676
ruleIRI?: string
7777
): { quads: Quad[], constraintIRI: string } {
7878
const quads: Quad[] = []
79-
const constraintIRI = "urn:ucp:constraint:" + uuidv4();
79+
const constraintIRI = "urn:ucp:constraint:" + randomUUID();
8080
switch (constraint.type) {
8181
case "temporal": // maybe have as type something more semantically defined?
8282
quads.push(quad(namedNode(constraintIRI), ODRL.terms.leftOperand, ODRL.terms.dateTime));
8383
quads.push(quad(namedNode(constraintIRI), ODRL.terms.operator, namedNode(constraint.operator)));
84-
quads.push(quad(namedNode(constraintIRI), ODRL.terms.rightOperand,
84+
quads.push(quad(namedNode(constraintIRI), ODRL.terms.rightOperand,
8585
literal((constraint.value as Date).toISOString(), XSD.terms.dateTime)));
8686
if (ruleIRI) {
8787
quads.push(quad(namedNode(ruleIRI), ODRL.terms.constraint, namedNode(constraintIRI)))
@@ -104,6 +104,3 @@ export function createConstraintQuads(
104104
constraintIRI
105105
}
106106
}
107-
108-
109-

packages/uma/package.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,7 @@
6565
"@solid/community-server": "^7.0.4",
6666
"@solidlab/ucp": "workspace:^",
6767
"@types/n3": "^1.16.4",
68-
"@types/uuid": "^8.3.4",
6968
"componentsjs": "^5.4.2",
70-
"cross-fetch": "^4.0.0",
7169
"get-jwks": "^9.0.1",
7270
"http-message-signatures": "^1.0.4",
7371
"jose": "^5.2.2",
@@ -76,7 +74,6 @@
7674
"n3": "^1.17.2",
7775
"ts-node": "^10.9.2",
7876
"uri-template-lite": "^23.4.0",
79-
"uuid": "^9.0.1",
8077
"winston": "^3.11.0"
8178
},
8279
"jest": {

packages/uma/src/dialog/BaseNegotiator.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { randomUUID } from 'node:crypto';
12
import { Ticket } from '../ticketing/Ticket';
23
import { Verifier } from '../credentials/verify/Verifier';
34
import { TokenFactory } from '../tokens/TokenFactory';
@@ -7,7 +8,6 @@ import { DialogInput } from './Input';
78
import { DialogOutput } from './Output';
89
import { reType } from '../util/ReType';
910
import { TicketingStrategy } from '../ticketing/strategy/TicketingStrategy';
10-
import { v4 } from 'uuid';
1111
import {
1212
BadRequestHttpError,
1313
ForbiddenHttpError,
@@ -84,7 +84,7 @@ export class BaseNegotiator implements Negotiator {
8484
if (requiredClaims.length === 0) throw new ForbiddenHttpError();
8585

8686
// ... require more info otherwise
87-
const id = v4();
87+
const id = randomUUID();
8888
this.ticketStore.set(id, ticket);
8989
throw new NeedInfoError('Need more info to authorize request ...', id, {
9090
required_claims: {

packages/uma/src/routes/ResourceRegistration.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import {
77
UnauthorizedHttpError,
88
UnsupportedMediaTypeHttpError
99
} from '@solid/community-server';
10+
import { randomUUID } from 'node:crypto';
1011
import {HttpHandler} from '../util/http/models/HttpHandler';
1112
import {HttpHandlerContext} from '../util/http/models/HttpHandlerContext';
1213
import {HttpHandlerResponse} from '../util/http/models/HttpHandlerResponse';
13-
import {v4} from 'uuid';
1414
import { HttpHandlerRequest } from '../util/http/models/HttpHandlerRequest';
1515
import { ResourceDescription } from '../views/ResourceDescription';
1616
import { reType } from '../util/ReType';
@@ -69,7 +69,7 @@ export class ResourceRegistrationRequestHandler extends HttpHandler {
6969
throw new BadRequestHttpError(`Request has bad syntax${e instanceof Error ? ': ' + e.message : ''}`)
7070
}
7171

72-
const resource = v4();
72+
const resource = randomUUID();
7373
this.resourceStore.set(resource, body);
7474

7575
this.logger.info(`Registered resource ${resource}.`);

packages/uma/src/routes/Ticket.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ import {
77
UnauthorizedHttpError,
88
UnsupportedMediaTypeHttpError
99
} from '@solid/community-server';
10-
import { v4 } from 'uuid';
11-
import { TicketingStrategy } from '../ticketing/strategy/TicketingStrategy';
12-
import { Ticket } from '../ticketing/Ticket';
10+
import { randomUUID } from 'node:crypto';
1311
import { HttpHandler } from '../util/http/models/HttpHandler';
1412
import { HttpHandlerContext } from '../util/http/models/HttpHandlerContext';
1513
import { HttpHandlerResponse } from '../util/http/models/HttpHandlerResponse';
1614
import { verifyRequest } from '../util/HttpMessageSignatures';
1715
import { array, reType } from '../util/ReType';
1816
import { Permission } from '../views/Permission';
17+
import { Ticket } from '../ticketing/Ticket';
18+
import { TicketingStrategy } from '../ticketing/strategy/TicketingStrategy';
1919

2020
/**
2121
* A TicketRequestHandler is tasked with implementing
@@ -70,7 +70,7 @@ export class TicketRequestHandler extends HttpHandler {
7070

7171
if (resolved.success) return { status: 200 };
7272

73-
const id = v4();
73+
const id = randomUUID();
7474
this.ticketStore.set(id, ticket);
7575

7676
return {

packages/uma/src/tokens/JwtTokenFactory.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { importJWK, jwtVerify, SignJWT } from 'jose';
2-
import { v4 } from 'uuid';
32
import { BadRequestHttpError, getLoggerFor, HttpErrorClass, JwkGenerator } from '@solid/community-server';
3+
import { randomUUID } from 'node:crypto';
44
import { SerializedToken , TokenFactory} from './TokenFactory';
55
import { AccessToken } from './AccessToken';
66
import { array, reType } from '../util/ReType';
@@ -45,7 +45,7 @@ export class JwtTokenFactory extends TokenFactory {
4545
.setIssuer(this.issuer)
4646
.setAudience(AUD)
4747
.setExpirationTime(this.params.expirationTime)
48-
.setJti(v4())
48+
.setJti(randomUUID())
4949
.sign(jwk);
5050

5151
this.logger.debug(`Issued new JWT Token ${JSON.stringify(token)}`);

0 commit comments

Comments
 (0)