diff --git a/.release-please-manifest.json b/.release-please-manifest.json index a126fb188..623aeec11 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,22 +1,22 @@ { - "packages/amqp": "4.0.0-beta.1", - "packages/async": "4.0.0-beta.1", - "packages/aws": "4.0.0-beta.1", - "packages/core": "4.0.0-beta.1", + "packages/amqp": "4.0.0-beta.2", + "packages/async": "4.0.0-beta.2", + "packages/aws": "4.0.0-beta.2", + "packages/core": "4.0.0-beta.2", "packages/codmod": "3.0.0", - "packages/elasticsearch": "4.0.0-beta.1", - "packages/gcp": "4.0.0-beta.1", - "packages/google-auth": "4.0.0-beta.1", - "packages/graphql": "4.0.0-beta.1", - "packages/hawk": "4.0.0-beta.1", - "packages/kubernetes": "4.0.0-beta.1", - "packages/mongodb": "4.0.0-beta.1", - "packages/otel": "4.0.0-beta.1", - "packages/postgres": "4.0.0-beta.1", - "packages/runtime": "4.0.0-beta.1", - "packages/shell": "4.0.0-beta.1", - "packages/tsc-esm": "4.0.0-beta.1", - "packages/workout": "4.0.0-beta.1", - "packages/cloudevents": "4.0.0-beta.2", - "packages/ql": "4.0.0-beta.1" + "packages/elasticsearch": "4.0.0-beta.2", + "packages/gcp": "4.0.0-beta.2", + "packages/google-auth": "4.0.0-beta.2", + "packages/graphql": "4.0.0-beta.2", + "packages/hawk": "4.0.0-beta.2", + "packages/kubernetes": "4.0.0-beta.2", + "packages/mongodb": "4.0.0-beta.2", + "packages/otel": "4.0.0-beta.2", + "packages/postgres": "4.0.0-beta.2", + "packages/runtime": "4.0.0-beta.2", + "packages/shell": "4.0.0-beta.2", + "packages/tsc-esm": "4.0.0-beta.2", + "packages/workout": "4.0.0-beta.2", + "packages/cloudevents": "4.0.0-beta.3", + "packages/ql": "4.0.0-beta.2" } diff --git a/packages/amqp/CHANGELOG.md b/packages/amqp/CHANGELOG.md index f4d47c591..eba72f539 100644 --- a/packages/amqp/CHANGELOG.md +++ b/packages/amqp/CHANGELOG.md @@ -168,6 +168,26 @@ * devDependencies * @webda/shell bumped from ^3.10.1 to ^3.11.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/amqp-v4.0.0-beta.1...amqp-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support + +### Features + +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/shell bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/amqp-v3.3.6...amqp-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/amqp/package.json b/packages/amqp/package.json index 823df9a4a..63297db8c 100644 --- a/packages/amqp/package.json +++ b/packages/amqp/package.json @@ -1,6 +1,6 @@ { "name": "@webda/amqp", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Implements AMQP on webda", "keywords": [ "activemq", @@ -21,7 +21,7 @@ "format:fix": "prettier --write src/**/*" }, "dependencies": { - "@webda/core": "^4.0.0-beta.1", + "@webda/core": "^4.0.0-beta.2", "amqplib": "^0.10.0" }, "files": [ @@ -51,7 +51,7 @@ "@testdeck/mocha": "^0.3.3", "@types/amqplib": "^0.10.0", "@types/node": "20.0.0", - "@webda/shell": "^4.0.0-beta.1", + "@webda/shell": "^4.0.0-beta.2", "sinon": "^19.0.2", "tsx": "^4.17.0" }, diff --git a/packages/async/CHANGELOG.md b/packages/async/CHANGELOG.md index 19f3e8e91..1ae5ed0c5 100644 --- a/packages/async/CHANGELOG.md +++ b/packages/async/CHANGELOG.md @@ -105,6 +105,35 @@ * dependencies * @webda/core bumped from ^3.15.1 to ^3.16.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/async-v4.0.0-beta.1...async-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support +* remove expose for Store + +### Features + +* remove expose for Store ([c8a36b1](https://github.com/loopingz/webda.io/commit/c8a36b19c81b830e9c03195388b402e53f987e6e)) +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Bug Fixes + +* optimize webda.module.json search ([e6db411](https://github.com/loopingz/webda.io/commit/e6db4111174d7e7428e1b1315f71d9027f4f6893)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/ql bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/workout bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/tsc-esm bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/async-v3.7.2...async-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/async/package.json b/packages/async/package.json index dd8445c82..2445e43a1 100644 --- a/packages/async/package.json +++ b/packages/async/package.json @@ -1,6 +1,6 @@ { "name": "@webda/async", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Async System", "main": "lib/index.js", "scripts": { @@ -25,9 +25,9 @@ "package.json" ], "dependencies": { - "@webda/core": "^4.0.0-beta.1", - "@webda/ql": "^4.0.0-beta.1", - "@webda/workout": "^4.0.0-beta.1", + "@webda/core": "^4.0.0-beta.2", + "@webda/ql": "^4.0.0-beta.2", + "@webda/workout": "^4.0.0-beta.2", "axios": "^1.1.3", "json-schema": "^0.4.0", "node-cron": "^3.0.2" @@ -35,7 +35,7 @@ "devDependencies": { "@testdeck/mocha": "^0.3.3", "@types/node": "20.0.0", - "@webda/tsc-esm": "^4.0.0-beta.1", + "@webda/tsc-esm": "^4.0.0-beta.2", "mocha": "^10.0.0", "sinon": "^19.0.2", "source-map-support": "^0.5.19", diff --git a/packages/async/src/services/asyncjobservice.ts b/packages/async/src/services/asyncjobservice.ts index b3b39c4d2..2ceeea730 100644 --- a/packages/async/src/services/asyncjobservice.ts +++ b/packages/async/src/services/asyncjobservice.ts @@ -349,6 +349,11 @@ export default class AsyncJobService { - let query = ""; + let queryString = ""; const parentId = `pid.${depth - 1}`; if (context.getHttpContext().getMethod() === "PUT") { - query = (await context.getInput()).q ?? ""; + queryString = (await context.getInput()).q ?? ""; context.clearInput(); } else { - query = context.parameter("q", ""); + queryString = context.parameter("q", ""); } + let query: QueryValidator; + try { + query = new QueryValidator(queryString); + } catch (err) { + throw new WebdaError.BadRequest(`Invalid query ${queryString}`); + } + // Inject parent attribute if (injectAttribute) { - if (query.trim() === "") { - query = `${injectAttribute} = '${context.parameter(parentId)}'`; - } else { - query = `${injectAttribute} = '${context.parameter(parentId)}' AND (${query})`; - } + query.merge(`${injectAttribute} = '${context.parameter(parentId)}'`); } - context.getParameters().query = query; + context.getParameters().query = query.toString(); return this._webda.callOperation(context, `${plurial}.Query`); }, openapi diff --git a/packages/core/src/services/domainservice.spec.ts b/packages/core/src/services/domainservice.spec.ts index 225853dcc..6b66fafd0 100644 --- a/packages/core/src/services/domainservice.spec.ts +++ b/packages/core/src/services/domainservice.spec.ts @@ -232,10 +232,37 @@ class DomainServiceTest extends WebdaTest { }, context }); + // We have 5 items so 5+4+3+2+1=15 assert.strictEqual( result.results.reduce((total, u) => parseInt(u.name.substring(5)) + total, 0), 15 ); + result = await this.http({ + method: "PUT", + url: `/companies/${companies[0].uuid}/users`, + body: { + q: "LIMIT 3" + }, + context + }); + // We have 3 items so 3+2+1=6 + assert.strictEqual( + result.results.reduce((total, u) => parseInt(u.name.substring(5)) + total, 0), + 6 + ); + result = await this.http({ + method: "PUT", + url: `/companies/${companies[0].uuid}/users`, + body: { + q: `LIMIT 2 OFFSET "${result.continuationToken}"` + }, + context + }); + // We should only have 2 items starting from 4 + assert.strictEqual( + result.results.reduce((total, u) => parseInt(u.name.substring(5)) + total, 0), + 9 + ); result = await this.http({ method: "PUT", url: `/companies/${companies[1].uuid}/users`, @@ -244,6 +271,18 @@ class DomainServiceTest extends WebdaTest { }, context }); + await assert.rejects( + () => + this.http({ + method: "PUT", + url: `/companies/${companies[1].uuid}/users`, + body: { + q: "invalid query" + }, + context + }), + WebdaError.BadRequest + ); assert.strictEqual( result.results.reduce((total, u) => parseInt(u.name.substring(5)) + total, 0), 40 diff --git a/packages/core/src/unpackedapplication.ts b/packages/core/src/unpackedapplication.ts index 69635c3df..d649b47e2 100644 --- a/packages/core/src/unpackedapplication.ts +++ b/packages/core/src/unpackedapplication.ts @@ -12,6 +12,7 @@ import { UnpackedConfiguration } from "./application"; import { FileUtils } from "./utils/serializers"; +import { join } from "path"; /** * Empty git information @@ -218,6 +219,53 @@ export class UnpackedApplication extends Application { return cacheModules; } + /** + * Search the node_modules structure for webda.module.json files + * + * @param path + * @returns + */ + static findModulesFiles(path: string): string[] { + if (!path.endsWith("node_modules") || !fs.existsSync(path)) { + return []; + } + const files = new Set(); + const checkFolder = (filepath: string) => { + if (fs.existsSync(join(filepath, "webda.module.json"))) { + files.add(join(filepath, "webda.module.json")); + } + if (fs.existsSync(join(filepath, "node_modules"))) { + this.findModulesFiles(join(filepath, "node_modules")).forEach(f => files.add(f)); + } + }; + const recursiveSearch = (dirpath: string, depth: number = 0) => { + fs.readdirSync(dirpath, { withFileTypes: true }).forEach(file => { + if (file.name.startsWith(".")) { + return; + } + const filepath = join(dirpath, file.name); + if (file.isDirectory() && file.name.startsWith("@") && depth === 0) { + // One recursion + recursiveSearch(filepath, depth + 1); + } else if (file.isDirectory()) { + checkFolder(filepath); + } else if (file.isSymbolicLink()) { + // We want to follow symbolic links w/o increasing depth + let realPath; + try { + // realpathSync will throw if the symlink is broken + realPath = fs.realpathSync(filepath); + } catch (err) { + return; + } + checkFolder(realPath); + } + }); + }; + recursiveSearch(path, 0); + return [...files]; + } + /** * Load all imported modules and current module * It will compile module @@ -239,27 +287,12 @@ export class UnpackedApplication extends Application { files.push(currentModule); } - const findModuleFiles = (nodeModules: string): void => { - if (!fs.existsSync(nodeModules)) { - return; - } - FileUtils.walkSync( - nodeModules, - filepath => { - // We filter out the cache of nx - // If it is inside a node_modules/. we consider it should not be checked - if (filepath.endsWith("webda.module.json") && !filepath.includes("node_modules/.")) { - files.push(filepath); - } - }, - { followSymlinks: true } - ); - }; - - findModuleFiles(this.getAppPath("node_modules")); + UnpackedApplication.findModulesFiles(this.getAppPath("node_modules")).forEach(f => files.push(f)); // Search workspace for webda.module.json if (module.project.webda.workspaces && module.project.webda.workspaces.path !== "") { - findModuleFiles(path.join(module.project.webda.workspaces.path, "node_modules")); + UnpackedApplication.findModulesFiles(path.join(module.project.webda.workspaces.path, "node_modules")).forEach(f => + files.push(f) + ); } // Ensure we are not adding many times the same modules diff --git a/packages/core/src/utils/context.spec.ts b/packages/core/src/utils/context.spec.ts index 0a472bc85..1165aba19 100644 --- a/packages/core/src/utils/context.spec.ts +++ b/packages/core/src/utils/context.spec.ts @@ -232,10 +232,14 @@ class ContextTest extends WebdaTest { cookie: "PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1" }); assert.strictEqual(ctx.getAbsoluteUrl("/test"), "http://test.webda.io/test"); - assert.deepStrictEqual(ctx.getCookies(), { + const cookies = ctx.getCookies(); + const valid = { PHPSESSID: "298zf09hf012fh2", csrftoken: "u32t4o3tb3gg43", _gat: "1" + }; + Object.keys(cookies).forEach(key => { + assert.deepEqual(cookies[key], valid[key]); }); ctx = new HttpContext("test.webda.io", "GET", "/uritemplate/plop", "https", 80); assert.strictEqual(ctx.getAbsoluteUrl(), "https://test.webda.io:80/uritemplate/plop"); diff --git a/packages/core/src/utils/cookie.ts b/packages/core/src/utils/cookie.ts index 9d5fdbbf2..e5ed254a8 100644 --- a/packages/core/src/utils/cookie.ts +++ b/packages/core/src/utils/cookie.ts @@ -1,4 +1,4 @@ -import { CookieSerializeOptions, serialize as cookieSerialize } from "cookie"; +import { type SerializeOptions, serialize as cookieSerialize } from "cookie"; import { JWTOptions } from "../services/cryptoservice"; import { WebContext } from "./context"; import { HttpContext } from "./httpcontext"; @@ -12,7 +12,7 @@ const SPLIT = 4096; /** * Cookie Options */ -export class CookieOptions implements Omit { +export class CookieOptions implements Omit { /** * @default lax */ @@ -164,7 +164,7 @@ export class SecureCookie { name ??= "webda"; let cookieName = name; let limit; - const mapLength = cookieSerialize(name, "", params).length; + const mapLength = cookieSerialize(name, "", params).length; for (let i = 0; i < value.length; ) { limit = SPLIT - mapLength; if (j > 1) { diff --git a/packages/core/webda.module.json b/packages/core/webda.module.json index 4112bc9cb..c8fabc69e 100644 --- a/packages/core/webda.module.json +++ b/packages/core/webda.module.json @@ -844,39 +844,64 @@ "cookie": { "type": "object", "properties": { - "sameSite": { - "type": "string", - "enum": [ - "none", - "strict", - "lax" - ], - "default": "lax" - }, - "domain": { - "type": "boolean", - "enum": [ - true - ], - "description": "if true domain will be set to the request hostname if undefined no domain will be output (browser will use the current domain and only this one) if a string is provided it will be used as the domain\n\nWhen provided a domain is setting the cookie to be available to all subdomains" + "encode": { + "description": "Specifies a function that will be used to encode a [cookie-value](https://datatracker.ietf.org/doc/html/rfc6265#section-4.1.1). Since value of a cookie has a limited character set (and must be a simple string), this function can be used to encode a value into a string suited for a cookie's value, and should mirror `decode` when parsing.", + "default": "encodeURIComponent" }, "maxAge": { "type": "number", + "description": "Specifies the `number` (in seconds) to be the value for the [`Max-Age` `Set-Cookie` attribute](https://tools.ietf.org/html/rfc6265#section-5.2.2).\n\nThe [cookie storage model specification](https://tools.ietf.org/html/rfc6265#section-5.3) states that if both `expires` and `maxAge` are set, then `maxAge` takes precedence, but it is possible not all clients by obey this, so if both are set, they should point to the same date and time.", "minimum": 1, "default": "86400 * 7" }, + "expires": { + "type": "string", + "description": "Specifies the `Date` object to be the value for the [`Expires` `Set-Cookie` attribute](https://tools.ietf.org/html/rfc6265#section-5.2.1). When no expiration is set clients consider this a \"non-persistent cookie\" and delete it the current session is over.\n\nThe [cookie storage model specification](https://tools.ietf.org/html/rfc6265#section-5.3) states that if both `expires` and `maxAge` are set, then `maxAge` takes precedence, but it is possible not all clients by obey this, so if both are set, they should point to the same date and time." + }, "path": { "type": "string", + "description": "Specifies the value for the [`Path` `Set-Cookie` attribute](https://tools.ietf.org/html/rfc6265#section-5.2.4). When no path is set, the path is considered the [\"default path\"](https://tools.ietf.org/html/rfc6265#section-5.1.4).", "default": "/" }, "httpOnly": { "type": "boolean", + "description": "Enables the [`HttpOnly` `Set-Cookie` attribute](https://tools.ietf.org/html/rfc6265#section-5.2.6). When enabled, clients will not allow client-side JavaScript to see the cookie in `document.cookie`.", "default": true }, "secure": { "type": "boolean", "description": "If not set will be true if https request and false otherwise If defined it will be set to the value" }, + "partitioned": { + "type": "boolean", + "description": "Enables the [`Partitioned` `Set-Cookie` attribute](https://tools.ietf.org/html/draft-cutler-httpbis-partitioned-cookies/). When enabled, clients will only send the cookie back when the current domain _and_ top-level domain matches.\n\nThis is an attribute that has not yet been fully standardized, and may change in the future. This also means clients may ignore this attribute until they understand it. More information about can be found in [the proposal](https://github.com/privacycg/CHIPS)." + }, + "priority": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ], + "description": "Specifies the value for the [`Priority` `Set-Cookie` attribute](https://tools.ietf.org/html/draft-west-cookie-priority-00#section-4.1).\n\n- `'low'` will set the `Priority` attribute to `Low`.\n- `'medium'` will set the `Priority` attribute to `Medium`, the default priority when not set.\n- `'high'` will set the `Priority` attribute to `High`.\n\nMore information about priority levels can be found in [the specification](https://tools.ietf.org/html/draft-west-cookie-priority-00#section-4.1)." + }, + "sameSite": { + "type": "string", + "enum": [ + "none", + "strict", + "lax" + ], + "description": "Specifies the value for the [`SameSite` `Set-Cookie` attribute](https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-09#section-5.4.7).\n\n- `true` will set the `SameSite` attribute to `Strict` for strict same site enforcement.\n- `'lax'` will set the `SameSite` attribute to `Lax` for lax same site enforcement.\n- `'none'` will set the `SameSite` attribute to `None` for an explicit cross-site cookie.\n- `'strict'` will set the `SameSite` attribute to `Strict` for strict same site enforcement.\n\nMore information about enforcement levels can be found in [the specification](https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-09#section-5.4.7).", + "default": "lax" + }, + "domain": { + "type": "boolean", + "enum": [ + true + ], + "description": "if true domain will be set to the request hostname if undefined no domain will be output (browser will use the current domain and only this one) if a string is provided it will be used as the domain\n\nWhen provided a domain is setting the cookie to be available to all subdomains" + }, "name": { "type": "string", "description": "Name of the cookie" @@ -2384,6 +2409,16 @@ "description": "Cache control header to set", "default": "public, max-age=31536000" }, + "indexCacheControl": { + "type": "string", + "description": "Cache control for index file SPA usually do not cache the index file", + "default": "no-cache, no-store, must-revalidate" + }, + "allowHiddenFiles": { + "type": "boolean", + "description": "Serve also . prefixed files . files usually have some secrets and should not be served", + "default": false + }, "openapi": { "type": "object", "additionalProperties": true diff --git a/packages/elasticsearch/CHANGELOG.md b/packages/elasticsearch/CHANGELOG.md index 3ea41f6c0..8a7445ca5 100644 --- a/packages/elasticsearch/CHANGELOG.md +++ b/packages/elasticsearch/CHANGELOG.md @@ -187,6 +187,26 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline * devDependencies * @webda/shell bumped from ^3.10.1 to ^3.11.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/elasticsearch-v4.0.0-beta.1...elasticsearch-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support + +### Features + +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/shell bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/elasticsearch-v3.2.12...elasticsearch-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/elasticsearch/package.json b/packages/elasticsearch/package.json index 529f290ed..3345fe6b0 100644 --- a/packages/elasticsearch/package.json +++ b/packages/elasticsearch/package.json @@ -1,6 +1,6 @@ { "name": "@webda/elasticsearch", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Webda ElasticSearch implementation", "main": "lib/index.js", "scripts": { @@ -34,7 +34,7 @@ "homepage": "https://github.com/loopingz/webda.io#readme", "dependencies": { "@elastic/elasticsearch": "^8.1.0", - "@webda/core": "^4.0.0-beta.1", + "@webda/core": "^4.0.0-beta.2", "dateformat": "^5.0.3", "yaml": "^2.0.0" }, @@ -56,7 +56,7 @@ "devDependencies": { "@testdeck/mocha": "^0.3.2", "@types/node": "20.0.0", - "@webda/shell": "^4.0.0-beta.1", + "@webda/shell": "^4.0.0-beta.2", "sinon": "^19.0.2", "tsx": "^4.17.0" }, diff --git a/packages/gcp/CHANGELOG.md b/packages/gcp/CHANGELOG.md index 78268d520..c596fe250 100644 --- a/packages/gcp/CHANGELOG.md +++ b/packages/gcp/CHANGELOG.md @@ -117,6 +117,30 @@ * @webda/async bumped from ^3.7.1 to ^3.7.2 * @webda/shell bumped from ^3.10.1 to ^3.11.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/gcp-v4.0.0-beta.1...gcp-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support +* remove expose for Store + +### Features + +* remove expose for Store ([c8a36b1](https://github.com/loopingz/webda.io/commit/c8a36b19c81b830e9c03195388b402e53f987e6e)) +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/ql bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/async bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/shell bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/gcp-v3.6.2...gcp-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/gcp/package.json b/packages/gcp/package.json index bdadd2abb..c0983fe31 100644 --- a/packages/gcp/package.json +++ b/packages/gcp/package.json @@ -1,6 +1,6 @@ { "name": "@webda/gcp", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Webda GCP Services implementation", "main": "lib/index.js", "scripts": { @@ -38,8 +38,8 @@ "@google-cloud/kms": "^4.0.1", "@google-cloud/pubsub": "^4.0.1", "@google-cloud/storage": "~7.13.0", - "@webda/core": "^4.0.0-beta.1", - "@webda/ql": "^4.0.0-beta.1", + "@webda/core": "^4.0.0-beta.2", + "@webda/ql": "^4.0.0-beta.2", "mime-types": "^2.1.35" }, "c8": { @@ -61,8 +61,8 @@ "devDependencies": { "@testdeck/mocha": "^0.3.2", "@types/node": "20.0.0", - "@webda/async": "^4.0.0-beta.1", - "@webda/shell": "^4.0.0-beta.1", + "@webda/async": "^4.0.0-beta.2", + "@webda/shell": "^4.0.0-beta.2", "sinon": "^19.0.2", "tsx": "^4.17.0" }, diff --git a/packages/google-auth/CHANGELOG.md b/packages/google-auth/CHANGELOG.md index 07e172247..8ac80491c 100644 --- a/packages/google-auth/CHANGELOG.md +++ b/packages/google-auth/CHANGELOG.md @@ -184,6 +184,26 @@ * devDependencies * @webda/shell bumped from ^3.10.1 to ^3.11.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/google-auth-v4.0.0-beta.1...google-auth-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support + +### Features + +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/shell bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/google-auth-v3.1.16...google-auth-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/google-auth/package.json b/packages/google-auth/package.json index d3aeb615f..cb96b48e3 100644 --- a/packages/google-auth/package.json +++ b/packages/google-auth/package.json @@ -1,6 +1,6 @@ { "name": "@webda/google-auth", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Webda Google Authentication", "main": "lib/index.js", "scripts": { @@ -33,7 +33,7 @@ }, "homepage": "https://github.com/loopingz/webda.io#readme", "dependencies": { - "@webda/core": "^4.0.0-beta.1", + "@webda/core": "^4.0.0-beta.2", "google-auth-library": "^9.0.0" }, "c8": { @@ -54,7 +54,7 @@ "devDependencies": { "@testdeck/mocha": "^0.3.2", "@types/node": "20.0.0", - "@webda/shell": "^4.0.0-beta.1", + "@webda/shell": "^4.0.0-beta.2", "node-fetch": "^3.3.1", "sinon": "^19.0.2", "tsx": "^4.17.0" diff --git a/packages/graphql/CHANGELOG.md b/packages/graphql/CHANGELOG.md index 1719d9793..871f96264 100644 --- a/packages/graphql/CHANGELOG.md +++ b/packages/graphql/CHANGELOG.md @@ -134,6 +134,35 @@ * devDependencies * @webda/shell bumped from ^3.10.1 to ^3.11.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/graphql-v4.0.0-beta.1...graphql-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support +* remove expose for Store + +### Features + +* remove expose for Store ([c8a36b1](https://github.com/loopingz/webda.io/commit/c8a36b19c81b830e9c03195388b402e53f987e6e)) +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Bug Fixes + +* optimize webda.module.json search ([e6db411](https://github.com/loopingz/webda.io/commit/e6db4111174d7e7428e1b1315f71d9027f4f6893)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/ql bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/runtime bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/shell bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/graphql-v3.8.6...graphql-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/graphql/package.json b/packages/graphql/package.json index 9f0e5ad52..591105eaf 100644 --- a/packages/graphql/package.json +++ b/packages/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@webda/graphql", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "GraphQL endpoint for your Webda Application", "main": "lib/index.js", "type": "module", @@ -25,9 +25,9 @@ "package.json" ], "dependencies": { - "@webda/core": "^4.0.0-beta.1", - "@webda/ql": "^4.0.0-beta.1", - "@webda/runtime": "^4.0.0-beta.1", + "@webda/core": "^4.0.0-beta.2", + "@webda/ql": "^4.0.0-beta.2", + "@webda/runtime": "^4.0.0-beta.2", "graphql": "^16.6.0", "graphql-http": "^1.16.0", "graphql-ws": "^5.14.2", @@ -37,7 +37,7 @@ "devDependencies": { "@testdeck/mocha": "^0.3.3", "@types/node": "20.0.0", - "@webda/shell": "^4.0.0-beta.1", + "@webda/shell": "^4.0.0-beta.2", "c8": "^10.1.2", "glob": "^10.0.0", "js-beautify": "^1.14.7", diff --git a/packages/graphql/src/graphql.ts b/packages/graphql/src/graphql.ts index 411b34bda..8dccab765 100644 --- a/packages/graphql/src/graphql.ts +++ b/packages/graphql/src/graphql.ts @@ -469,7 +469,7 @@ export class GraphQLService ext } }); } - if ((await modelInstance.canAct(context, "get")) !== true) { + if ((await modelInstance?.canAct(context, "get")) !== true) { throw new GraphQLError("Permission denied", { extensions: { code: "PERMISSION_DENIED" @@ -560,7 +560,7 @@ export class GraphQLService ext resolve: async (_, args, context) => { const object = new model().load(args[name]); this.log("INFO", "Create", object, context.getCurrentUserId()); - if ((await object.canAct(context, "create")) !== true) { + if ((await object?.canAct(context, "create")) !== true) { throw new GraphQLError("Permission denied", { extensions: { code: "PERMISSION_DENIED" @@ -912,7 +912,7 @@ export class GraphQLService ext }, "Store.Saved": async evt => { // If object match the query and is not in the result and can be read by the user - if (queryInfo.eval(evt.object) && !queryInfo.getOffset() && evt.object.canAct(context, "get")) { + if (queryInfo.eval(evt.object) && !queryInfo.getOffset() && evt.object?.canAct(context, "get")) { // Should check with the order by of the query to see if we need to recompute result = await model.query(query, true, context); return result; diff --git a/packages/hawk/CHANGELOG.md b/packages/hawk/CHANGELOG.md index 6b075a70c..cbbbda69b 100644 --- a/packages/hawk/CHANGELOG.md +++ b/packages/hawk/CHANGELOG.md @@ -144,6 +144,26 @@ * devDependencies * @webda/shell bumped from ^3.10.1 to ^3.11.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/hawk-v4.0.0-beta.1...hawk-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support + +### Features + +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/shell bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/hawk-v3.5.1...hawk-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/hawk/package.json b/packages/hawk/package.json index 8dd680c32..f621a4940 100644 --- a/packages/hawk/package.json +++ b/packages/hawk/package.json @@ -1,6 +1,6 @@ { "name": "@webda/hawk", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Implements Hawk on webda", "keywords": [ "hawk", @@ -22,7 +22,7 @@ "format:fix": "prettier --write src/**/*" }, "dependencies": { - "@webda/core": "^4.0.0-beta.1", + "@webda/core": "^4.0.0-beta.2", "hawk": "^9.0.0", "is-in-subnet": "^4.0.1", "jsonwebtoken": "^9.0.0" @@ -53,7 +53,7 @@ }, "devDependencies": { "@types/node": "20.0.0", - "@webda/shell": "^4.0.0-beta.1", + "@webda/shell": "^4.0.0-beta.2", "tsx": "^4.17.0" }, "type": "module", diff --git a/packages/kubernetes/CHANGELOG.md b/packages/kubernetes/CHANGELOG.md index 2ef3ef7be..a246f124b 100644 --- a/packages/kubernetes/CHANGELOG.md +++ b/packages/kubernetes/CHANGELOG.md @@ -137,6 +137,27 @@ * @webda/async bumped from ^3.7.1 to ^3.7.2 * @webda/core bumped from ^3.15.1 to ^3.16.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/kubernetes-v4.0.0-beta.1...kubernetes-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support + +### Features + +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/async bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/tsc-esm bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/kubernetes-v3.4.2...kubernetes-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/kubernetes/package.json b/packages/kubernetes/package.json index 06f47bb7f..73d46ccb0 100644 --- a/packages/kubernetes/package.json +++ b/packages/kubernetes/package.json @@ -1,6 +1,6 @@ { "name": "@webda/kubernetes", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Kubernetes Helpers", "main": "lib/index.js", "scripts": { @@ -27,13 +27,13 @@ ], "dependencies": { "@kubernetes/client-node": "^0.22.0", - "@webda/async": "^4.0.0-beta.1", - "@webda/core": "^4.0.0-beta.1" + "@webda/async": "^4.0.0-beta.2", + "@webda/core": "^4.0.0-beta.2" }, "devDependencies": { "@testdeck/mocha": "^0.3.3", "@types/node": "20.0.0", - "@webda/tsc-esm": "^4.0.0-beta.1", + "@webda/tsc-esm": "^4.0.0-beta.2", "c8": "^10.1.2", "mocha": "^10.0.0", "sinon": "^19.0.2", diff --git a/packages/mongodb/CHANGELOG.md b/packages/mongodb/CHANGELOG.md index 69e2a20f7..bfad9c154 100644 --- a/packages/mongodb/CHANGELOG.md +++ b/packages/mongodb/CHANGELOG.md @@ -200,6 +200,29 @@ * devDependencies * @webda/shell bumped from ^3.10.1 to ^3.11.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/mongo-v4.0.0-beta.1...mongo-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support +* remove expose for Store + +### Features + +* remove expose for Store ([c8a36b1](https://github.com/loopingz/webda.io/commit/c8a36b19c81b830e9c03195388b402e53f987e6e)) +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/ql bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/shell bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/mongo-v3.2.16...mongo-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/mongodb/package.json b/packages/mongodb/package.json index aee55549c..dbf16b531 100644 --- a/packages/mongodb/package.json +++ b/packages/mongodb/package.json @@ -1,6 +1,6 @@ { "name": "@webda/mongo", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Implements Mongo DB on webda", "keywords": [ "mongo", @@ -21,8 +21,8 @@ "format:fix": "prettier --write src/**/*" }, "dependencies": { - "@webda/core": "^4.0.0-beta.1", - "@webda/ql": "^4.0.0-beta.1", + "@webda/core": "^4.0.0-beta.2", + "@webda/ql": "^4.0.0-beta.2", "mongodb": "^6.0.0" }, "files": [ @@ -52,7 +52,7 @@ "devDependencies": { "@testdeck/mocha": "^0.3.2", "@types/node": "20.0.0", - "@webda/shell": "^4.0.0-beta.1", + "@webda/shell": "^4.0.0-beta.2", "tsx": "^4.17.0" }, "type": "module", diff --git a/packages/otel/CHANGELOG.md b/packages/otel/CHANGELOG.md index cc54ed96d..117a4df35 100644 --- a/packages/otel/CHANGELOG.md +++ b/packages/otel/CHANGELOG.md @@ -81,6 +81,33 @@ * devDependencies * @webda/shell bumped from ^3.10.1 to ^3.11.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/otel-v4.0.0-beta.1...otel-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support + +### Features + +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Bug Fixes + +* otel allow sampling ([ca2f6ec](https://github.com/loopingz/webda.io/commit/ca2f6ec92666267117a1c91a425f486793cfc7bd)) +* update otel versions ([723a4cd](https://github.com/loopingz/webda.io/commit/723a4cd2d379f72f5e395724c8a4b904ea89d9ab)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/workout bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/shell bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/otel-v3.3.2...otel-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/otel/package.json b/packages/otel/package.json index 01d057df8..f513617b5 100644 --- a/packages/otel/package.json +++ b/packages/otel/package.json @@ -1,6 +1,6 @@ { "name": "@webda/otel", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "OpenTelemetry module", "main": "lib/index.js", "type": "module", @@ -37,12 +37,12 @@ "@opentelemetry/sdk-metrics": "^1.26.0", "@opentelemetry/sdk-node": "^0.53.0", "@opentelemetry/semantic-conventions": "^1.27.0", - "@webda/core": "^4.0.0-beta.1", - "@webda/workout": "^4.0.0-beta.1" + "@webda/core": "^4.0.0-beta.2", + "@webda/workout": "^4.0.0-beta.2" }, "devDependencies": { "@testdeck/mocha": "^0.3.3", - "@webda/shell": "^4.0.0-beta.1", + "@webda/shell": "^4.0.0-beta.2", "c8": "^10.1.2", "glob": "^10.3.10", "js-beautify": "^1.14.9", diff --git a/packages/postgres/CHANGELOG.md b/packages/postgres/CHANGELOG.md index c97aba8a8..1d29ac761 100644 --- a/packages/postgres/CHANGELOG.md +++ b/packages/postgres/CHANGELOG.md @@ -96,6 +96,34 @@ * devDependencies * @webda/shell bumped from ^3.10.1 to ^3.11.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/postgres-v4.0.0-beta.1...postgres-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support +* remove expose for Store + +### Features + +* remove expose for Store ([c8a36b1](https://github.com/loopingz/webda.io/commit/c8a36b19c81b830e9c03195388b402e53f987e6e)) +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Bug Fixes + +* **rest:** restdomainservice parent query injector ([#683](https://github.com/loopingz/webda.io/issues/683)) ([7c8bf9b](https://github.com/loopingz/webda.io/commit/7c8bf9bb5b2dab0be890e9d5f1044f007eb6c76d)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/ql bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/shell bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/postgres-v3.4.3...postgres-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/postgres/package.json b/packages/postgres/package.json index 8d6cd82cc..bc1d6e458 100644 --- a/packages/postgres/package.json +++ b/packages/postgres/package.json @@ -1,6 +1,6 @@ { "name": "@webda/postgres", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Implements Postgres on webda", "keywords": [ "postgres", @@ -21,8 +21,8 @@ "format:fix": "prettier --write src/**/*" }, "dependencies": { - "@webda/core": "^4.0.0-beta.1", - "@webda/ql": "^4.0.0-beta.1", + "@webda/core": "^4.0.0-beta.2", + "@webda/ql": "^4.0.0-beta.2", "pg": "^8.7.1" }, "files": [ @@ -51,7 +51,7 @@ }, "devDependencies": { "@types/node": "20.0.0", - "@webda/shell": "^4.0.0-beta.1", + "@webda/shell": "^4.0.0-beta.2", "tsx": "^4.17.0" }, "type": "module", diff --git a/packages/postgres/webda.module.json b/packages/postgres/webda.module.json index cd0b08436..bd2cf8627 100644 --- a/packages/postgres/webda.module.json +++ b/packages/postgres/webda.module.json @@ -161,7 +161,7 @@ "properties": { "writable": { "type": "boolean", - "description": "Is `true` if it is safe to call `writable.write()`, which means the stream has not been destroyed, errored or ended." + "description": "Is `true` if it is safe to call `writable.write()`, which means the stream has not been destroyed, errored, or ended." }, "writableEnded": { "type": "boolean", @@ -193,7 +193,7 @@ }, "closed": { "type": "boolean", - "description": "Is true after 'close' has been emitted." + "description": "Is `true` after `'close'` has been emitted." }, "errored": { "anyOf": [ @@ -223,7 +223,7 @@ }, "writableNeedDrain": { "type": "boolean", - "description": "Is `true` if the stream's buffer has been full and stream will emit 'drain'." + "description": "Is `true` if the stream's buffer has been full and stream will emit `'drain'`." }, "readable": { "type": "boolean", @@ -273,7 +273,7 @@ }, "allowHalfOpen": { "type": "boolean", - "description": "If `false` then the stream will automatically end the writable side when the readable side ends. Set initially by the `allowHalfOpen` constructor option, which defaults to `false`.\n\nThis can be changed manually to change the half-open behavior of an existing`Duplex` stream instance, but must be changed before the `'end'` event is emitted." + "description": "If `false` then the stream will automatically end the writable side when the readable side ends. Set initially by the `allowHalfOpen` constructor option, which defaults to `true`.\n\nThis can be changed manually to change the half-open behavior of an existing`Duplex` stream instance, but must be changed before the `'end'` event is emitted." } }, "required": [ @@ -424,9 +424,6 @@ "description": "If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.", "default": true }, - "ALPNCallback": { - "description": "If set, this will be called when a client opens a connection using the ALPN extension. One argument will be passed to the callback: an object containing `servername` and `protocols` fields, respectively containing the server name from the SNI extension (if any) and an array of ALPN protocol name strings. The callback must return either one of the strings listed in `protocols`, which will be returned to the client as the selected ALPN protocol, or `undefined`, to reject the connection with a fatal alert. If a string is returned that does not match one of the client's ALPN protocols, an error will be thrown. This option cannot be used with the `ALPNProtocols` option, and setting both options will throw an error." - }, "ca": { "anyOf": [ { @@ -1014,7 +1011,7 @@ "properties": { "writable": { "type": "boolean", - "description": "Is `true` if it is safe to call `writable.write()`, which means the stream has not been destroyed, errored or ended." + "description": "Is `true` if it is safe to call `writable.write()`, which means the stream has not been destroyed, errored, or ended." }, "writableEnded": { "type": "boolean", @@ -1046,7 +1043,7 @@ }, "closed": { "type": "boolean", - "description": "Is true after 'close' has been emitted." + "description": "Is `true` after `'close'` has been emitted." }, "errored": { "anyOf": [ @@ -1076,7 +1073,7 @@ }, "writableNeedDrain": { "type": "boolean", - "description": "Is `true` if the stream's buffer has been full and stream will emit 'drain'." + "description": "Is `true` if the stream's buffer has been full and stream will emit `'drain'`." }, "readable": { "type": "boolean", @@ -1126,7 +1123,7 @@ }, "allowHalfOpen": { "type": "boolean", - "description": "If `false` then the stream will automatically end the writable side when the readable side ends. Set initially by the `allowHalfOpen` constructor option, which defaults to `false`.\n\nThis can be changed manually to change the half-open behavior of an existing`Duplex` stream instance, but must be changed before the `'end'` event is emitted." + "description": "If `false` then the stream will automatically end the writable side when the readable side ends. Set initially by the `allowHalfOpen` constructor option, which defaults to `true`.\n\nThis can be changed manually to change the half-open behavior of an existing`Duplex` stream instance, but must be changed before the `'end'` event is emitted." } }, "required": [ @@ -1260,7 +1257,7 @@ "properties": { "writable": { "type": "boolean", - "description": "Is `true` if it is safe to call `writable.write()`, which means the stream has not been destroyed, errored or ended." + "description": "Is `true` if it is safe to call `writable.write()`, which means the stream has not been destroyed, errored, or ended." }, "writableEnded": { "type": "boolean", @@ -1292,7 +1289,7 @@ }, "closed": { "type": "boolean", - "description": "Is true after 'close' has been emitted." + "description": "Is `true` after `'close'` has been emitted." }, "errored": { "anyOf": [ @@ -1322,7 +1319,7 @@ }, "writableNeedDrain": { "type": "boolean", - "description": "Is `true` if the stream's buffer has been full and stream will emit 'drain'." + "description": "Is `true` if the stream's buffer has been full and stream will emit `'drain'`." }, "readable": { "type": "boolean", @@ -1372,7 +1369,7 @@ }, "allowHalfOpen": { "type": "boolean", - "description": "If `false` then the stream will automatically end the writable side when the readable side ends. Set initially by the `allowHalfOpen` constructor option, which defaults to `false`.\n\nThis can be changed manually to change the half-open behavior of an existing`Duplex` stream instance, but must be changed before the `'end'` event is emitted." + "description": "If `false` then the stream will automatically end the writable side when the readable side ends. Set initially by the `allowHalfOpen` constructor option, which defaults to `true`.\n\nThis can be changed manually to change the half-open behavior of an existing`Duplex` stream instance, but must be changed before the `'end'` event is emitted." } }, "required": [ @@ -1523,9 +1520,6 @@ "description": "If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.", "default": true }, - "ALPNCallback": { - "description": "If set, this will be called when a client opens a connection using the ALPN extension. One argument will be passed to the callback: an object containing `servername` and `protocols` fields, respectively containing the server name from the SNI extension (if any) and an array of ALPN protocol name strings. The callback must return either one of the strings listed in `protocols`, which will be returned to the client as the selected ALPN protocol, or `undefined`, to reject the connection with a fatal alert. If a string is returned that does not match one of the client's ALPN protocols, an error will be thrown. This option cannot be used with the `ALPNProtocols` option, and setting both options will throw an error." - }, "ca": { "anyOf": [ { @@ -2113,7 +2107,7 @@ "properties": { "writable": { "type": "boolean", - "description": "Is `true` if it is safe to call `writable.write()`, which means the stream has not been destroyed, errored or ended." + "description": "Is `true` if it is safe to call `writable.write()`, which means the stream has not been destroyed, errored, or ended." }, "writableEnded": { "type": "boolean", @@ -2145,7 +2139,7 @@ }, "closed": { "type": "boolean", - "description": "Is true after 'close' has been emitted." + "description": "Is `true` after `'close'` has been emitted." }, "errored": { "anyOf": [ @@ -2175,7 +2169,7 @@ }, "writableNeedDrain": { "type": "boolean", - "description": "Is `true` if the stream's buffer has been full and stream will emit 'drain'." + "description": "Is `true` if the stream's buffer has been full and stream will emit `'drain'`." }, "readable": { "type": "boolean", @@ -2225,7 +2219,7 @@ }, "allowHalfOpen": { "type": "boolean", - "description": "If `false` then the stream will automatically end the writable side when the readable side ends. Set initially by the `allowHalfOpen` constructor option, which defaults to `false`.\n\nThis can be changed manually to change the half-open behavior of an existing`Duplex` stream instance, but must be changed before the `'end'` event is emitted." + "description": "If `false` then the stream will automatically end the writable side when the readable side ends. Set initially by the `allowHalfOpen` constructor option, which defaults to `true`.\n\nThis can be changed manually to change the half-open behavior of an existing`Duplex` stream instance, but must be changed before the `'end'` event is emitted." } }, "required": [ diff --git a/packages/ql/CHANGELOG.md b/packages/ql/CHANGELOG.md index 0d5b4fe6e..225880659 100644 --- a/packages/ql/CHANGELOG.md +++ b/packages/ql/CHANGELOG.md @@ -1,5 +1,30 @@ # Changelog +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/ql-v4.0.0-beta.1...ql-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support +* remove expose for Store + +### Features + +* remove expose for Store ([c8a36b1](https://github.com/loopingz/webda.io/commit/c8a36b19c81b830e9c03195388b402e53f987e6e)) +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Bug Fixes + +* prepend query now use WebdaQL parser ([#681](https://github.com/loopingz/webda.io/issues/681)) ([b640244](https://github.com/loopingz/webda.io/commit/b6402441096975861ac222b682bf8ae17ba3a36d)) + + +### Dependencies + +* The following workspace dependencies were updated + * devDependencies + * @webda/tsc-esm bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## 4.0.0-beta.1 (2024-08-14) diff --git a/packages/ql/package.json b/packages/ql/package.json index f7c5fd311..23c5a8a2b 100644 --- a/packages/ql/package.json +++ b/packages/ql/package.json @@ -1,6 +1,6 @@ { "name": "@webda/ql", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "WebdaQL module", "keywords": [ "webda" @@ -26,7 +26,7 @@ "devDependencies": { "@testdeck/mocha": "^0.3.2", "@types/node": "20.0.0", - "@webda/tsc-esm": "^4.0.0-beta.1", + "@webda/tsc-esm": "^4.0.0-beta.2", "antlr4ts-cli": "^0.5.0-alpha.4", "c8": "^9.0.0", "mocha": "^10.0.0", diff --git a/packages/runtime/CHANGELOG.md b/packages/runtime/CHANGELOG.md index cc629c185..0a3b33bc5 100644 --- a/packages/runtime/CHANGELOG.md +++ b/packages/runtime/CHANGELOG.md @@ -72,6 +72,30 @@ * devDependencies * @webda/shell bumped from ^3.10.1 to ^3.11.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/runtime-v4.0.0-beta.1...runtime-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support +* remove expose for Store + +### Features + +* remove expose for Store ([c8a36b1](https://github.com/loopingz/webda.io/commit/c8a36b19c81b830e9c03195388b402e53f987e6e)) +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/ql bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/workout bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * devDependencies + * @webda/shell bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/runtime-v3.5.2...runtime-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/runtime/package.json b/packages/runtime/package.json index 7f29768cf..84f59c7e5 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -1,6 +1,6 @@ { "name": "@webda/runtime", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "@webda runtime services", "keywords": [], "author": "Remi Cattiau ", @@ -20,15 +20,15 @@ }, "dependencies": { "@types/json-schema": "^7.0.8", - "@webda/core": "^4.0.0-beta.1", - "@webda/ql": "^4.0.0-beta.1", - "@webda/workout": "^4.0.0-beta.1", + "@webda/core": "^4.0.0-beta.2", + "@webda/ql": "^4.0.0-beta.2", + "@webda/workout": "^4.0.0-beta.2", "accept-language": "^3.0.18", "ajv": "^8.6.2", "ajv-formats": "^3.0.1", "antlr4ts": "^0.5.0-alpha.4", "bcryptjs": "^2.4.3", - "cookie": "^0.6.0", + "cookie": "^1.0.1", "dateformat": "^5.0.3", "deepmerge-ts": "^5.1.0", "email-templates": "^12.0.1", @@ -58,7 +58,7 @@ "devDependencies": { "@testdeck/mocha": "^0.3.2", "@types/node": "20.0.0", - "@webda/shell": "^4.0.0-beta.1", + "@webda/shell": "^4.0.0-beta.2", "c8": "^10.1.2", "fs-extra": "^11.0.0", "mocha": "^10.0.0", diff --git a/packages/shell/CHANGELOG.md b/packages/shell/CHANGELOG.md index 4f31e5e9f..33de84389 100644 --- a/packages/shell/CHANGELOG.md +++ b/packages/shell/CHANGELOG.md @@ -61,6 +61,30 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline * @webda/core bumped from ^3.13.2 to ^3.14.0 * @webda/kubernetes bumped from ^3.3.3 to ^3.3.4 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/shell-v4.0.0-beta.1...shell-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support +* remove expose for Store + +### Features + +* add shell events ([145728e](https://github.com/loopingz/webda.io/commit/145728ef990a933e226f3b5dcb3d20604f4182b3)) +* remove expose for Store ([c8a36b1](https://github.com/loopingz/webda.io/commit/c8a36b19c81b830e9c03195388b402e53f987e6e)) +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @webda/core bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/kubernetes bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/tsc-esm bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + * @webda/workout bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/shell-v3.11.0...shell-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/shell/package.json b/packages/shell/package.json index d827d4b8c..be097cdef 100644 --- a/packages/shell/package.json +++ b/packages/shell/package.json @@ -1,6 +1,6 @@ { "name": "@webda/shell", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Deploy a Webda app or configure it", "keywords": [ "aws", @@ -36,13 +36,13 @@ "dependencies": { "@kubernetes/client-node": "^0.22.0", "@phenomnomnominal/tsquery": "^6.1.2", - "@webda/core": "^4.0.0-beta.1", - "@webda/kubernetes": "^4.0.0-beta.1", - "@webda/tsc-esm": "^4.0.0-beta.1", - "@webda/workout": "^4.0.0-beta.1", + "@webda/core": "^4.0.0-beta.2", + "@webda/kubernetes": "^4.0.0-beta.2", + "@webda/tsc-esm": "^4.0.0-beta.2", + "@webda/workout": "^4.0.0-beta.2", "archiver": "^7.0.1", "chalk": "^5.0.1", - "cookie": "^0.6.0", + "cookie": "^1.0.1", "dateformat": "^5.0.3", "fs-extra": "^11.0.0", "generator-webda": "^1.2.0", diff --git a/packages/tsc-esm/CHANGELOG.md b/packages/tsc-esm/CHANGELOG.md index 2b8fc1c6d..fb787597e 100644 --- a/packages/tsc-esm/CHANGELOG.md +++ b/packages/tsc-esm/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/tsc-esm-v4.0.0-beta.1...tsc-esm-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support + +### Features + +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/tsc-esm-v1.3.0...tsc-esm-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/tsc-esm/package.json b/packages/tsc-esm/package.json index 9fcb9ebe8..939c0f1f0 100644 --- a/packages/tsc-esm/package.json +++ b/packages/tsc-esm/package.json @@ -1,6 +1,6 @@ { "name": "@webda/tsc-esm", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Compile with ES6 Module import correction", "keywords": [ "webda" diff --git a/packages/workout/CHANGELOG.md b/packages/workout/CHANGELOG.md index 6ca27f233..6fbc9192a 100644 --- a/packages/workout/CHANGELOG.md +++ b/packages/workout/CHANGELOG.md @@ -24,6 +24,24 @@ * devDependencies * @webda/tsc-esm bumped from ^1.2.0 to ^1.3.0 +## [4.0.0-beta.2](https://github.com/loopingz/webda.io/compare/workout-v4.0.0-beta.1...workout-v4.0.0-beta.2) (2024-10-16) + + +### ⚠ BREAKING CHANGES + +* remove node 18 support + +### Features + +* remove node 18 support ([44e7de2](https://github.com/loopingz/webda.io/commit/44e7de29fbc40df9cfb9a707f58bc08d421a3ac1)) + + +### Dependencies + +* The following workspace dependencies were updated + * devDependencies + * @webda/tsc-esm bumped from ^4.0.0-beta.1 to ^4.0.0-beta.2 + ## [4.0.0-beta.1](https://github.com/loopingz/webda.io/compare/workout-v3.2.0...workout-v4.0.0-beta.1) (2024-08-14) diff --git a/packages/workout/package.json b/packages/workout/package.json index da9ed8b42..9dfdf7ae1 100644 --- a/packages/workout/package.json +++ b/packages/workout/package.json @@ -1,6 +1,6 @@ { "name": "@webda/workout", - "version": "4.0.0-beta.1", + "version": "4.0.0-beta.2", "description": "Abstraction to loggin and user interaction", "keywords": [ "terminal", @@ -28,7 +28,7 @@ "@types/json-schema": "^7.0.8", "@types/node": "20.0.0", "@types/sprintf-js": "^1.1.2", - "@webda/tsc-esm": "^4.0.0-beta.1", + "@webda/tsc-esm": "^4.0.0-beta.2", "c8": "^10.1.2", "mocha": "^10.0.0", "mock-stdin": "^1.0.0", diff --git a/sample-app/webda.module.json b/sample-app/webda.module.json index ff83f2631..b019ff52c 100644 --- a/sample-app/webda.module.json +++ b/sample-app/webda.module.json @@ -704,7 +704,7 @@ "type": "string" }, "interfaceParam": { - "$ref": "#/definitions/Partial%3Cinterface-829200435-246-294-829200435-0-1238%3E", + "$ref": "#/definitions/Partial%3Cinterface-1076421816-246-294-1076421816-0-1238%3E", "description": "The Partial will generate a new $ref" }, "openapi": { @@ -719,7 +719,7 @@ ], "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { - "Partial": { + "Partial": { "type": "object", "properties": { "test": { @@ -1325,7 +1325,7 @@ "description": "URL on which to serve the content" }, "introspection": { - "$ref": "#/definitions/Partial%3Cclass-1131383939-2740-3224-1131383939-0-9466976353190%3E" + "$ref": "#/definitions/Partial%3Cclass-178760925-2740-3224-178760925-0-9466976353190%3E" }, "openapi": { "type": "object", @@ -1338,7 +1338,7 @@ ], "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { - "Partial": { + "Partial": { "type": "object", "properties": { "type": { @@ -1369,7 +1369,7 @@ "type": "string" }, "interfaceParam": { - "$ref": "#/definitions/Partial%3Cinterface-829200435-246-294-829200435-0-1238%3E", + "$ref": "#/definitions/Partial%3Cinterface-1076421816-246-294-1076421816-0-1238%3E", "description": "The Partial will generate a new $ref" }, "fourthParameter": { @@ -1390,7 +1390,7 @@ ], "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { - "Partial": { + "Partial": { "type": "object", "properties": { "test": { @@ -1601,7 +1601,7 @@ "type": "string" }, "interfaceParam": { - "$ref": "#/definitions/Partial%3Cinterface-829200435-246-294-829200435-0-1238%3E", + "$ref": "#/definitions/Partial%3Cinterface-1076421816-246-294-1076421816-0-1238%3E", "description": "The Partial will generate a new $ref" }, "openapi": { @@ -1616,7 +1616,7 @@ ], "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { - "Partial": { + "Partial": { "type": "object", "properties": { "test": {