diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
index fe46b54345..f5dfa72aa0 100644
--- a/.github/workflows/nodejs.yml
+++ b/.github/workflows/nodejs.yml
@@ -17,6 +17,8 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
+ - name: Start MongoDB
+ uses: supercharge/mongodb-github-action@1.7.0
- run: npm install -g codeclimate-test-reporter
- run: npm install
- run: npm test
diff --git a/.gitignore b/.gitignore
index 04761aa03e..a2ab84496b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,3 +41,4 @@ dist/
# TypeScript compiled files
packages/**/lib
+*.sqlite
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1f2fcad0ae..3d5328c1f3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,30 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Bug Fixes
+
+* **authentication-oauth:** Fix bug and properly set Grant defaults ([#2659](https://github.com/feathersjs/feathers/issues/2659)) ([cb93bb9](https://github.com/feathersjs/feathers/commit/cb93bb911fd92282424da2db805cd685b7e4a45b))
+* **authentication:** Add safe dispatch data for authentication requests ([#2662](https://github.com/feathersjs/feathers/issues/2662)) ([d8104a1](https://github.com/feathersjs/feathers/commit/d8104a19ee9181e6a5ea81014af29ff9a3c28a8a))
+* **schema:** Fix dispatch resovler hook to convert actually resolved data ([#2663](https://github.com/feathersjs/feathers/issues/2663)) ([f7e87db](https://github.com/feathersjs/feathers/commit/f7e87dbb9a0bc8d89aee47318dddbaa4d6ba5b91))
+
+
+### Features
+
+* **authentication-local:** Add passwordHash property resolver ([#2660](https://github.com/feathersjs/feathers/issues/2660)) ([b41279b](https://github.com/feathersjs/feathers/commit/b41279b55eea3771a6fa4983a37be2413287bbc6))
+* **cli:** Add generators for new Knex SQL database adapter ([#2673](https://github.com/feathersjs/feathers/issues/2673)) ([0fb2c0f](https://github.com/feathersjs/feathers/commit/0fb2c0f629116f71184b8698c383af8cfd149688))
+* **cli:** Add hook generator ([#2667](https://github.com/feathersjs/feathers/issues/2667)) ([24e4bc0](https://github.com/feathersjs/feathers/commit/24e4bc04a67fadee0e6a96a8389d788faba5c305))
+* **cli:** Add support for JavaScript to the new CLI ([#2668](https://github.com/feathersjs/feathers/issues/2668)) ([ebac587](https://github.com/feathersjs/feathers/commit/ebac587f7d00dc7607c3f546352d79f79b89a5d4))
+* **cli:** Add typed client to a generated app ([#2669](https://github.com/feathersjs/feathers/issues/2669)) ([5b801b5](https://github.com/feathersjs/feathers/commit/5b801b5017ddc3eaa95622b539f51d605916bc86))
+* **cli:** Initial Feathers v5 CLI and Pinion generator ([#2578](https://github.com/feathersjs/feathers/issues/2578)) ([7f59ae7](https://github.com/feathersjs/feathers/commit/7f59ae7f1471895ba8a82aa4702f1a23f71b7682))
+* **knex:** Add KnexJS SQL database adapter to core ([#2671](https://github.com/feathersjs/feathers/issues/2671)) ([9380fff](https://github.com/feathersjs/feathers/commit/9380fff58596e8bb90b8bb098d2795b7eadfec20))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
diff --git a/_templates/package/new/index.test.ts.t b/_templates/package/new/index.test.ts.t
deleted file mode 100644
index 053c5be400..0000000000
--- a/_templates/package/new/index.test.ts.t
+++ /dev/null
@@ -1,12 +0,0 @@
----
-to: packages/<%= name %>/test/index.test.ts
----
-
-import assert from 'assert';
-import { hello } from '../src';
-
-describe('@feathersjs/<%= name %>', () => {
- it('initializes', async () => {
- assert.strictEqual(hello(), 'Hello');
- });
-});
diff --git a/_templates/package/new/index.ts.t b/_templates/package/new/index.ts.t
deleted file mode 100644
index b0120efce8..0000000000
--- a/_templates/package/new/index.ts.t
+++ /dev/null
@@ -1,7 +0,0 @@
----
-to: packages/<%= name %>/src/index.ts
----
-
-export function hello () {
- return 'Hello';
-}
diff --git a/app/config/default.json b/app/config/default.json
new file mode 100644
index 0000000000..8d021f90a9
--- /dev/null
+++ b/app/config/default.json
@@ -0,0 +1,9 @@
+{
+ "host": "localhost",
+ "port": 3030,
+ "public": "./public/",
+ "paginate": {
+ "default": 10,
+ "max": 50
+ }
+}
\ No newline at end of file
diff --git a/app/config/test.json b/app/config/test.json
new file mode 100644
index 0000000000..ab43666340
--- /dev/null
+++ b/app/config/test.json
@@ -0,0 +1,3 @@
+{
+ "port": 8998
+}
\ No newline at end of file
diff --git a/app/package.json b/app/package.json
new file mode 100644
index 0000000000..b00f9d6234
--- /dev/null
+++ b/app/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "app",
+ "description": "",
+ "version": "0.0.0",
+ "homepage": "",
+ "private": true,
+ "keywords": [
+ "feathers"
+ ],
+ "author": {},
+ "contributors": [],
+ "bugs": {},
+ "engines": {
+ "node": ">= 16.13.0"
+ },
+ "feathers": {
+ "language": "ts",
+ "packager": "npm",
+ "database": "sequelize",
+ "framework": "koa",
+ "transports": [
+ "rest",
+ "websockets"
+ ]
+ },
+ "directories": {
+ "lib": "src",
+ "test": "test"
+ },
+ "main": "src/",
+ "dependencies": {
+ "@feathersjs/authentication": "^5.0.0-pre.16",
+ "@feathersjs/configuration": "^5.0.0-pre.16",
+ "@feathersjs/errors": "^5.0.0-pre.16",
+ "@feathersjs/feathers": "^5.0.0-pre.16",
+ "@feathersjs/koa": "^5.0.0-pre.16",
+ "@feathersjs/schema": "^5.0.0-pre.16",
+ "@feathersjs/socketio": "^5.0.0-pre.16",
+ "@feathersjs/transport-commons": "^5.0.0-pre.16",
+ "feathers-sequelize": "^6.3.2",
+ "koa-static": "^5.0.0",
+ "winston": "^3.6.0"
+ },
+ "devDependencies": {
+ "@types/koa-static": "^4.0.2",
+ "@types/mocha": "^9.1.0",
+ "@types/node": "^17.0.23",
+ "axios": "^0.25.0",
+ "mocha": "^9.2.2",
+ "nodemon": "^2.0.15",
+ "shx": "^0.3.4",
+ "ts-node": "^10.7.0",
+ "typescript": "^4.6.3"
+ },
+ "scripts": {
+ "dev": "nodemon -x ts-node src/index.ts",
+ "compile": "shx rm -rf lib/ && tsc",
+ "start": "npm run compile && node lib/",
+ "test": "mocha test/ --require ts-node/register --recursive --extension .ts --exit"
+ }
+}
\ No newline at end of file
diff --git a/app/public/index.html b/app/public/index.html
new file mode 100644
index 0000000000..2980642d2d
--- /dev/null
+++ b/app/public/index.html
@@ -0,0 +1,77 @@
+
+
+
+ app
+
+
+
+
+
+
+ app
+
+
+
+
+
+
+
diff --git a/app/readme.md b/app/readme.md
new file mode 100644
index 0000000000..83a6a98fce
--- /dev/null
+++ b/app/readme.md
@@ -0,0 +1,43 @@
+# app
+
+>
+
+## About
+
+This project uses [Feathers](http://feathersjs.com). An open source web framework for building APIs and real-time applications.
+
+## Getting Started
+
+1. Make sure you have [NodeJS](https://nodejs.org/) and [npm](https://www.npmjs.com/) installed.
+2. Install your dependencies
+
+ ```
+ cd path/to/app
+ npm install
+ ```
+
+3. Start your app
+
+ ```
+ npm start
+ ```
+
+## Testing
+
+Run `npm test` and all your tests in the `test/` directory will be run.
+
+## Scaffolding
+
+Feathers has a powerful command line interface. Here are a few things it can do:
+
+```
+$ npm install -g @feathersjs/cli # Install Feathers CLI
+
+$ feathers generate service # Generate a new Service
+$ feathers generate hook # Generate a new Hook
+$ feathers help # Show all commands
+```
+
+## Help
+
+For more information on all the things you can do with Feathers visit [docs.feathersjs.com](http://docs.feathersjs.com).
diff --git a/app/src/app.ts b/app/src/app.ts
new file mode 100644
index 0000000000..b761d4494e
--- /dev/null
+++ b/app/src/app.ts
@@ -0,0 +1,30 @@
+import serveStatic from 'koa-static'
+import { feathers } from '@feathersjs/feathers'
+import configuration from '@feathersjs/configuration'
+import { koa, rest, bodyParser, errorHandler, parseAuthentication } from '@feathersjs/koa'
+import socketio from '@feathersjs/socketio'
+
+import services from './services'
+import channels from './channels'
+import { logErrorHook } from './logger'
+import { Application } from './declarations'
+
+const app: Application = koa(feathers())
+
+// Load our app configuration (see config/ folder)
+app.configure(configuration())
+
+// Set up Koa middleware
+app.use(serveStatic(app.get('public')))
+app.use(errorHandler())
+app.use(parseAuthentication())
+app.use(bodyParser())
+
+// Configure services and transports
+app.configure(rest())
+app.configure(socketio())
+app.configure(services)
+app.configure(channels)
+app.hooks([ logErrorHook ])
+
+export { app }
diff --git a/app/src/channels.ts b/app/src/channels.ts
new file mode 100644
index 0000000000..02a218132f
--- /dev/null
+++ b/app/src/channels.ts
@@ -0,0 +1,67 @@
+import '@feathersjs/transport-commons'
+import { Application, HookContext } from './declarations'
+import { logger } from './logger'
+
+export default function(app: Application) {
+ if(typeof app.channel !== 'function') {
+ // If no real-time functionality has been configured just return
+ return
+ }
+
+ logger.warn('Publishing all events to all authenticated users. See `channels.js` and https://docs.feathersjs.com/api/channels.html for more information.')
+
+ app.on('connection', (connection: any) => {
+ // On a new real-time connection, add it to the anonymous channel
+ app.channel('anonymous').join(connection)
+ })
+
+ app.on('login', (authResult: any, { connection }: any) => {
+ // connection can be undefined if there is no
+ // real-time connection, e.g. when logging in via REST
+ if(connection) {
+ // Obtain the logged in user from the connection
+ // const user = connection.user
+
+ // The connection is no longer anonymous, remove it
+ app.channel('anonymous').leave(connection)
+
+ // Add it to the authenticated user channel
+ app.channel('authenticated').join(connection)
+
+ // Channels can be named anything and joined on any condition
+
+ // E.g. to send real-time events only to admins use
+ // if(user.isAdmin) { app.channel('admins').join(connection) }
+
+ // If the user has joined e.g. chat rooms
+ // if(Array.isArray(user.rooms)) user.rooms.forEach(room => app.channel(`rooms/${room.id}`).join(connection))
+
+ // Easily organize users by email and userid for things like messaging
+ // app.channel(`emails/${user.email}`).join(connection)
+ // app.channel(`userIds/${user.id}`).join(connection)
+ }
+ })
+
+ // eslint-disable-next-line no-unused-vars
+ app.publish((data: any, hook: HookContext) => {
+ // Here you can add event publishers to channels set up in `channels.js`
+ // To publish only for a specific event use `app.publish(eventname, () => {})`
+
+ console.log('Publishing all events to all authenticated users. See `channels.js` and https://docs.feathersjs.com/api/channels.html for more information.') // eslint-disable-line
+
+ // e.g. to publish all service events to all authenticated users use
+ return app.channel('authenticated')
+ })
+
+ // Here you can also add service specific event publishers
+ // e.g. the publish the `users` service `created` event to the `admins` channel
+ // app.service('users').publish('created', () => app.channel('admins'))
+
+ // With the userid and email organization from above you can easily select involved users
+ // app.service('messages').publish(() => {
+ // return [
+ // app.channel(`userIds/${data.createdBy}`),
+ // app.channel(`emails/${data.recipientEmail}`)
+ // ]
+ // })
+}
diff --git a/app/src/declarations.ts b/app/src/declarations.ts
new file mode 100644
index 0000000000..f1f91a965b
--- /dev/null
+++ b/app/src/declarations.ts
@@ -0,0 +1,10 @@
+import { HookContext as FeathersHookContext } from '@feathersjs/feathers'
+import { Application as FeathersApplication } from '@feathersjs/koa'
+
+// A mapping of service names to types. Will be extended in service files.
+export interface ServiceTypes {}
+
+// The application instance type that will be used everywhere else
+export type Application = FeathersApplication
+
+export type HookContext = FeathersHookContext
diff --git a/app/src/index.ts b/app/src/index.ts
new file mode 100644
index 0000000000..2ebc5538ef
--- /dev/null
+++ b/app/src/index.ts
@@ -0,0 +1,9 @@
+import { app } from './app'
+import { logger } from './logger'
+
+const port = app.get('port')
+const host = app.get('host')
+
+app.listen(port).then(() => {
+ logger.info(`Feathers app listening on http://${host}:${port}`)
+})
diff --git a/app/src/logger.ts b/app/src/logger.ts
new file mode 100644
index 0000000000..68fe3e2944
--- /dev/null
+++ b/app/src/logger.ts
@@ -0,0 +1,25 @@
+import { createLogger, format, transports } from 'winston'
+import { NextFunction } from '@feathersjs/feathers'
+import { HookContext } from './declarations'
+
+// Configure the Winston logger. For the complete documentation see https://github.com/winstonjs/winston
+export const logger = createLogger({
+ // To see more detailed errors, change this to 'debug'
+ level: 'info',
+ format: format.combine(
+ format.splat(),
+ format.simple()
+ ),
+ transports: [
+ new transports.Console()
+ ]
+})
+
+export const logErrorHook = async (context: HookContext, next: NextFunction) => {
+ try {
+ await next()
+ } catch (error) {
+ logger.error(error)
+ throw error
+ }
+}
diff --git a/app/src/schemas/testing.schema.ts b/app/src/schemas/testing.schema.ts
new file mode 100644
index 0000000000..b4a095e927
--- /dev/null
+++ b/app/src/schemas/testing.schema.ts
@@ -0,0 +1,93 @@
+import { schema, resolve, Infer } from '@feathersjs/schema'
+import { HookContext } from '../declarations'
+
+// Schema and resolver for the basic data model (e.g. creating new entries)
+export const testingDataSchema = schema({
+ $id: 'TestingServiceData',
+ type: 'object',
+ additionalProperties: false,
+ required: [ 'text' ],
+ properties: {
+ text: {
+ type: 'string'
+ }
+ }
+} as const)
+
+export type TestingServiceData = Infer
+
+export const testingDataResolver = resolve({
+ schema: testingDataSchema,
+ validate: 'before',
+ properties: {}
+})
+
+
+// Schema and resolver for making partial updates
+export const testingPatchSchema = schema({
+ $id: 'TestingServicePatch',
+ type: 'object',
+ additionalProperties: false,
+ required: [],
+ properties: {
+ ...testingDataSchema.definition.properties
+ }
+} as const)
+
+export type TestingServicePatch = Infer
+
+export const testingPatchResolver = resolve({
+ schema: testingPatchSchema,
+ validate: 'before',
+ properties: {}
+})
+
+
+// Schema and resolver for the data that is being returned
+export const testingResultSchema = schema({
+ $id: 'TestingServiceResult',
+ type: 'object',
+ additionalProperties: false,
+ required: [ 'text', 'id' ],
+ properties: {
+ ...testingDataSchema.definition.properties,
+ id: {
+ type: 'string'
+ }
+ }
+} as const)
+
+export type TestingServiceResult = Infer
+
+export const testingResultResolver = resolve({
+ schema: testingResultSchema,
+ validate: false,
+ properties: {}
+})
+
+
+// Schema and resolver for allowed query properties
+export const testingQuerySchema = schema({
+ $id: 'testingQuery',
+ type: 'object',
+ additionalProperties: false,
+ properties: {
+ $limit: {
+ type: 'integer',
+ minimum: 0,
+ maximum: 100
+ },
+ $skip: {
+ type: 'integer',
+ minimum: 0
+ }
+ }
+} as const)
+
+export type TestingServiceQuery = Infer
+
+export const testingQueryResolver = resolve({
+ schema: testingQuerySchema,
+ validate: 'before',
+ properties: {}
+})
diff --git a/app/src/services/index.ts b/app/src/services/index.ts
new file mode 100644
index 0000000000..bf13ce764b
--- /dev/null
+++ b/app/src/services/index.ts
@@ -0,0 +1,6 @@
+import { testing } from './testing'
+import { Application } from '../declarations'
+
+export default (app: Application) => {
+ app.configure(testing)
+}
diff --git a/app/src/services/testing.ts b/app/src/services/testing.ts
new file mode 100644
index 0000000000..137256b646
--- /dev/null
+++ b/app/src/services/testing.ts
@@ -0,0 +1,88 @@
+import { Id, NullableId, Params, ServiceMethods } from '@feathersjs/feathers'
+import { Application } from '../declarations'
+import { resolveData, resolveQuery, resolveResult } from '@feathersjs/schema'
+
+import {
+ TestingServiceData,
+ TestingServiceResult,
+ testingQueryResolver,
+ testingDataResolver,
+ testingPatchResolver,
+ testingResultResolver
+} from '../schemas/testing.schema.js'
+
+// The TestingService service class
+export interface TestingServiceOptions {
+ app: Application
+}
+
+export class TestingService implements Partial> {
+ constructor (public options: TestingServiceOptions) {
+ }
+
+ async find (params?: Params) {
+ return [];
+ }
+
+ async get (id: string, params?: Params) {
+ return {
+ id, text: `A new message with ID: ${id}!`
+ };
+ }
+
+ async create (data: TestingServiceData, params?: Params) {
+ return { id: 'hi', ...data };
+ }
+
+ async update (id: string, data: TestingServiceData, params?: Params) {
+ return { id, ...data };
+ }
+
+ async patch (id: string, data: TestingServiceData, params?: Params) {
+ return { id, ...data };
+ }
+
+ async remove (id: string, params?: Params) {
+ return { id, text: '' };
+ }
+}
+
+
+export const serviceHooks = [
+ resolveResult(testingResultResolver),
+ resolveQuery(testingQueryResolver)
+]
+
+export const methodHooks = {
+ find: [],
+ get: [],
+ create: [
+ resolveData(testingDataResolver)
+ ],
+ update: [
+ resolveData(testingDataResolver)
+ ],
+ patch: [
+ resolveData(testingPatchResolver)
+ ],
+ remove: []
+}
+
+export const regularHooks = {
+ before: {},
+ after: {},
+ error: {}
+}
+
+// A configure function that registers the service and its hooks via `app.configure`
+export function testing (app) {
+ const options = {
+ paginate: app.get('paginate'),
+ app
+ }
+
+ app.use('testing', new TestingService(options))
+ app.service('testing').hooks(serviceHooks)
+ app.service('testing').hooks(methodHooks)
+ app.service('testing').hooks(regularHooks)
+}
diff --git a/app/test/app.test.ts b/app/test/app.test.ts
new file mode 100644
index 0000000000..ada75c5917
--- /dev/null
+++ b/app/test/app.test.ts
@@ -0,0 +1,39 @@
+import assert from 'assert'
+import axios from 'axios'
+import { Server } from 'http'
+import { app } from '../src/app'
+
+const port = app.get('port')
+const appUrl = `http://${app.get('host')}:${port}`
+
+describe('Feathers application tests', () => {
+ let server: Server
+
+ before(async () => {
+ server = await app.listen(port)
+ })
+
+ after(done => {
+ server.close(done)
+ })
+
+ it('starts and shows the index page', async () => {
+ const { data } = await axios.get(appUrl)
+
+ assert.ok(data.indexOf('') !== -1)
+ })
+
+ it('shows a 404 JSON error', async () => {
+ try {
+ await axios.get(`${appUrl}/path/to/nowhere`, {
+ responseType: 'json'
+ })
+ assert.fail('should never get here')
+ } catch (error: any) {
+ const { response } = error
+ assert.strictEqual(response?.status, 404)
+ assert.strictEqual(response?.data?.code, 404)
+ assert.strictEqual(response?.data?.name, 'NotFound')
+ }
+ })
+})
diff --git a/app/test/services/testing.ts b/app/test/services/testing.ts
new file mode 100644
index 0000000000..48f4ac4158
--- /dev/null
+++ b/app/test/services/testing.ts
@@ -0,0 +1,10 @@
+import assert from 'assert'
+import { app } from '../../src/app'
+
+describe('testing service', () => {
+ it('registered the service', () => {
+ const service = app.service('testing')
+
+ assert.ok(service, 'Registered the service')
+ })
+})
diff --git a/app/tsconfig.json b/app/tsconfig.json
new file mode 100644
index 0000000000..dc49d2efad
--- /dev/null
+++ b/app/tsconfig.json
@@ -0,0 +1,16 @@
+{
+ "ts-node": {
+ "files": true
+ },
+ "compilerOptions": {
+ "target": "es2020",
+ "module": "commonjs",
+ "outDir": "./lib",
+ "rootDir": "./src",
+ "strict": true,
+ "esModuleInterop": true
+ },
+ "exclude": [
+ "test"
+ ]
+}
\ No newline at end of file
diff --git a/lerna.json b/lerna.json
index 112ba8d55e..84ccc188f5 100644
--- a/lerna.json
+++ b/lerna.json
@@ -3,7 +3,7 @@
"packages": [
"packages/*"
],
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"command": {
"bootstrap": {
"hoist": true
diff --git a/package-lock.json b/package-lock.json
index 0f4002000c..10417aebd6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,6 +9,7 @@
"dependencies": {
"@babel/core": "^7.18.2",
"@babel/preset-env": "^7.18.2",
+ "@feathershq/pinion": "^0.3.3",
"@feathersjs/hooks": "^0.7.5",
"@types/axios": "^0.14.0",
"@types/bcryptjs": "^2.4.2",
@@ -28,6 +29,7 @@
"@types/mongodb": "^4.0.6",
"@types/node": "^17.0.40",
"@types/node-fetch": "^2.6.1",
+ "@types/prettier": "^2.6.3",
"@types/qs": "^6.9.7",
"@types/superagent": "^4.1.15",
"@types/uuid": "^8.3.4",
@@ -36,6 +38,7 @@
"axios": "^0.27.2",
"babel-loader": "^8.2.5",
"bcryptjs": "^2.4.3",
+ "chalk": "^4.0.1",
"config": "^3.3.7",
"encodeurl": "^1.0.2",
"events": "^3.3.0",
@@ -45,6 +48,7 @@
"json-schema": "^0.4.0",
"json-schema-to-ts": "^2.5.3",
"jsonwebtoken": "^8.5.1",
+ "knex": "^2.1.0",
"koa": "^2.13.4",
"koa-bodyparser": "^4.3.0",
"koa-compose": "^4.1.0",
@@ -62,9 +66,11 @@
"sift": "^16.0.0",
"socket.io": "^4.5.1",
"socket.io-client": "^4.5.1",
+ "sqlite3": "^5.0.8",
"superagent": "^7.1.6",
"ts-loader": "^9.3.0",
"ts-node": "^10.8.1",
+ "type-fest": "^2.13.0",
"uuid": "^8.3.2",
"webpack": "^5.73.0",
"webpack-cli": "^4.9.2",
@@ -79,11 +85,11 @@
"eslint-plugin-prettier": "^4.0.0",
"lerna": "^5.0.0",
"npm-check-updates": "^13.1.1",
- "prettier": "2.6.2",
+ "prettier": "^2.7.1",
"typescript": "^4.7.3"
},
"engines": {
- "node": ">= 12"
+ "node": ">= 14"
},
"funding": {
"type": "github",
@@ -114,17 +120,17 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz",
- "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==",
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.5.tgz",
+ "integrity": "sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.18.2",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz",
- "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==",
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz",
+ "integrity": "sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==",
"dependencies": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.16.7",
@@ -132,10 +138,10 @@
"@babel/helper-compilation-targets": "^7.18.2",
"@babel/helper-module-transforms": "^7.18.0",
"@babel/helpers": "^7.18.2",
- "@babel/parser": "^7.18.0",
+ "@babel/parser": "^7.18.5",
"@babel/template": "^7.16.7",
- "@babel/traverse": "^7.18.2",
- "@babel/types": "^7.18.2",
+ "@babel/traverse": "^7.18.5",
+ "@babel/types": "^7.18.4",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -576,9 +582,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.18.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz",
- "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==",
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz",
+ "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -1277,9 +1283,9 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.18.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz",
- "integrity": "sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg==",
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz",
+ "integrity": "sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q==",
"dependencies": {
"@babel/helper-hoist-variables": "^7.16.7",
"@babel/helper-module-transforms": "^7.18.0",
@@ -1325,9 +1331,9 @@
}
},
"node_modules/@babel/plugin-transform-new-target": {
- "version": "7.17.12",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz",
- "integrity": "sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==",
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz",
+ "integrity": "sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg==",
"dependencies": {
"@babel/helper-plugin-utils": "^7.17.12"
},
@@ -1651,9 +1657,9 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.18.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz",
- "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==",
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz",
+ "integrity": "sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==",
"dependencies": {
"@babel/code-frame": "^7.16.7",
"@babel/generator": "^7.18.2",
@@ -1661,8 +1667,8 @@
"@babel/helper-function-name": "^7.17.9",
"@babel/helper-hoist-variables": "^7.16.7",
"@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.18.0",
- "@babel/types": "^7.18.2",
+ "@babel/parser": "^7.18.5",
+ "@babel/types": "^7.18.4",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -1766,6 +1772,79 @@
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
+ "node_modules/@feathershq/pinion": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@feathershq/pinion/-/pinion-0.3.3.tgz",
+ "integrity": "sha512-JXe55z59oc4uRT8XkYMlWYoj9ZKL39N5aIIHGnwSAVQbgQgatvTZpaPzZ0cgziN6XTl/QhJO4FRed+bPTInnvA==",
+ "dependencies": {
+ "@types/inquirer": "^8.2.0",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0",
+ "inquirer": "^8.2.0",
+ "ts-node": "^10.5.0",
+ "yargs": "^17.3.1"
+ },
+ "bin": {
+ "pinion": "bin/pinion"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/daffl"
+ }
+ },
+ "node_modules/@feathershq/pinion/node_modules/inquirer": {
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
+ "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.1",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "0.0.8",
+ "ora": "^5.4.1",
+ "run-async": "^2.4.0",
+ "rxjs": "^7.5.5",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@feathershq/pinion/node_modules/yargs": {
+ "version": "17.5.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
+ "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@feathershq/pinion/node_modules/yargs-parser": {
+ "version": "21.0.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
+ "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@feathersjs/hooks": {
"version": "0.7.5",
"resolved": "https://registry.npmjs.org/@feathersjs/hooks/-/hooks-0.7.5.tgz",
@@ -1778,7 +1857,7 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
"integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
- "dev": true
+ "devOptional": true
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.9.5",
@@ -1889,16 +1968,16 @@
}
},
"node_modules/@lerna/add": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/add/-/add-5.0.0.tgz",
- "integrity": "sha512-KdIOQL+88iHU9zuAU8Be1AL4cOVmm77nlckylsNaVVTiomNipr/h7lStiBO52BoMkwKzNwOH6He5HGY0Yo7s2w==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/add/-/add-5.1.4.tgz",
+ "integrity": "sha512-kysQaV0+6aFtT0rkbaeuP6qb0vYDwo7TiC+Og4STyXxv2mHXi3F8r6Z9xXNUn8LPi29gaCmB8DLmbEGlTBM4xg==",
"dev": true,
"dependencies": {
- "@lerna/bootstrap": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/npm-conf": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/bootstrap": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/npm-conf": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"dedent": "^0.7.0",
"npm-package-arg": "^8.1.0",
"p-map": "^4.0.0",
@@ -1906,75 +1985,75 @@
"semver": "^7.3.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/bootstrap": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-5.0.0.tgz",
- "integrity": "sha512-2m1BxKbYwDABy+uE/Da3EQM61R58bI3YQ0o1rsFQq1u0ltL9CJxw1o0lMg84hwMsBb4D+kLIXLqetYlLVgbr0Q==",
- "dev": true,
- "dependencies": {
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/has-npm-version": "5.0.0",
- "@lerna/npm-install": "5.0.0",
- "@lerna/package-graph": "5.0.0",
- "@lerna/pulse-till-done": "5.0.0",
- "@lerna/rimraf-dir": "5.0.0",
- "@lerna/run-lifecycle": "5.0.0",
- "@lerna/run-topologically": "5.0.0",
- "@lerna/symlink-binary": "5.0.0",
- "@lerna/symlink-dependencies": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-5.1.4.tgz",
+ "integrity": "sha512-uCP0WdxGCGAGkwcuhv2nLqLByq9WJ5yr+93A8T15xZJfQsXLtYjjlivIe35MjS77eR+krwl5uY6WmGPJ33+afg==",
+ "dev": true,
+ "dependencies": {
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/has-npm-version": "5.1.4",
+ "@lerna/npm-install": "5.1.4",
+ "@lerna/package-graph": "5.1.4",
+ "@lerna/pulse-till-done": "5.1.4",
+ "@lerna/rimraf-dir": "5.1.4",
+ "@lerna/run-lifecycle": "5.1.4",
+ "@lerna/run-topologically": "5.1.4",
+ "@lerna/symlink-binary": "5.1.4",
+ "@lerna/symlink-dependencies": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"@npmcli/arborist": "5.2.0",
"dedent": "^0.7.0",
"get-port": "^5.1.1",
"multimatch": "^5.0.0",
"npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0",
"p-waterfall": "^2.1.1",
"semver": "^7.3.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/changed": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-5.0.0.tgz",
- "integrity": "sha512-A24MHipPGODmzQBH1uIMPPUUOc1Zm7Qe/eSYzm52bFHtVxWH0nIVXfunadoMX32NhzKQH3Sw8X2rWHPQSRoUvA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-5.1.4.tgz",
+ "integrity": "sha512-XwA3+pw5keO2CyjobLN8dU7mvGbzB3FD+LtLPI/zk7UbNIbl7V6uaIkoPJIdTWwP1e6S1BnGCVsAMtwQ980gTA==",
"dev": true,
"dependencies": {
- "@lerna/collect-updates": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/listable": "5.0.0",
- "@lerna/output": "5.0.0"
+ "@lerna/collect-updates": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/listable": "5.1.4",
+ "@lerna/output": "5.1.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/check-working-tree": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-5.0.0.tgz",
- "integrity": "sha512-PnUMdpT2qS4o+vs+7l5fFIizstGdqSkhLG+Z9ZiY5OMtnGd+pmAFQFlbLSZSmdvQSOSobl9fhB1St8qhPD60xQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-5.1.4.tgz",
+ "integrity": "sha512-yFkRmZd25viwxyyOHZd3g7k2Od2Mk0Sf15fol3h/a7P0rUMf6UaMoGo2qlyo+DS51sz+eNalMmFKLpRrDXcSSw==",
"dev": true,
"dependencies": {
- "@lerna/collect-uncommitted": "5.0.0",
- "@lerna/describe-ref": "5.0.0",
- "@lerna/validation-error": "5.0.0"
+ "@lerna/collect-uncommitted": "5.1.4",
+ "@lerna/describe-ref": "5.1.4",
+ "@lerna/validation-error": "5.1.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/child-process": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-5.0.0.tgz",
- "integrity": "sha512-cFVNkedrlU8XTt15EvUtQ84hqtV4oToQW/elKNv//mhCz06HY8Y+Ia6XevK2zrIhZjS6DT576F/7SmTk3vnpmg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-5.1.4.tgz",
+ "integrity": "sha512-F7xP+bEdkE3JTyKz0t33QA5v2meXZrQQ0JmHa7/AlEg6D2r7gQ8UHSHuSUiNfX4drjpePe/9XaZylj01KLcx/w==",
"dev": true,
"dependencies": {
"chalk": "^4.1.0",
@@ -1982,126 +2061,125 @@
"strong-log-transformer": "^2.1.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/clean": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-5.0.0.tgz",
- "integrity": "sha512-7B+0Nx6MEPmCfnEa1JFyZwJsC7qlGrikWXyLglLb/wcbapYVsuDauOl9AT1iOFoXKw82P77HWYUKWeD9DQgw/w==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-5.1.4.tgz",
+ "integrity": "sha512-4Du/r8iYSYFpo1t5J1BYivmj84n9mGebt89isVsyqMmrCqd5B2ix/Z8PYPQFMwm7k9YYbV+sZGSpRvtXkn8kIw==",
"dev": true,
"dependencies": {
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/prompt": "5.0.0",
- "@lerna/pulse-till-done": "5.0.0",
- "@lerna/rimraf-dir": "5.0.0",
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/prompt": "5.1.4",
+ "@lerna/pulse-till-done": "5.1.4",
+ "@lerna/rimraf-dir": "5.1.4",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0",
"p-waterfall": "^2.1.1"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/cli": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-5.0.0.tgz",
- "integrity": "sha512-g8Nifko8XNySOl8u2molSHVl+fk/E1e5FSn/W2ekeijmc3ezktp+xbPWofNq71N/d297+KPQpLBfwzXSo9ufIQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-5.1.4.tgz",
+ "integrity": "sha512-ckLSNJBY4iVmu6nBhHb8UchpWGm49z9pjsAEJQ4F/VNkT6zKsmOCfv2ahkvudQ77gc0K/dH+MTvoOHsH85bpow==",
"dev": true,
"dependencies": {
- "@lerna/global-options": "5.0.0",
+ "@lerna/global-options": "5.1.4",
"dedent": "^0.7.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"yargs": "^16.2.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/collect-uncommitted": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-5.0.0.tgz",
- "integrity": "sha512-mga/2S9rK0TP5UCulWiCTrC/uKaiIlOro1n8R3oCw6eRw9eupCSRx5zGI7pdh8CPD82MDL7w0a6OTep3WBSBVA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-5.1.4.tgz",
+ "integrity": "sha512-CI9PXYQuewqA4ZBMRycDUSVRJmAxUeP8HEZ3aKNvAwlLxLlGCueh8qOHXZHxgkmF6eQtcEjblsReiDt8bFJZpA==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
+ "@lerna/child-process": "5.1.4",
"chalk": "^4.1.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/collect-updates": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-5.0.0.tgz",
- "integrity": "sha512-X82i8SVgBXLCk8vbKWfQPRLTAXROCANL8Z/bU1l6n7yycsHKdjrrlNi1+KprFdfRsMvSm10R4qPNcl9jgsp/IA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-5.1.4.tgz",
+ "integrity": "sha512-P1zlaZ0QkKIjbU3o7hjd4zcxzti1ndS4+eQNmlxZP3IcmlJ4+Ne+VxGeaACsjzPPBqSBWX1xcyMFLALH/Jo2CA==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
- "@lerna/describe-ref": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/describe-ref": "5.1.4",
"minimatch": "^3.0.4",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"slash": "^3.0.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/command": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/command/-/command-5.0.0.tgz",
- "integrity": "sha512-j7/apU5d/nhSc1qIZgcV03KyO5jz3y7cwSum3IuK8/XF6rKwt3FVnbue1V3l9sJ6IRJjsRGKyViB1IdP5nSX4Q==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/command/-/command-5.1.4.tgz",
+ "integrity": "sha512-S/3oIagN9/ntuGtljSxHu4liB9e9YFWsq/xZOR8YoqROJENv5G5zyAmHjXq90AR/tGmLvufzFliBfEIG9CywFA==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
- "@lerna/package-graph": "5.0.0",
- "@lerna/project": "5.0.0",
- "@lerna/validation-error": "5.0.0",
- "@lerna/write-log-file": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/package-graph": "5.1.4",
+ "@lerna/project": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
+ "@lerna/write-log-file": "5.1.4",
"clone-deep": "^4.0.1",
"dedent": "^0.7.0",
"execa": "^5.0.0",
"is-ci": "^2.0.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/conventional-commits": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-5.0.0.tgz",
- "integrity": "sha512-tUCRTAycDCtSlCEI0hublq4uKHeV0UHpwIb3Fdt6iv2AoTSPBSX/Dwu/6VqguysOSEkkR4M2JCOLvJCl4IMxwg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-5.1.4.tgz",
+ "integrity": "sha512-0v0exYOH9cJTNpKggqAw7vHVLlPjqO6Y20PUg44F3GOEjd54VIGDqu+MkVhflqvUftzZjmcUHDUGHVP+8dFBNw==",
"dev": true,
"dependencies": {
- "@lerna/validation-error": "5.0.0",
+ "@lerna/validation-error": "5.1.4",
"conventional-changelog-angular": "^5.0.12",
"conventional-changelog-core": "^4.2.2",
"conventional-recommended-bump": "^6.1.0",
"fs-extra": "^9.1.0",
"get-stream": "^6.0.0",
- "lodash.template": "^4.5.0",
"npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"pify": "^5.0.0",
"semver": "^7.3.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/create": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/create/-/create-5.0.0.tgz",
- "integrity": "sha512-sdFTVTLOVuhHpzIYhFAwK0Ry3p4d7uMe9ZG/Ii128/pB9kEEfCth+1WBq6mBpYZ5mOLLgxJbWalbiJFl0toQRw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/create/-/create-5.1.4.tgz",
+ "integrity": "sha512-UPR5EnFg0WzXiRIKl+MGHH3hBB6s1xkLDJNLGzac5Ztry/ibLDhl47wYoYcToiQ3/y3/3751WLJErF+A52mCyw==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/npm-conf": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/npm-conf": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"dedent": "^0.7.0",
"fs-extra": "^9.1.0",
"globby": "^11.0.2",
@@ -2118,21 +2196,21 @@
"yargs-parser": "20.2.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/create-symlink": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-5.0.0.tgz",
- "integrity": "sha512-nHYNacrh15Y0yEofVlUVu9dhf4JjIn9hY7v7rOUXzUeQ91iXY5Q3PVHkBeRUigyT5CWP5qozZwraCMwp+lDWYg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-5.1.4.tgz",
+ "integrity": "sha512-VTTuCgM5gXk0frAFxfVQqfX9QxXKz6TKpKsHcC39BAR3aiSUW8vqRImbLvaFtKpnEMW0HshDfuzp6rRkaiyWYw==",
"dev": true,
"dependencies": {
"cmd-shim": "^4.1.0",
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/create/node_modules/yargs-parser": {
@@ -2145,96 +2223,96 @@
}
},
"node_modules/@lerna/describe-ref": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-5.0.0.tgz",
- "integrity": "sha512-iLvMHp3nl4wcMR3/lVkz0ng7pAHfLQ7yvz2HsYBq7wllCcEzpchzPgyVzyvbpJ+Ke/MKjQTsrHE/yOGOH67GVw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-5.1.4.tgz",
+ "integrity": "sha512-ztLWLIyrHPxVhs8yfVpCDIw2st5c246KfoTqjEX8N6s8v0dLs3vfCKCM70ej6lBNkwqBXSilgHrd3AkGq3kq6Q==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.1.4",
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/diff": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-5.0.0.tgz",
- "integrity": "sha512-S4XJ6i9oP77cSmJ3oRUJGMgrI+jOTmkYWur2nqgSdyJBE1J2eClgTJknb3WAHg2cHALT18WzFqNghFOGM+9dRA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-5.1.4.tgz",
+ "integrity": "sha512-o5chvMHcKQS4zkdGX7LCaMgNn0flrG9OEiGt8DCIzRUa6aWJAlE2oZyOj+VsiUxzaZJxm2oV+GkISQYRJPlPug==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/validation-error": "5.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/exec": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-5.0.0.tgz",
- "integrity": "sha512-g5i+2RclCGWLsl88m11j99YM2Gqnwa2lxZ5tDeqqWZFno6Dlvop17Yl6/MFH42EgM2DQHUUCammvcLIAJ2XwEA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-5.1.4.tgz",
+ "integrity": "sha512-6vn1UCxJZTTt90WlWItI05yj4xaNOShgIl5Yi9mx1Ex6nVS32mmTOqHI/+Cn4M+P0C4u1hFymd2aIEfWnmdUsA==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/profiler": "5.0.0",
- "@lerna/run-topologically": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/profiler": "5.1.4",
+ "@lerna/run-topologically": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"p-map": "^4.0.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/filter-options": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-5.0.0.tgz",
- "integrity": "sha512-un73aYkXlzKlnDPx2AlqNW+ArCZ20XaX+Y6C0F+av9VZriiBsCgZTnflhih9fiSMnXjN5r9CA8YdWvZqa3oAcQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-5.1.4.tgz",
+ "integrity": "sha512-a6hLVZOb7awjI9Tk5hx90BB6GZz59npBRQN0kSG6drV1H+vi+wU7ee6OZ5EMHQgnzdZ6OjZQRHlWCCTXyNdKgQ==",
"dev": true,
"dependencies": {
- "@lerna/collect-updates": "5.0.0",
- "@lerna/filter-packages": "5.0.0",
+ "@lerna/collect-updates": "5.1.4",
+ "@lerna/filter-packages": "5.1.4",
"dedent": "^0.7.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/filter-packages": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-5.0.0.tgz",
- "integrity": "sha512-+EIjVVaMPDZ05F/gZa+kcXjBOLXqEamcEIDr+2ZXRgJmnrLx9BBY1B7sBEFHg7JXbeOKS+fKtMGVveV0SzgH3Q==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-5.1.4.tgz",
+ "integrity": "sha512-a+ThrgYyGrTfBZUMfi/WvcqX3Ce6JaMZjTYoNAmKpHYNZFRqdmgOT1fFLLF+/y62XGqCf0wo50xRYNg0hIAf3Q==",
"dev": true,
"dependencies": {
- "@lerna/validation-error": "5.0.0",
+ "@lerna/validation-error": "5.1.4",
"multimatch": "^5.0.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/get-npm-exec-opts": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.0.0.tgz",
- "integrity": "sha512-ZOg3kc5FXYA1kVFD2hfJOl64hNASWD6panwD0HlyzXgfKKTDRm/P/qtAqS8WGCzQWgEdx4wvsDe/58Lzzh6QzQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.1.4.tgz",
+ "integrity": "sha512-A+cNgTWWQOcNGWz9wj40/NWK46v8TtTAmXuEPfzDruv6VdmXEVIuq7SCeUPj9+aRxMQXVCil0/Vyo2z6R9TDLw==",
"dev": true,
"dependencies": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/get-packed": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-5.0.0.tgz",
- "integrity": "sha512-fks7Tg7DvcCZxRWPS3JAWVuLnwjPC/hLlNsdYmK9nN3+RtPhmYQgBjLSONcENw1E46t4Aph72lA9nLcYBLksqw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-5.1.4.tgz",
+ "integrity": "sha512-JD9U4Sp7Dpt3nUdXAo5f9SIXK2QsBaguChCZ8VTAl3eb7j0o7nrHYoh1eAa8rDT2L9+AxcUFDMi/wDdCotlJmA==",
"dev": true,
"dependencies": {
"fs-extra": "^9.1.0",
@@ -2242,295 +2320,295 @@
"tar": "^6.1.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/github-client": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-5.0.0.tgz",
- "integrity": "sha512-NoEyRkQ8XgBnrjRfC9ph1npfg1/4OdYG+r8lG/1WkJbdt1Wlym4VNZU2BYPMWwSQYMJuppoEr0LL2uuVcS4ZUw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-5.1.4.tgz",
+ "integrity": "sha512-VAaH9ycnGVsaGWM5uRKvd0oXlOERHOEOwxXLaCnR1mA7k5490B5jTlwhSWYdA4s40CF9AOdIVNgBhP+T7MlcPw==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
+ "@lerna/child-process": "5.1.4",
"@octokit/plugin-enterprise-rest": "^6.0.1",
"@octokit/rest": "^18.1.0",
"git-url-parse": "^11.4.4",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/gitlab-client": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-5.0.0.tgz",
- "integrity": "sha512-WREAT7qzta9hxNxktTX0x1/sEMpBP+4Gc00QSJYXt+ZzxY0t5RUx/ZK5pQl+IDhtkajrvXT6fSfZjMxxyE8hhQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-5.1.4.tgz",
+ "integrity": "sha512-F0Pa6Cv6TE0gbhuHR2gVVwdzstqePMZhTNcVY5So3YJrb1ppuUH/4cVXhRcEOj16QuWJ6yysxb7mj8tY4Zv0Bw==",
"dev": true,
"dependencies": {
"node-fetch": "^2.6.1",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"whatwg-url": "^8.4.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/global-options": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-5.0.0.tgz",
- "integrity": "sha512-PZYy/3mTZwtA9lNmHHRCc/Ty1W20qGJ/BdDIo4bw/Bk0AOcoBCLT9b3Mjijkl4AbC9+eSGk3flUYapCGVuS32Q==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-5.1.4.tgz",
+ "integrity": "sha512-gs6y97tomIuyYdDr9uKQ5B5AR9m6wVft6lrxWlGlLo0prz39tx7fJ9wT2IpJ9iALCadkQW6g7XFtddwfm5VRhg==",
"dev": true,
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/has-npm-version": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-5.0.0.tgz",
- "integrity": "sha512-zJPgcml86nhJFJTpT+kjkcafuCFvK7PSq3oDC2KJxwB1bhlYwy+SKtAEypHSsHQ2DwP0YgPITcy1pvtHkie1SA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-5.1.4.tgz",
+ "integrity": "sha512-U81b1nvqwF8PGyHib8/AWeGbaNipGdqXZsRO5g3ob9A5X57GXJ86cQVLejLi+znY4SmQcHladC4TotJkpNF1Ag==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
+ "@lerna/child-process": "5.1.4",
"semver": "^7.3.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/import": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/import/-/import-5.0.0.tgz",
- "integrity": "sha512-cD+Is7eV/I+ZU0Wlg+yAgKaZbOvfzA7kBj2Qu1HtxeLhc7joTR8PFW1gNjEsvrWOTiaHAtObbo1A+MKYQ/T12g==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/import/-/import-5.1.4.tgz",
+ "integrity": "sha512-Kswe1NKJDUDlO/gbkFcurzaYlaj/fXlapHTaih9LmQDiVPOE9GphD5qnABCV0c4CqeSnCzRujT5BUjjL5z7viA==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/prompt": "5.0.0",
- "@lerna/pulse-till-done": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/prompt": "5.1.4",
+ "@lerna/pulse-till-done": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"dedent": "^0.7.0",
"fs-extra": "^9.1.0",
"p-map-series": "^2.1.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/info": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/info/-/info-5.0.0.tgz",
- "integrity": "sha512-k9TMK81apTjxxpnjfFOABKXndTtHBPgB8UO+I6zKhsfRqVb9FCz2MHOx8cQiSyolvNyGSQdSylSo4p7EBBomQQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/info/-/info-5.1.4.tgz",
+ "integrity": "sha512-9OMdNtmDMKLwfX+aZk9nHLfksYXuU7IcIiVJ9dR7gYx1PoKjXvTpd/+hd7t/tmElM21kmPVxQBu02L3KmXw+hQ==",
"dev": true,
"dependencies": {
- "@lerna/command": "5.0.0",
- "@lerna/output": "5.0.0",
+ "@lerna/command": "5.1.4",
+ "@lerna/output": "5.1.4",
"envinfo": "^7.7.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/init": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/init/-/init-5.0.0.tgz",
- "integrity": "sha512-2n68x7AIqVa+Vev9xF3NV9ba0C599KYf7JsIrQ5ESv4593ftInJpwgMwjroLT3X/Chi4BK7y2/xGmrfFVwgILg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/init/-/init-5.1.4.tgz",
+ "integrity": "sha512-OdI5iWYT1JcB6f5mjmCjgpkOrpDdSSDzmSi34kp/NP1FkbskDoMffVBTQiV8/h6zAg3jk1+aLQYLMuR5E6nIwA==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
- "@lerna/command": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/command": "5.1.4",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0",
"write-json-file": "^4.3.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/link": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/link/-/link-5.0.0.tgz",
- "integrity": "sha512-00YxQ06TVhQJthOjcuxCCJRjkAM+qM/8Lv0ckdCzBBCSr4RdAGBp6QcAX/gjLNasgmNpyiza3ADet7mCH7uodw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/link/-/link-5.1.4.tgz",
+ "integrity": "sha512-j73MW+vam6e8XdwyQGeHR9X7TUmgvLG0wV1vDLjSyrhk/Q5oFo0RTRgfDJqR4tCtRnv0vujvw5oDXfSbBmg67g==",
"dev": true,
"dependencies": {
- "@lerna/command": "5.0.0",
- "@lerna/package-graph": "5.0.0",
- "@lerna/symlink-dependencies": "5.0.0",
+ "@lerna/command": "5.1.4",
+ "@lerna/package-graph": "5.1.4",
+ "@lerna/symlink-dependencies": "5.1.4",
"p-map": "^4.0.0",
"slash": "^3.0.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/list": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/list/-/list-5.0.0.tgz",
- "integrity": "sha512-+B0yFil2AFdiYO8hyU1bFbKXGBAUUQQ43/fp2XS2jBFCipLme4eTILL5gMKOhr2Xg9AsfYPXRMRer5VW7qTeeQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/list/-/list-5.1.4.tgz",
+ "integrity": "sha512-D7FAUik18s5FtHnBoPzodR8LUvH5b0a/ziV8ICaKWZ98H4w9qpNsQtBe0O+7DwUuqLKYpycst5tY5WVGnNwuNA==",
"dev": true,
"dependencies": {
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/listable": "5.0.0",
- "@lerna/output": "5.0.0"
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/listable": "5.1.4",
+ "@lerna/output": "5.1.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/listable": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-5.0.0.tgz",
- "integrity": "sha512-Rd5sE7KTbqA8u048qThH5IyBuJIwMcUnEObjFyJyKpc1SEWSumo4yAYmcEeN/9z62tcdud5wHYPSbVgfXJq37g==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-5.1.4.tgz",
+ "integrity": "sha512-grGLrffBNX38l5mzZgkv4xE9UcAAKBi1s+LgloI3rusgTdE/B8gvCOYMqLf9V08iojs7Ke2xPf0whJmbEeK/qA==",
"dev": true,
"dependencies": {
- "@lerna/query-graph": "5.0.0",
+ "@lerna/query-graph": "5.1.4",
"chalk": "^4.1.0",
- "columnify": "^1.5.4"
+ "columnify": "^1.6.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/log-packed": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-5.0.0.tgz",
- "integrity": "sha512-0TxKX+XnlEYj0du9U2kg3HEyIb/0QsM0Slt8utuCxALUnXRHTEKohjqVKsBdvh1QmJpnUbL5I+vfoYqno4Y42w==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-5.1.4.tgz",
+ "integrity": "sha512-qJlWMVjc/uM1I7AWqrOPeBLVZy9YExi/QqUyvmkb8mmsPXnW7rxIJQdYgRifS5aFNTbX/MtG8Q65Rr4syiVnSA==",
"dev": true,
"dependencies": {
"byte-size": "^7.0.0",
- "columnify": "^1.5.4",
+ "columnify": "^1.6.0",
"has-unicode": "^2.0.1",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/npm-conf": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-5.0.0.tgz",
- "integrity": "sha512-KSftxtMNVhLol1JNwFFNgh5jiCG010pewM+uKeSrUe0BCB3lnidiEDzu2CCn8JYYfIXqAiou/pScUiOxVLpcAA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-5.1.4.tgz",
+ "integrity": "sha512-kNbw2jO0HD9P4+nS8RIFub549BiQYG/sdFUuNWu7cCjErB+g/5ayfE6Mn5HyiRPMYXVw73iR8IzvkCCDWEOB7Q==",
"dev": true,
"dependencies": {
"config-chain": "^1.1.12",
"pify": "^5.0.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/npm-dist-tag": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-5.0.0.tgz",
- "integrity": "sha512-ccUFhp9Wu/FHW5/5fL+vLiSTcUZXtKQ7c0RMXtNRzIdTXBxPBkVi1k5QAnBAAffsz6Owc/K++cb+/zQ/asrG3g==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-5.1.4.tgz",
+ "integrity": "sha512-9q5N3iy8KGFBsyRBmNEftj8ACeCXNh2JUBqk/wYGiB0WH0oVf0UY/uo6VUy8dZjyJ9Q0eZa1ONtFHIg3QrzGDA==",
"dev": true,
"dependencies": {
- "@lerna/otplease": "5.0.0",
+ "@lerna/otplease": "5.1.4",
"npm-package-arg": "^8.1.0",
"npm-registry-fetch": "^9.0.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/npm-install": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-5.0.0.tgz",
- "integrity": "sha512-72Jf05JCIdeSBWXAiNjd/y2AQH4Ojgas55ojV2sAcEYz2wgyR7wSpiI6fHBRlRP+3XPjV9MXKxI3ZwOnznQxqQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-5.1.4.tgz",
+ "integrity": "sha512-DbbUK2Zy7ZBpkHimlFKf7XbGzBsoPfqzf0i9hIYBHmND9YWSgIgVFJcyRH7E6UKpr4wRChW4h6xEV81jKykB7w==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
- "@lerna/get-npm-exec-opts": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/get-npm-exec-opts": "5.1.4",
"fs-extra": "^9.1.0",
"npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"signal-exit": "^3.0.3",
"write-pkg": "^4.0.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/npm-publish": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-5.0.0.tgz",
- "integrity": "sha512-jnapZ2jRajSzshSfd1Y3rHH5R7QC+JJlYST04FBebIH3VePwDT7uAglDCI4um2THvxkW4420EzE4BUMUwKlnXA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-5.1.4.tgz",
+ "integrity": "sha512-MXtd2cFN+oJMxj9m1fXYAo+KE2BzO84Ukt3uAhQb1cXU01ZCwqGl/lQRWw5vI88emrKs0akx3d6E77PFpX9rpw==",
"dev": true,
"dependencies": {
- "@lerna/otplease": "5.0.0",
- "@lerna/run-lifecycle": "5.0.0",
+ "@lerna/otplease": "5.1.4",
+ "@lerna/run-lifecycle": "5.1.4",
"fs-extra": "^9.1.0",
"libnpmpublish": "^4.0.0",
"npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"pify": "^5.0.0",
"read-package-json": "^3.0.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/npm-run-script": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-5.0.0.tgz",
- "integrity": "sha512-qgGf0Wc/E2YxPwIiF8kC/OB9ffPf0/HVtPVkqrblVuNE9XVP80WilOH966PIDiXzwXaCo/cTswFoBeseccYRGw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-5.1.4.tgz",
+ "integrity": "sha512-vw2G69lFmFzdX553GidE66QgCZ3cGyxoOvnpCdvZ1n9AS5ZwZSiL8Ms6N3Vj+AOhESFZmFZkzIVhtpX5/xNzLg==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
- "@lerna/get-npm-exec-opts": "5.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.1.4",
+ "@lerna/get-npm-exec-opts": "5.1.4",
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/otplease": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-5.0.0.tgz",
- "integrity": "sha512-QLLkEy1DPN1XFRAAZDHxAD26MHFQDHfzB6KKSzRYxbHc6lH/YbDaMH1RloSWIm7Hwkxl/3NgpokgN4Lj5XFuzg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-5.1.4.tgz",
+ "integrity": "sha512-t3qKC55D7rCacNTsqQwn25XxDRQXgRHYWS0gqn2ch+dTwXOI61Uto9okVhgn2ZfZVydJ3sjnktOsPeSXhQRQew==",
"dev": true,
"dependencies": {
- "@lerna/prompt": "5.0.0"
+ "@lerna/prompt": "5.1.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/output": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/output/-/output-5.0.0.tgz",
- "integrity": "sha512-/7sUJQWPcvnLudjVIdN7t9MlfBLuP4JCDAWgQMqZe+wpQRuKNyKQ5dLBH5NHU/ElJCjAwMPfWuk3mh3GuvuiGA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/output/-/output-5.1.4.tgz",
+ "integrity": "sha512-E9nLEcV5GJbTKJd/d+cvU54CIzQqoU2rJAeXeyHTufbjgCTPk4I8uDNHmG7uJ+aPrif6PPBt1IIw+w5UnStfdw==",
"dev": true,
"dependencies": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/pack-directory": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-5.0.0.tgz",
- "integrity": "sha512-E1SNDS7xSWhJrTSmRzJK7DibneljrymviKcsZW3mRl4TmF4CpYJmNXCMlhEtKEy6ghnGQvnl3/4+eslHDJ5J/w==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-5.1.4.tgz",
+ "integrity": "sha512-TsltQrbwC/bPwQbL5i7WCMNM4Chl8+iqzawRZbILfjYpt3UK9xSV2tWfc9QtbmRBETvcFz/UMKQQDz+LMWN9jw==",
"dev": true,
"dependencies": {
- "@lerna/get-packed": "5.0.0",
- "@lerna/package": "5.0.0",
- "@lerna/run-lifecycle": "5.0.0",
- "@lerna/temp-write": "5.0.0",
+ "@lerna/get-packed": "5.1.4",
+ "@lerna/package": "5.1.4",
+ "@lerna/run-lifecycle": "5.1.4",
+ "@lerna/temp-write": "5.1.4",
"npm-packlist": "^2.1.4",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"tar": "^6.1.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/package": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/package/-/package-5.0.0.tgz",
- "integrity": "sha512-/JiUU88bhbYEUTzPqoGLGwrrdWWTIVMlBb1OPxCGNGDEqYYNySX+OTTSs3zGMcmJnRNI0UyQALiEd0sh3JFN5w==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/package/-/package-5.1.4.tgz",
+ "integrity": "sha512-L0zsxslJZ+swkG/KLU3TQHmWPR0hf0eLIdOROyA9Nxvuo8C/702ddYZcuEYcz9t/jOuSgSB2s90iK2oTIncNbw==",
"dev": true,
"dependencies": {
"load-json-file": "^6.2.0",
@@ -2538,72 +2616,72 @@
"write-pkg": "^4.0.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/package-graph": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-5.0.0.tgz",
- "integrity": "sha512-Z3QeUQVjux0Blo64rA3/NivoLDlsQBjsZRIgGLbcQh7l7pJrqLK1WyNCBbPJ0KQNljQqUXthCKzdefnEWe37Ew==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-5.1.4.tgz",
+ "integrity": "sha512-dP1gLcrqou5/8zef7u5ne4GTslNXULjpi3dDiljohKNR4XelsC4lkkF9m1Uzn9E1nAphHRhWXrRq40kqxmdYXg==",
"dev": true,
"dependencies": {
- "@lerna/prerelease-id-from-version": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/prerelease-id-from-version": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"semver": "^7.3.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/prerelease-id-from-version": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.0.0.tgz",
- "integrity": "sha512-bUZwyx6evRn2RxogOQXaiYxRK1U/1Mh/KLO4n49wUhqb8S8Vb9aG3+7lLOgg4ZugHpj9KAlD3YGEKvwYQiWzhg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.1.4.tgz",
+ "integrity": "sha512-kDcXKKFD6Ww/FinLEvsY1P3aIiuVLyonkttvfKJTJvm3ymz7/fBKz8GotFXuONVC1xSIK9Nrk3jGYs6ZGoha+w==",
"dev": true,
"dependencies": {
"semver": "^7.3.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/profiler": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-5.0.0.tgz",
- "integrity": "sha512-hFX+ZtoH7BdDoGI+bqOYaSptJTFI58wNK9qq/pHwL5ksV7vOhxP2cQAuo1SjgBKHGl0Ex/9ZT080YVV4jP1ehw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-5.1.4.tgz",
+ "integrity": "sha512-JLkS90+CSmi85v3SlJc5Wjk73MHmIviqtL3fM/Z6clBLbsRPkbBBfSwXKp7O281knF6E2UNTrWOtEG7b6wG3TQ==",
"dev": true,
"dependencies": {
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"upath": "^2.0.1"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/project": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/project/-/project-5.0.0.tgz",
- "integrity": "sha512-+izHk7D/Di2b0s69AzKzAa/qBz32H9s67oN9aKntrjNylpY7iN5opU157l60Kh4TprYHU5bLisqzFLZsHHADGw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/project/-/project-5.1.4.tgz",
+ "integrity": "sha512-k0z3w45t746uAUkN+jY/jF+/BqHodGFYaUfM0DTDOGUWC8tXzxuqk3bchShp6Wct2gwNQWbtWHl50Jhhw5PC5g==",
"dev": true,
"dependencies": {
- "@lerna/package": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/package": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"cosmiconfig": "^7.0.0",
"dedent": "^0.7.0",
"dot-prop": "^6.0.1",
"glob-parent": "^5.1.1",
"globby": "^11.0.2",
"load-json-file": "^6.2.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"resolve-from": "^5.0.0",
"write-json-file": "^4.3.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/project/node_modules/glob-parent": {
@@ -2628,193 +2706,193 @@
}
},
"node_modules/@lerna/prompt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-5.0.0.tgz",
- "integrity": "sha512-cq2k04kOPY1yuJNHJn4qfBDDrCi9PF4Q228JICa6bxaONRf/C/TRsEQXHVIdlax8B3l53LnlGv5GECwRuvkQbA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-5.1.4.tgz",
+ "integrity": "sha512-AiE8NIzh+x2+F0t96M+rfwLtKzBNXjQEWXtBfEcA1eRqanMWUr6ejfmdkoEzXVrMzyY/ugPdWQYbGCI00iF7Tg==",
"dev": true,
"dependencies": {
"inquirer": "^7.3.3",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/publish": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-5.0.0.tgz",
- "integrity": "sha512-QEWFtN8fW1M+YXEQOWb2XBBCT137CrwHYK29ojMXW9HShvSZezf8Q/niH91nZ4kIhWdpOGz4w3rKopsumAM5SA==",
- "dev": true,
- "dependencies": {
- "@lerna/check-working-tree": "5.0.0",
- "@lerna/child-process": "5.0.0",
- "@lerna/collect-updates": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/describe-ref": "5.0.0",
- "@lerna/log-packed": "5.0.0",
- "@lerna/npm-conf": "5.0.0",
- "@lerna/npm-dist-tag": "5.0.0",
- "@lerna/npm-publish": "5.0.0",
- "@lerna/otplease": "5.0.0",
- "@lerna/output": "5.0.0",
- "@lerna/pack-directory": "5.0.0",
- "@lerna/prerelease-id-from-version": "5.0.0",
- "@lerna/prompt": "5.0.0",
- "@lerna/pulse-till-done": "5.0.0",
- "@lerna/run-lifecycle": "5.0.0",
- "@lerna/run-topologically": "5.0.0",
- "@lerna/validation-error": "5.0.0",
- "@lerna/version": "5.0.0",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-5.1.4.tgz",
+ "integrity": "sha512-hbFAwOlyUR4AUBd7qTQXXVKgaxTS4Mz4Kkjxz8g7jtqo+T0KvU3JbfwDqxOiCwcDk+qkrBbkwbvc27jcObSwkw==",
+ "dev": true,
+ "dependencies": {
+ "@lerna/check-working-tree": "5.1.4",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/collect-updates": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/describe-ref": "5.1.4",
+ "@lerna/log-packed": "5.1.4",
+ "@lerna/npm-conf": "5.1.4",
+ "@lerna/npm-dist-tag": "5.1.4",
+ "@lerna/npm-publish": "5.1.4",
+ "@lerna/otplease": "5.1.4",
+ "@lerna/output": "5.1.4",
+ "@lerna/pack-directory": "5.1.4",
+ "@lerna/prerelease-id-from-version": "5.1.4",
+ "@lerna/prompt": "5.1.4",
+ "@lerna/pulse-till-done": "5.1.4",
+ "@lerna/run-lifecycle": "5.1.4",
+ "@lerna/run-topologically": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
+ "@lerna/version": "5.1.4",
"fs-extra": "^9.1.0",
"libnpmaccess": "^4.0.1",
"npm-package-arg": "^8.1.0",
"npm-registry-fetch": "^9.0.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-pipe": "^3.1.0",
"pacote": "^13.4.1",
"semver": "^7.3.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/pulse-till-done": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-5.0.0.tgz",
- "integrity": "sha512-qFeVybGIZbQSWKasWIzZmHsvCQMC/AwTz5B44a0zTt5eSNQuI65HRpKKUgmFFu/Jzd7u+yp7eP+NQ53gjOcQlQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-5.1.4.tgz",
+ "integrity": "sha512-zFPzv6cY0OcqtcR91ueZqd+ulTLE4vPk9l6iPAfefgqh6w0E6hSmG6J9RmYE3gaMHSFJdvYHb/yyTPLF32J9lg==",
"dev": true,
"dependencies": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/query-graph": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-5.0.0.tgz",
- "integrity": "sha512-C/HXssBI8DVsZ/7IDW6JG9xhoHtWywi3L5oZB9q84MBYpQ9otUv6zbB+K4JCj7w9WHcuFWe2T/mc9wsaFuvB5g==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-5.1.4.tgz",
+ "integrity": "sha512-G8DYNqp5ISbbMjEJhGst1GHk59zO18IG9oaVSK14M7iF3qCLtg0iJ1Do4LDNpda3EF8PrLOx2mrNM5MBcGMjEg==",
"dev": true,
"dependencies": {
- "@lerna/package-graph": "5.0.0"
+ "@lerna/package-graph": "5.1.4"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/resolve-symlink": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-5.0.0.tgz",
- "integrity": "sha512-O1EMQh3O3nKjLyI2guCCaxmi9xzZXpiMZhrz2ki5ENEDB2N1+f7cZ2THT0lEOIkLRuADI6hrzoN1obJ+TTk+KQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-5.1.4.tgz",
+ "integrity": "sha512-hpnaX5tznAtbQXlyc92kJiywdTnnbCf6wihSZwDiVnVgXuHJ3LvmjN677h9A0jobY6KdTT+wIoAHpJuZHj60vQ==",
"dev": true,
"dependencies": {
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"read-cmd-shim": "^2.0.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/rimraf-dir": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-5.0.0.tgz",
- "integrity": "sha512-hWJg/13CiSUrWWEek3B/A1mkvBbcPvG5z69/Ugyerdpzlw44ubf02MAZ0/kXPJjkICI2hMrS07YotQ60LdYpCw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-5.1.4.tgz",
+ "integrity": "sha512-WvHm4gE1/HWbI4gCjJw3clPT+FRq2Ob9I9EDbfw4c307MNT4kW4bJU2mt0nyv/uwYhUkTG+GQVrlt+Dtcif77g==",
"dev": true,
"dependencies": {
- "@lerna/child-process": "5.0.0",
- "npmlog": "^4.1.2",
+ "@lerna/child-process": "5.1.4",
+ "npmlog": "^6.0.2",
"path-exists": "^4.0.0",
"rimraf": "^3.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/run": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run/-/run-5.0.0.tgz",
- "integrity": "sha512-8nBZstqKSO+7wHlKk1g+iexSYRVVNJq/u5ZbAzBiHNrABtqA6/0G7q9vsAEMsnPZ8ARAUYpwvbfKTipjpWH0VA==",
- "dev": true,
- "dependencies": {
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/npm-run-script": "5.0.0",
- "@lerna/output": "5.0.0",
- "@lerna/profiler": "5.0.0",
- "@lerna/run-topologically": "5.0.0",
- "@lerna/timer": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/run/-/run-5.1.4.tgz",
+ "integrity": "sha512-iaTioOF66z02Y9ml/Ba0ePpXOwZ+BkODcNXrJbyW8WhraL0fSjyno0FspO1Eu0nG4JMtgCsoEzHNphsk7Wg+7A==",
+ "dev": true,
+ "dependencies": {
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/npm-run-script": "5.1.4",
+ "@lerna/output": "5.1.4",
+ "@lerna/profiler": "5.1.4",
+ "@lerna/run-topologically": "5.1.4",
+ "@lerna/timer": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"p-map": "^4.0.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/run-lifecycle": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-5.0.0.tgz",
- "integrity": "sha512-36mAm9rC5DSliFShI0Y4ICjgrJXdIIVt7VW9rdbdJ8/XYjRHDzhGPB9Sc1neJOVlGL4DmaArvh5tGgo62KPJYQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-5.1.4.tgz",
+ "integrity": "sha512-ubmqi1ixebBHSTYS0oK8MoqBoJE7UDrXWTWsv84UrXiPutTffLR8ZQJKlMEcetQVzX9qbjpKbzc+jQWXPWid2A==",
"dev": true,
"dependencies": {
- "@lerna/npm-conf": "5.0.0",
+ "@lerna/npm-conf": "5.1.4",
"@npmcli/run-script": "^3.0.2",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/run-topologically": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-5.0.0.tgz",
- "integrity": "sha512-B2s1N/+r3sfPOLRA2svNk+C52JpXQleMuGap0yhOx5mZzR1M2Lo4vpe9Ody4hCvXQjfdLx/U342fxVmgugUtfQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-5.1.4.tgz",
+ "integrity": "sha512-MckWfLu/xuRtaThdUgrJC2naumv2LOIiMoJfxCdYpiCrIgq5YrwqOxjQ0awHqQhkvFZ5G91ucBcBEIMsOou1iw==",
"dev": true,
"dependencies": {
- "@lerna/query-graph": "5.0.0",
+ "@lerna/query-graph": "5.1.4",
"p-queue": "^6.6.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/symlink-binary": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-5.0.0.tgz",
- "integrity": "sha512-uYyiiNjkdL1tWf8MDXIIyCa/a2gmYaUxagqMgEZ4wRtOk+PDypDwMUFVop/EQtUWZqG5CAJBJYOztG3DdapTbA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-5.1.4.tgz",
+ "integrity": "sha512-SNjHxCNTCD0Xfj3CNBTG+3ut4aDAVaq+SrB2ckFNmZ5Z9yFdnX6aP+PBzLD/0q5hj18lGlaJ8iZjD/ubbrgFCA==",
"dev": true,
"dependencies": {
- "@lerna/create-symlink": "5.0.0",
- "@lerna/package": "5.0.0",
+ "@lerna/create-symlink": "5.1.4",
+ "@lerna/package": "5.1.4",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/symlink-dependencies": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-5.0.0.tgz",
- "integrity": "sha512-wlZGOOB87XMy278hpF4fOwGNnjTXf1vJ/cFHIdKsJAiDipyhtnuCiJLBDPh4NzEGb02o4rhaqt8Nl5yWRu9CNA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-5.1.4.tgz",
+ "integrity": "sha512-SuzylyNs1R5bVRqSCwfbQLdDP83RX8ncQxOy2SSSrScwkzdBCDqDPh4haeADsq2+RoOQBItn1PDfzUCNAWomDA==",
"dev": true,
"dependencies": {
- "@lerna/create-symlink": "5.0.0",
- "@lerna/resolve-symlink": "5.0.0",
- "@lerna/symlink-binary": "5.0.0",
+ "@lerna/create-symlink": "5.1.4",
+ "@lerna/resolve-symlink": "5.1.4",
+ "@lerna/symlink-binary": "5.1.4",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/temp-write": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-5.0.0.tgz",
- "integrity": "sha512-JOkRR6xyASuBy1udyS/VD52Wgywnz7cSKppD+QKIDseNzTq27I9mNmb702BSXNXIdD19lLVQ7q6WoAlpnelnZg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-5.1.4.tgz",
+ "integrity": "sha512-f+6+ud87pyitM9zAq7GBhB7uoHTcgLJvR3YGv5sNja4jIl3+zdKPDcyxzVyQb38knuRSkGM8NjYOWi4zwcMaGw==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.1.15",
@@ -2825,51 +2903,51 @@
}
},
"node_modules/@lerna/timer": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-5.0.0.tgz",
- "integrity": "sha512-p2vevkpB6V/b0aR8VyMLDfg0Arp9VvMxcZOEu+IfZ9XKTtnbwjWPHKUOS34x/VGa6bnOIWjE046ixWymOs/fTw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-5.1.4.tgz",
+ "integrity": "sha512-fhQtqkLxNexPWzhI1WAxZnHIBM8VhChvUJu503u1Rmp2JxhXbTE4Txnu1gPvqlDjdoE6ck0vN5icmfMVRwKc8g==",
"dev": true,
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/validation-error": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-5.0.0.tgz",
- "integrity": "sha512-fu/MhqRXiRQM2cirP/HoSkfwc5XtJ21G60WHv74RnanKBqWEZAUALWa3MQN2sYhVV/FpDW3GLkO008IW5NWzdg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-5.1.4.tgz",
+ "integrity": "sha512-wys9Fv/bUy7sYXOK9t+V3XSyEHK5tUXwY22nfIDYu416WcSkkE4DI8Q2nTv4nYYOmG2Y7IOhaSenbsPLQ0VqtQ==",
"dev": true,
"dependencies": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/version": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/version/-/version-5.0.0.tgz",
- "integrity": "sha512-M8KvdyG5kR/d3wgg5S46Q2YMf0L9iw9MiumTvlDP4ckysTt+04kS74Vp4+aClgPM4xaoI5OuMrs6wy5ICcd3Pw==",
- "dev": true,
- "dependencies": {
- "@lerna/check-working-tree": "5.0.0",
- "@lerna/child-process": "5.0.0",
- "@lerna/collect-updates": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/conventional-commits": "5.0.0",
- "@lerna/github-client": "5.0.0",
- "@lerna/gitlab-client": "5.0.0",
- "@lerna/output": "5.0.0",
- "@lerna/prerelease-id-from-version": "5.0.0",
- "@lerna/prompt": "5.0.0",
- "@lerna/run-lifecycle": "5.0.0",
- "@lerna/run-topologically": "5.0.0",
- "@lerna/temp-write": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/version/-/version-5.1.4.tgz",
+ "integrity": "sha512-cYgm1SNdiK129JoWI8WMwjsxaIyeAC1gCaToWk36Tw+BCF3PbkdoTKdneDmJ+7qbX1QrzxsgHTcjwIt4lZPEqQ==",
+ "dev": true,
+ "dependencies": {
+ "@lerna/check-working-tree": "5.1.4",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/collect-updates": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/conventional-commits": "5.1.4",
+ "@lerna/github-client": "5.1.4",
+ "@lerna/gitlab-client": "5.1.4",
+ "@lerna/output": "5.1.4",
+ "@lerna/prerelease-id-from-version": "5.1.4",
+ "@lerna/prompt": "5.1.4",
+ "@lerna/run-lifecycle": "5.1.4",
+ "@lerna/run-topologically": "5.1.4",
+ "@lerna/temp-write": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"chalk": "^4.1.0",
"dedent": "^0.7.0",
"load-json-file": "^6.2.0",
"minimatch": "^3.0.4",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-pipe": "^3.1.0",
"p-reduce": "^2.1.0",
@@ -2879,20 +2957,81 @@
"write-json-file": "^4.3.0"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/@lerna/write-log-file": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-5.0.0.tgz",
- "integrity": "sha512-kpPNxe9xm36QbCWY7DwO96Na6FpCHzZinJtw6ttBHslIcdR38lZuCp+/2KfJcVsRIPNOsp1VvgP7EZIKiBhgjw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-5.1.4.tgz",
+ "integrity": "sha512-ISJbkjaSKhJ4d7V90RFvuwDQFq9ZH/KN475KFJr+TBFZTwMiXuBahlq+j8/a+nItejNnuPD4/xlWuzCOuGJORQ==",
"dev": true,
"dependencies": {
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"write-file-atomic": "^3.0.3"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz",
+ "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==",
+ "dependencies": {
+ "detect-libc": "^2.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.7",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ },
+ "bin": {
+ "node-pre-gyp": "bin/node-pre-gyp"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp/node_modules/are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp/node_modules/gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp/node_modules/npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "dependencies": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
}
},
"node_modules/@nodelib/fs.scandir": {
@@ -2987,19 +3126,6 @@
"node": ">= 10"
}
},
- "node_modules/@npmcli/arborist/node_modules/are-we-there-yet": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz",
- "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==",
- "dev": true,
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16"
- }
- },
"node_modules/@npmcli/arborist/node_modules/builtins": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
@@ -3009,25 +3135,6 @@
"semver": "^7.0.0"
}
},
- "node_modules/@npmcli/arborist/node_modules/gauge": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
- "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
- "dev": true,
- "dependencies": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
"node_modules/@npmcli/arborist/node_modules/hosted-git-info": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz",
@@ -3054,19 +3161,10 @@
"node": ">= 6"
}
},
- "node_modules/@npmcli/arborist/node_modules/lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/@npmcli/arborist/node_modules/make-fetch-happen": {
- "version": "10.1.7",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz",
- "integrity": "sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q==",
+ "version": "10.1.8",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.8.tgz",
+ "integrity": "sha512-0ASJbG12Au6+N5I84W+8FhGS6iM8MyzvZady+zaQAu+6IOaESFzCLLD0AR1sAFF3Jufi8bxm586ABN6hWd3k7g==",
"dev": true,
"dependencies": {
"agentkeepalive": "^4.2.1",
@@ -3139,21 +3237,6 @@
"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/@npmcli/arborist/node_modules/npmlog": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
- "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
- "dev": true,
- "dependencies": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.0.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
"node_modules/@npmcli/arborist/node_modules/socks-proxy-agent": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
@@ -3231,15 +3314,6 @@
"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/@npmcli/git/node_modules/lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/@npmcli/installed-package-contents": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz",
@@ -3280,25 +3354,6 @@
"balanced-match": "^1.0.0"
}
},
- "node_modules/@npmcli/map-workspaces/node_modules/glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/@npmcli/map-workspaces/node_modules/minimatch": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
@@ -3440,9 +3495,9 @@
}
},
"node_modules/@octokit/openapi-types": {
- "version": "11.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz",
- "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==",
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.4.0.tgz",
+ "integrity": "sha512-Npcb7Pv30b33U04jvcD7l75yLU0mxhuX2Xqrn51YyZ5WTkF04bpbxLaZ6GcaTqu03WZQHoO/Gbfp95NGRueDUA==",
"dev": true
},
"node_modules/@octokit/plugin-enterprise-rest": {
@@ -3452,12 +3507,12 @@
"dev": true
},
"node_modules/@octokit/plugin-paginate-rest": {
- "version": "2.17.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz",
- "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==",
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.19.0.tgz",
+ "integrity": "sha512-hQ4Qysg2hNmEMuZeJkvyzM4eSZiTifOKqYAMsW8FnxFKowhuwWICSgBQ9Gn9GpUmgKB7qaf1hFvMjYaTAg5jQA==",
"dev": true,
"dependencies": {
- "@octokit/types": "^6.34.0"
+ "@octokit/types": "^6.36.0"
},
"peerDependencies": {
"@octokit/core": ">=2"
@@ -3473,12 +3528,12 @@
}
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
- "version": "5.13.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz",
- "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==",
+ "version": "5.15.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.15.0.tgz",
+ "integrity": "sha512-Gsw9+Xm56jVhfbJoy4pt6eOOyf8/3K6CAnx1Sl7U2GhZWcg8MR6YgXWnpfdF69S2ViMXLA7nfvTDAsZpFlkLRw==",
"dev": true,
"dependencies": {
- "@octokit/types": "^6.34.0",
+ "@octokit/types": "^6.36.0",
"deprecation": "^2.3.1"
},
"peerDependencies": {
@@ -3523,12 +3578,12 @@
}
},
"node_modules/@octokit/types": {
- "version": "6.34.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz",
- "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==",
+ "version": "6.37.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.37.0.tgz",
+ "integrity": "sha512-BXWQhFKRkjX4dVW5L2oYa0hzWOAqsEsujXsQLSdepPoDZfYdubrD1KDGpyNldGXtR8QM/WezDcxcIN1UKJMGPA==",
"dev": true,
"dependencies": {
- "@octokit/openapi-types": "^11.2.0"
+ "@octokit/openapi-types": "^12.4.0"
}
},
"node_modules/@sindresorhus/is": {
@@ -3561,30 +3616,30 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">= 6"
}
},
"node_modules/@tsconfig/node10": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
- "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg=="
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
+ "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA=="
},
"node_modules/@tsconfig/node12": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
- "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw=="
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag=="
},
"node_modules/@tsconfig/node14": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
- "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg=="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow=="
},
"node_modules/@tsconfig/node16": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
- "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA=="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
+ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ=="
},
"node_modules/@types/accepts": {
"version": "1.3.5",
@@ -3672,9 +3727,9 @@
"integrity": "sha512-iO2Q6xQOJ5DtOB6wJ2KIetFq9JRTbpzcKTe2aS6CCsa+W9KNWX2yXx9KeB5sY/nBfAWN43LkPg6SFB+ldsW9ZA=="
},
"node_modules/@types/eslint": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz",
- "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.3.tgz",
+ "integrity": "sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw==",
"dependencies": {
"@types/estree": "*",
"@types/json-schema": "*"
@@ -3706,9 +3761,9 @@
}
},
"node_modules/@types/express-serve-static-core": {
- "version": "4.17.28",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz",
- "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==",
+ "version": "4.17.29",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz",
+ "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==",
"dependencies": {
"@types/node": "*",
"@types/qs": "*",
@@ -3733,6 +3788,15 @@
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.2.tgz",
"integrity": "sha512-EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w=="
},
+ "node_modules/@types/inquirer": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.1.tgz",
+ "integrity": "sha512-wKW3SKIUMmltbykg4I5JzCVzUhkuD9trD6efAmYgN2MrSntY0SMRQzEnD3mkyJ/rv9NLbTC7g3hKKE86YwEDLw==",
+ "dependencies": {
+ "@types/through": "*",
+ "rxjs": "^7.2.0"
+ }
+ },
"node_modules/@types/istanbul-lib-coverage": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
@@ -3833,14 +3897,14 @@
}
},
"node_modules/@types/node": {
- "version": "17.0.40",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.40.tgz",
- "integrity": "sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg=="
+ "version": "17.0.45",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
+ "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw=="
},
"node_modules/@types/node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==",
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz",
+ "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==",
"dependencies": {
"@types/node": "*",
"form-data": "^3.0.0"
@@ -3858,6 +3922,11 @@
"integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
"dev": true
},
+ "node_modules/@types/prettier": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz",
+ "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg=="
+ },
"node_modules/@types/qs": {
"version": "6.9.7",
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
@@ -3886,6 +3955,14 @@
"@types/node": "*"
}
},
+ "node_modules/@types/through": {
+ "version": "0.0.30",
+ "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz",
+ "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
"node_modules/@types/tmp": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.3.tgz",
@@ -3910,15 +3987,28 @@
"@types/webidl-conversions": "*"
}
},
+ "node_modules/@types/yargs": {
+ "version": "17.0.10",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz",
+ "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==",
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@types/yargs-parser": {
+ "version": "21.0.0",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
+ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA=="
+ },
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.1.tgz",
- "integrity": "sha512-6dM5NKT57ZduNnJfpY81Phe9nc9wolnMCnknb1im6brWi1RYv84nbMS3olJa27B6+irUVV1X/Wb+Am0FjJdGFw==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz",
+ "integrity": "sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.27.1",
- "@typescript-eslint/type-utils": "5.27.1",
- "@typescript-eslint/utils": "5.27.1",
+ "@typescript-eslint/scope-manager": "5.29.0",
+ "@typescript-eslint/type-utils": "5.29.0",
+ "@typescript-eslint/utils": "5.29.0",
"debug": "^4.3.4",
"functional-red-black-tree": "^1.0.1",
"ignore": "^5.2.0",
@@ -3944,14 +4034,14 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.1.tgz",
- "integrity": "sha512-7Va2ZOkHi5NP+AZwb5ReLgNF6nWLGTeUJfxdkVUAPPSaAdbWNnFZzLZ4EGGmmiCTg+AwlbE1KyUYTBglosSLHQ==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.29.0.tgz",
+ "integrity": "sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.27.1",
- "@typescript-eslint/types": "5.27.1",
- "@typescript-eslint/typescript-estree": "5.27.1",
+ "@typescript-eslint/scope-manager": "5.29.0",
+ "@typescript-eslint/types": "5.29.0",
+ "@typescript-eslint/typescript-estree": "5.29.0",
"debug": "^4.3.4"
},
"engines": {
@@ -3971,13 +4061,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.1.tgz",
- "integrity": "sha512-fQEOSa/QroWE6fAEg+bJxtRZJTH8NTskggybogHt4H9Da8zd4cJji76gA5SBlR0MgtwF7rebxTbDKB49YUCpAg==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz",
+ "integrity": "sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.27.1",
- "@typescript-eslint/visitor-keys": "5.27.1"
+ "@typescript-eslint/types": "5.29.0",
+ "@typescript-eslint/visitor-keys": "5.29.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3988,12 +4078,12 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.27.1.tgz",
- "integrity": "sha512-+UC1vVUWaDHRnC2cQrCJ4QtVjpjjCgjNFpg8b03nERmkHv9JV9X5M19D7UFMd+/G7T/sgFwX2pGmWK38rqyvXw==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz",
+ "integrity": "sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/utils": "5.27.1",
+ "@typescript-eslint/utils": "5.29.0",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
},
@@ -4014,9 +4104,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.1.tgz",
- "integrity": "sha512-LgogNVkBhCTZU/m8XgEYIWICD6m4dmEDbKXESCbqOXfKZxRKeqpiJXQIErv66sdopRKZPo5l32ymNqibYEH/xg==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.29.0.tgz",
+ "integrity": "sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4027,13 +4117,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.1.tgz",
- "integrity": "sha512-DnZvvq3TAJ5ke+hk0LklvxwYsnXpRdqUY5gaVS0D4raKtbznPz71UJGnPTHEFo0GDxqLOLdMkkmVZjSpET1hFw==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz",
+ "integrity": "sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.27.1",
- "@typescript-eslint/visitor-keys": "5.27.1",
+ "@typescript-eslint/types": "5.29.0",
+ "@typescript-eslint/visitor-keys": "5.29.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -4054,15 +4144,15 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.1.tgz",
- "integrity": "sha512-mZ9WEn1ZLDaVrhRaYgzbkXBkTPghPFsup8zDbbsYTxC5OmqrFE7skkKS/sraVsLP3TcT3Ki5CSyEFBRkLH/H/w==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.29.0.tgz",
+ "integrity": "sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.27.1",
- "@typescript-eslint/types": "5.27.1",
- "@typescript-eslint/typescript-estree": "5.27.1",
+ "@typescript-eslint/scope-manager": "5.29.0",
+ "@typescript-eslint/types": "5.29.0",
+ "@typescript-eslint/typescript-estree": "5.29.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
},
@@ -4078,12 +4168,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.1.tgz",
- "integrity": "sha512-xYs6ffo01nhdJgPieyk7HAOpjhTsx7r/oB9LWEhwAXgwn33tkr+W8DI2ChboqhZlC4q3TC6geDYPoiX8ROqyOQ==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz",
+ "integrity": "sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.27.1",
+ "@typescript-eslint/types": "5.29.0",
"eslint-visitor-keys": "^3.3.0"
},
"engines": {
@@ -4231,18 +4321,18 @@
}
},
"node_modules/@webpack-cli/configtest": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz",
- "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
+ "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
"peerDependencies": {
"webpack": "4.x.x || 5.x.x",
"webpack-cli": "4.x.x"
}
},
"node_modules/@webpack-cli/info": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz",
- "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
+ "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
"dependencies": {
"envinfo": "^7.7.3"
},
@@ -4251,9 +4341,9 @@
}
},
"node_modules/@webpack-cli/serve": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz",
- "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
+ "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
"peerDependencies": {
"webpack-cli": "4.x.x"
},
@@ -4276,8 +4366,7 @@
"node_modules/abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "dev": true
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
"node_modules/accepts": {
"version": "1.3.8",
@@ -4347,7 +4436,7 @@
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
"integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"debug": "^4.1.0",
"depd": "^1.1.2",
@@ -4361,7 +4450,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
"integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"clean-stack": "^2.0.0",
"indent-string": "^4.0.0"
@@ -4446,7 +4535,6 @@
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "dev": true,
"dependencies": {
"type-fest": "^0.21.3"
},
@@ -4461,7 +4549,6 @@
"version": "0.21.3",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "dev": true,
"engines": {
"node": ">=10"
},
@@ -4516,47 +4603,19 @@
"node_modules/aproba": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
- "dev": true
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
},
"node_modules/are-we-there-yet": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
- "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
- "dev": true,
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz",
+ "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==",
+ "devOptional": true,
"dependencies": {
"delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "node_modules/are-we-there-yet/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/are-we-there-yet/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/are-we-there-yet/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16"
}
},
"node_modules/arg": {
@@ -4672,7 +4731,7 @@
"node_modules/assert/node_modules/util": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==",
"dependencies": {
"inherits": "2.0.1"
}
@@ -4686,9 +4745,9 @@
}
},
"node_modules/async": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
- "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
},
"node_modules/async-limiter": {
"version": "1.0.1",
@@ -4801,7 +4860,7 @@
"node_modules/babel-code-frame/node_modules/strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
"dependencies": {
"ansi-regex": "^2.0.0"
},
@@ -4812,7 +4871,7 @@
"node_modules/babel-code-frame/node_modules/supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
"engines": {
"node": ">=0.8.0"
}
@@ -4867,7 +4926,7 @@
"node_modules/babel-core/node_modules/slash": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==",
"engines": {
"node": ">=0.10.0"
}
@@ -4875,7 +4934,7 @@
"node_modules/babel-core/node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
"engines": {
"node": ">=0.10.0"
}
@@ -4917,7 +4976,7 @@
"node_modules/babel-generator/node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
"engines": {
"node": ">=0.10.0"
}
@@ -5304,7 +5363,7 @@
"node_modules/babel-plugin-istanbul/node_modules/read-pkg": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==",
"dependencies": {
"load-json-file": "^1.0.0",
"normalize-package-data": "^2.3.2",
@@ -5317,7 +5376,7 @@
"node_modules/babel-plugin-istanbul/node_modules/read-pkg-up": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==",
"dependencies": {
"find-up": "^1.0.0",
"read-pkg": "^1.0.0"
@@ -5360,7 +5419,7 @@
"node_modules/babel-plugin-istanbul/node_modules/strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
"dependencies": {
"is-utf8": "^0.2.0"
},
@@ -5677,7 +5736,7 @@
"node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regexpu-core": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
- "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==",
"dependencies": {
"regenerate": "^1.2.1",
"regjsgen": "^0.2.0",
@@ -5687,12 +5746,12 @@
"node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regjsgen": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
+ "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g=="
},
"node_modules/babel-plugin-transform-es2015-unicode-regex/node_modules/regjsparser": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==",
"dependencies": {
"jsesc": "~0.5.0"
},
@@ -5832,7 +5891,7 @@
"node_modules/babel-register/node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
"engines": {
"node": ">=0.10.0"
}
@@ -5922,7 +5981,7 @@
"node_modules/babel-types/node_modules/to-fast-properties": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==",
"engines": {
"node": ">=0.10.0"
}
@@ -6064,7 +6123,7 @@
"node_modules/bl/node_modules/readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -6075,7 +6134,7 @@
"node_modules/bl/node_modules/string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
},
"node_modules/bluebird": {
"version": "3.7.2",
@@ -6132,6 +6191,20 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
+ "node_modules/body-parser/node_modules/qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/boxen": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
@@ -6166,6 +6239,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/boxen/node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -6203,9 +6288,9 @@
"integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
},
"node_modules/browserslist": {
- "version": "4.20.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
- "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
+ "version": "4.20.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz",
+ "integrity": "sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==",
"funding": [
{
"type": "opencollective",
@@ -6217,10 +6302,10 @@
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001332",
- "electron-to-chromium": "^1.4.118",
+ "caniuse-lite": "^1.0.30001349",
+ "electron-to-chromium": "^1.4.147",
"escalade": "^3.1.1",
- "node-releases": "^2.0.3",
+ "node-releases": "^2.0.5",
"picocolors": "^1.0.0"
},
"bin": {
@@ -6360,55 +6445,6 @@
"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/cacache/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/cacache/node_modules/glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/cacache/node_modules/lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/cacache/node_modules/minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/cacache/node_modules/ssri": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
@@ -6531,9 +6567,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001346",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001346.tgz",
- "integrity": "sha512-q6ibZUO2t88QCIPayP/euuDREq+aMAxFE5S70PkrLh0iTDj/zEhgvJRKC2+CvXY6EWc6oQwUR48lL5vCW6jiXQ==",
+ "version": "1.0.30001357",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001357.tgz",
+ "integrity": "sha512-b+KbWHdHePp+ZpNj+RDHFChZmuN+J5EvuQUlee9jOQIUAdhv9uvAZeEtUeLAknXbkiu1uxjQ9NLp1ie894CuWg==",
"funding": [
{
"type": "opencollective",
@@ -6596,8 +6632,7 @@
"node_modules/chardet": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
- "dev": true
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
},
"node_modules/chokidar": {
"version": "3.5.3",
@@ -6640,7 +6675,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
- "dev": true,
"engines": {
"node": ">=10"
}
@@ -6669,7 +6703,7 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=6"
}
@@ -6690,7 +6724,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
"integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
- "dev": true,
"dependencies": {
"restore-cursor": "^3.1.0"
},
@@ -6698,6 +6731,17 @@
"node": ">=8"
}
},
+ "node_modules/cli-spinners": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
+ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/cli-table": {
"version": "0.3.11",
"resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz",
@@ -6714,7 +6758,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
"integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
- "dev": true,
"engines": {
"node": ">= 10"
}
@@ -6733,7 +6776,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
- "dev": true,
"engines": {
"node": ">=0.8"
}
@@ -6803,15 +6845,6 @@
"type-is": "^1.6.16"
}
},
- "node_modules/code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -6832,15 +6865,14 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
- "dev": true,
"bin": {
"color-support": "bin.js"
}
},
"node_modules/colorette": {
- "version": "2.0.17",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz",
- "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g=="
+ "version": "2.0.16",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz",
+ "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g=="
},
"node_modules/colors": {
"version": "1.0.3",
@@ -6879,7 +6911,6 @@
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz",
"integrity": "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==",
- "dev": true,
"engines": {
"node": "^12.20.0 || >=14"
}
@@ -7003,8 +7034,7 @@
"node_modules/console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
- "dev": true
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
},
"node_modules/content-disposition": {
"version": "0.5.4",
@@ -7223,11 +7253,11 @@
"hasInstallScript": true
},
"node_modules/core-js-compat": {
- "version": "3.22.8",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.8.tgz",
- "integrity": "sha512-pQnwg4xtuvc2Bs/5zYQPaEYYSuTxsF7LBWF0SvnVhthZo/Qe+rJpcEekrdNK5DWwDJ0gv0oI9NNX5Mppdy0ctg==",
+ "version": "3.23.2",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.2.tgz",
+ "integrity": "sha512-lrgZvxFwbQp9v7E8mX0rJ+JX7Bvh4eGULZXA1IAyjlsnWvCdw6TF8Tg6xtaSUSJMrSrMaLdpmk+V54LM1dvfOA==",
"dependencies": {
- "browserslist": "^4.20.3",
+ "browserslist": "^4.20.4",
"semver": "7.0.0"
},
"funding": {
@@ -7244,9 +7274,9 @@
}
},
"node_modules/core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"node_modules/cors": {
"version": "2.8.5",
@@ -7417,7 +7447,7 @@
"node_modules/deep-eql/node_modules/type-detect": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
- "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
+ "integrity": "sha512-5rqszGVwYgBoDkIm2oUtvkfZMQ0vk29iDMU0W2qCa3rG0vPDNczCMT4hV/bLBgLg8k8ri6+u3Zbt+S/14eMzlA==",
"engines": {
"node": "*"
}
@@ -7445,7 +7475,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==",
- "dev": true,
"dependencies": {
"clone": "^1.0.2"
}
@@ -7519,7 +7548,7 @@
"node_modules/deresolve/node_modules/resolve-from": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
- "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
+ "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==",
"engines": {
"node": ">=0.10.0"
}
@@ -7542,6 +7571,14 @@
"node": ">=8"
}
},
+ "node_modules/detect-libc": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+ "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/dezalgo": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
@@ -7592,7 +7629,7 @@
"node_modules/dissolve/node_modules/readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -7603,7 +7640,7 @@
"node_modules/dissolve/node_modules/string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
},
"node_modules/doctrine": {
"version": "3.0.0",
@@ -7658,9 +7695,9 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"node_modules/electron-to-chromium": {
- "version": "1.4.146",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.146.tgz",
- "integrity": "sha512-4eWebzDLd+hYLm4csbyMU2EbBnqhwl8Oe9eF/7CBDPWcRxFmqzx4izxvHH+lofQxzieg8UbB8ZuzNTxeukzfTg=="
+ "version": "1.4.163",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.163.tgz",
+ "integrity": "sha512-c9q94pUVqIdc8hyr7jZDB4bNEoNF3QJ7y35lnddMD+mXtiv5GsL1bT/RmfW/KEOmvlNg5Oy1qioiy4tA7e864Q=="
},
"node_modules/elliptic": {
"version": "6.5.4",
@@ -7831,7 +7868,7 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=6"
}
@@ -7851,7 +7888,7 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
"integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
- "dev": true
+ "devOptional": true
},
"node_modules/error-ex": {
"version": "1.3.2",
@@ -7862,9 +7899,9 @@
}
},
"node_modules/error-stack-parser": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.3.tgz",
- "integrity": "sha512-F9KypcaAvLzI4yXneZzOvzZoqakhbjuAGFK0aLy33tYaDqdu6v+lzrN/TTG/mM48Op624zZZ2RpXRx3wA0+zmg==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
+ "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
"dependencies": {
"stackframe": "^1.3.4"
}
@@ -7980,7 +8017,7 @@
"node_modules/escodegen/node_modules/type-check": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
"dependencies": {
"prelude-ls": "~1.1.2"
},
@@ -7989,9 +8026,9 @@
}
},
"node_modules/eslint": {
- "version": "8.17.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz",
- "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz",
+ "integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==",
"dev": true,
"dependencies": {
"@eslint/eslintrc": "^1.3.0",
@@ -8165,6 +8202,14 @@
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
+ "node_modules/esm": {
+ "version": "3.2.25",
+ "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
+ "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/espree": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz",
@@ -8281,6 +8326,7 @@
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
"dependencies": {
"cross-spawn": "^7.0.3",
"get-stream": "^6.0.0",
@@ -8478,6 +8524,20 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
+ "node_modules/express/node_modules/qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -8487,7 +8547,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
"integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
- "dev": true,
"dependencies": {
"chardet": "^0.7.0",
"iconv-lite": "^0.4.24",
@@ -8681,7 +8740,6 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
"integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
- "dev": true,
"dependencies": {
"escape-string-regexp": "^1.0.5"
},
@@ -8696,7 +8754,6 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
"engines": {
"node": ">=0.8.0"
}
@@ -8976,7 +9033,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
"integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "dev": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -9022,72 +9078,22 @@
"dev": true
},
"node_modules/gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==",
- "dev": true,
- "dependencies": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "node_modules/gauge/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gauge/node_modules/aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
- "dev": true
- },
- "node_modules/gauge/node_modules/is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
- "dev": true,
- "dependencies": {
- "number-is-nan": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gauge/node_modules/string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gauge/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+ "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
+ "devOptional": true,
"dependencies": {
- "ansi-regex": "^2.0.0"
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.3",
+ "console-control-strings": "^1.1.0",
+ "has-unicode": "^2.0.1",
+ "signal-exit": "^3.0.7",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.5"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/gensync": {
@@ -9107,18 +9113,26 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
+ "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
"dependencies": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
- "has-symbols": "^1.0.1"
+ "has-symbols": "^1.0.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/get-package-type": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
"node_modules/get-pkg-repo": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz",
@@ -9204,6 +9218,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true,
"engines": {
"node": ">=10"
},
@@ -9211,6 +9226,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/getopts": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz",
+ "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA=="
+ },
"node_modules/git-raw-commits": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz",
@@ -9306,19 +9326,19 @@
}
},
"node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
},
"engines": {
- "node": "*"
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -9380,6 +9400,27 @@
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
},
+ "node_modules/glob/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/global-dirs": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
@@ -9419,6 +9460,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/globals/node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/globby": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
@@ -9632,8 +9685,7 @@
"node_modules/has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
- "dev": true
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
},
"node_modules/has-yarn": {
"version": "2.1.0",
@@ -9705,6 +9757,18 @@
"node": ">=10"
}
},
+ "node_modules/hosted-git-info/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/html-escaper": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
@@ -9750,7 +9814,7 @@
"node_modules/http-assert/node_modules/statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
"engines": {
"node": ">= 0.6"
}
@@ -9759,7 +9823,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
"integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
- "dev": true
+ "devOptional": true
},
"node_modules/http-errors": {
"version": "2.0.0",
@@ -9788,7 +9852,7 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
"integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"@tootallnate/once": "1",
"agent-base": "6",
@@ -9814,6 +9878,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
"engines": {
"node": ">=10.17.0"
}
@@ -9822,7 +9887,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
"integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"ms": "^2.0.0"
}
@@ -9932,7 +9997,7 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=0.8.19"
}
@@ -9941,7 +10006,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=8"
}
@@ -9950,7 +10015,7 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
"integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
- "dev": true
+ "devOptional": true
},
"node_modules/inflation": {
"version": "2.0.0",
@@ -9998,6 +10063,26 @@
"node": ">=10"
}
},
+ "node_modules/init-package-json/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/init-package-json/node_modules/read-package-json": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.2.tgz",
@@ -10050,9 +10135,9 @@
}
},
"node_modules/interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
+ "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
"engines": {
"node": ">= 0.10"
}
@@ -10229,11 +10314,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-interactive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-lambda": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
"integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
- "dev": true
+ "devOptional": true
},
"node_modules/is-npm": {
"version": "5.0.0",
@@ -10331,6 +10424,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true,
"engines": {
"node": ">=8"
},
@@ -10794,6 +10888,64 @@
"node": ">=6"
}
},
+ "node_modules/knex": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/knex/-/knex-2.1.0.tgz",
+ "integrity": "sha512-vVsnD6UJdSJy55TvCXfFF9syfwyXNxfE9mvr2hJL/4Obciy2EPGoqjDpgRSlMruHuPWDOeYAG25nyrGvU+jJog==",
+ "dependencies": {
+ "colorette": "2.0.16",
+ "commander": "^9.1.0",
+ "debug": "4.3.4",
+ "escalade": "^3.1.1",
+ "esm": "^3.2.25",
+ "get-package-type": "^0.1.0",
+ "getopts": "2.3.0",
+ "interpret": "^2.2.0",
+ "lodash": "^4.17.21",
+ "pg-connection-string": "2.5.0",
+ "rechoir": "^0.8.0",
+ "resolve-from": "^5.0.0",
+ "tarn": "^3.0.2",
+ "tildify": "2.0.0"
+ },
+ "bin": {
+ "knex": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependenciesMeta": {
+ "better-sqlite3": {
+ "optional": true
+ },
+ "mysql": {
+ "optional": true
+ },
+ "mysql2": {
+ "optional": true
+ },
+ "pg": {
+ "optional": true
+ },
+ "pg-native": {
+ "optional": true
+ },
+ "sqlite3": {
+ "optional": true
+ },
+ "tedious": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/knex/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/koa": {
"version": "2.13.4",
"resolved": "https://registry.npmjs.org/koa/-/koa-2.13.4.tgz",
@@ -10902,7 +11054,7 @@
"node_modules/koa/node_modules/statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
"engines": {
"node": ">= 0.6"
}
@@ -10959,7 +11111,7 @@
"node_modules/lasso-babel-transform/node_modules/strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
"engines": {
"node": ">=0.10.0"
}
@@ -11040,7 +11192,7 @@
"node_modules/lasso-minify-js/node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
"engines": {
"node": ">=0.10.0"
}
@@ -11048,7 +11200,7 @@
"node_modules/lasso-minify-js/node_modules/uglify-js": {
"version": "2.8.29",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==",
"dependencies": {
"source-map": "~0.5.1",
"yargs": "~3.10.0"
@@ -11066,7 +11218,7 @@
"node_modules/lasso-minify-js/node_modules/wordwrap": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==",
"engines": {
"node": ">=0.4.0"
}
@@ -11074,7 +11226,7 @@
"node_modules/lasso-minify-js/node_modules/yargs": {
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==",
"dependencies": {
"camelcase": "^1.0.2",
"cliui": "^2.1.0",
@@ -11187,7 +11339,7 @@
"node_modules/lasso-resolve-from/node_modules/resolve-from": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
- "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=",
+ "integrity": "sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ==",
"engines": {
"node": ">=0.10.0"
}
@@ -11226,6 +11378,25 @@
"node": ">= 0.6"
}
},
+ "node_modules/lasso/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/lasso/node_modules/http-errors": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
@@ -11284,7 +11455,7 @@
"node_modules/lasso/node_modules/resolve-from": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
- "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
+ "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==",
"engines": {
"node": ">=0.10.0"
}
@@ -11292,7 +11463,7 @@
"node_modules/lasso/node_modules/send": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz",
- "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=",
+ "integrity": "sha512-cQ0rmXHrdO2Iof08igV2bG/yXWD106ANwBg6DkGQNT2Vsznbgq6T0oAIQboy1GoFsIuy51jCim26aA9tj3Z3Zg==",
"dependencies": {
"debug": "~2.2.0",
"depd": "~1.1.0",
@@ -11314,12 +11485,12 @@
"node_modules/lasso/node_modules/statuses": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz",
- "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg="
+ "integrity": "sha512-pVEuxHdSGrt8QmQ3LOZXLhSA6MP/iPqKzZeO6Squ7PNGkA/9MBsSfV0/L+bIxkoDmjF4tZcLpcVq/fkqoHvuKg=="
},
"node_modules/lasso/node_modules/strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
"engines": {
"node": ">=0.10.0"
}
@@ -11345,35 +11516,35 @@
}
},
"node_modules/lerna": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/lerna/-/lerna-5.0.0.tgz",
- "integrity": "sha512-dUYmJ7H9k/xHtwKpQWLTNUa1jnFUiW4o4K2LFkRchlIijoIUT4yK/RprIxNvYCrLrEaOdZryvY5UZvSHI2tBxA==",
- "dev": true,
- "dependencies": {
- "@lerna/add": "5.0.0",
- "@lerna/bootstrap": "5.0.0",
- "@lerna/changed": "5.0.0",
- "@lerna/clean": "5.0.0",
- "@lerna/cli": "5.0.0",
- "@lerna/create": "5.0.0",
- "@lerna/diff": "5.0.0",
- "@lerna/exec": "5.0.0",
- "@lerna/import": "5.0.0",
- "@lerna/info": "5.0.0",
- "@lerna/init": "5.0.0",
- "@lerna/link": "5.0.0",
- "@lerna/list": "5.0.0",
- "@lerna/publish": "5.0.0",
- "@lerna/run": "5.0.0",
- "@lerna/version": "5.0.0",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/lerna/-/lerna-5.1.4.tgz",
+ "integrity": "sha512-WwSbMslPxWSV7ARsGzkhJAFC1uQcuNGgiy2vZho4bpXVC+A7ZLXy8FngDbcAn7hCGC3ZDnl/4jdY6d84j63Y4g==",
+ "dev": true,
+ "dependencies": {
+ "@lerna/add": "5.1.4",
+ "@lerna/bootstrap": "5.1.4",
+ "@lerna/changed": "5.1.4",
+ "@lerna/clean": "5.1.4",
+ "@lerna/cli": "5.1.4",
+ "@lerna/create": "5.1.4",
+ "@lerna/diff": "5.1.4",
+ "@lerna/exec": "5.1.4",
+ "@lerna/import": "5.1.4",
+ "@lerna/info": "5.1.4",
+ "@lerna/init": "5.1.4",
+ "@lerna/link": "5.1.4",
+ "@lerna/list": "5.1.4",
+ "@lerna/publish": "5.1.4",
+ "@lerna/run": "5.1.4",
+ "@lerna/version": "5.1.4",
"import-local": "^3.0.2",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
},
"bin": {
"lerna": "cli.js"
},
"engines": {
- "node": "^14.19.3 || >=16.0.0"
+ "node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/levn": {
@@ -11558,12 +11729,6 @@
"resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
"integrity": "sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ=="
},
- "node_modules/lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==",
- "dev": true
- },
"node_modules/lodash.create": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
@@ -11646,25 +11811,6 @@
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
},
- "node_modules/lodash.template": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
- "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
- "dev": true,
- "dependencies": {
- "lodash._reinterpolate": "^3.0.0",
- "lodash.templatesettings": "^4.0.0"
- }
- },
- "node_modules/lodash.templatesettings": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
- "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
- "dev": true,
- "dependencies": {
- "lodash._reinterpolate": "^3.0.0"
- }
- },
"node_modules/log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -11714,14 +11860,12 @@
}
},
"node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dependencies": {
- "yallist": "^4.0.0"
- },
+ "version": "7.10.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
+ "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
+ "dev": true,
"engines": {
- "node": ">=10"
+ "node": ">=12"
}
},
"node_modules/make-dir": {
@@ -11755,7 +11899,7 @@
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
"integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"agentkeepalive": "^4.1.3",
"cacache": "^15.2.0",
@@ -11782,7 +11926,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
"integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"@gar/promisify": "^1.0.1",
"semver": "^7.3.5"
@@ -11792,7 +11936,7 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
"integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"mkdirp": "^1.0.4",
"rimraf": "^3.0.2"
@@ -11805,7 +11949,7 @@
"version": "15.3.0",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
"integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"@npmcli/fs": "^1.0.0",
"@npmcli/move-file": "^1.0.1",
@@ -11830,6 +11974,38 @@
"node": ">= 10"
}
},
+ "node_modules/make-fetch-happen/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "devOptional": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/make-fetch-happen/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "devOptional": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/map-obj": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
@@ -11919,7 +12095,7 @@
"node_modules/marko/node_modules/resolve-from": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
- "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=",
+ "integrity": "sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ==",
"engines": {
"node": ">=0.10.0"
}
@@ -11927,7 +12103,7 @@
"node_modules/marko/node_modules/strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
"engines": {
"node": ">=0.10.0"
}
@@ -12266,10 +12442,9 @@
}
},
"node_modules/minipass": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
- "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
- "dev": true,
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.3.tgz",
+ "integrity": "sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA==",
"dependencies": {
"yallist": "^4.0.0"
},
@@ -12281,7 +12456,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
"integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -12293,7 +12468,7 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
"integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"minipass": "^3.1.0",
"minipass-sized": "^1.0.3",
@@ -12310,7 +12485,7 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
"integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -12332,7 +12507,7 @@
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
"integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -12344,7 +12519,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
"integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -12356,7 +12531,6 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
"integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
- "dev": true,
"dependencies": {
"minipass": "^3.0.0",
"yallist": "^4.0.0"
@@ -12369,7 +12543,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true,
"bin": {
"mkdirp": "bin/cmd.js"
},
@@ -12518,6 +12691,22 @@
"url": "https://ko-fi.com/tunnckoCore/commissions"
}
},
+ "node_modules/mocha-puppeteer/node_modules/glob": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha512-mRyN/EsN2SyNhKWykF3eEGhDpeNplMWaW18Bmh76tnOqk5TbELAVwFAYOCmKVssOYFrYvvLMguiA+NXO3ZTuVA==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.2",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/mocha-puppeteer/node_modules/has-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
@@ -12578,22 +12767,6 @@
"npm": ">= 1.4.x"
}
},
- "node_modules/mocha-puppeteer/node_modules/mocha/node_modules/glob": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
- "integrity": "sha512-mRyN/EsN2SyNhKWykF3eEGhDpeNplMWaW18Bmh76tnOqk5TbELAVwFAYOCmKVssOYFrYvvLMguiA+NXO3ZTuVA==",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.2",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/mocha-puppeteer/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -12624,6 +12797,25 @@
"rimraf": "bin.js"
}
},
+ "node_modules/mocha-puppeteer/node_modules/rimraf/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/mocha-puppeteer/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -12674,7 +12866,7 @@
"node_modules/mocha-puppeteer/node_modules/supports-color": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
- "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
+ "integrity": "sha512-F8dvPrZJtNzvDRX26eNXT4a7AecAvTGljmmnI39xEgSpbHKhQ7N0dO/NTxUExd0wuLHp4zbwYY7lvHq0aKpwrA==",
"dependencies": {
"has-flag": "^1.0.0"
},
@@ -12777,9 +12969,9 @@
}
},
"node_modules/mongodb": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.6.0.tgz",
- "integrity": "sha512-1gsxVXmjFTPJ+CkMG9olE4bcVsyY8lBJN9m5B5vj+LZ7wkBqq3PO8RVmNX9GwCBOBz1KV0zM00vPviUearSv7A==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.7.0.tgz",
+ "integrity": "sha512-HhVar6hsUeMAVlIbwQwWtV36iyjKd9qdhY+s4wcU8K6TOj4Q331iiMy+FoPuxEntDIijTYWivwFJkLv8q/ZgvA==",
"dependencies": {
"bson": "^4.6.3",
"denque": "^2.0.1",
@@ -12834,12 +13026,12 @@
}
},
"node_modules/mongodb-memory-server": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/mongodb-memory-server/-/mongodb-memory-server-8.6.0.tgz",
- "integrity": "sha512-4I3qpIN3Ls5Vs8CPIl7SiT/rQUYmpgP27csDqgkSY7fu09mEqT3ieIC7cRhgx8wuRKr3rTotKMP4G1+Qw7+9Kw==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/mongodb-memory-server/-/mongodb-memory-server-8.7.0.tgz",
+ "integrity": "sha512-xn8RvdqeNfqLsv7LQIFy/VyDLE3AzylddcMGpQzZnVdHVuHEA09m+uGWplU4CkduGyvZTCFP9cbj+kFSX79BDA==",
"hasInstallScript": true,
"dependencies": {
- "mongodb-memory-server-core": "8.6.0",
+ "mongodb-memory-server-core": "8.7.0",
"tslib": "^2.4.0"
},
"engines": {
@@ -12847,9 +13039,9 @@
}
},
"node_modules/mongodb-memory-server-core": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/mongodb-memory-server-core/-/mongodb-memory-server-core-8.6.0.tgz",
- "integrity": "sha512-vuJfoK1TUPKwmspRxvkMUod34BInHmWF6li3nXlQ9bvaA2Xg4p3GsTkplyuwTBkLgeLL9AwIU0rk3CDwKpym1w==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/mongodb-memory-server-core/-/mongodb-memory-server-core-8.7.0.tgz",
+ "integrity": "sha512-dYJ+u9ZP4koCcMzxTwAUDxsG92evcJdXt70spMXrRUVQL7PI5Q83yLOHdqKhjevwfzJwyE8pFCGDGU+Qxs/cUA==",
"dependencies": {
"@types/tmp": "^0.2.3",
"async-mutex": "^0.3.2",
@@ -12859,8 +13051,8 @@
"get-port": "^5.1.1",
"https-proxy-agent": "^5.0.1",
"md5-file": "^5.0.0",
- "mongodb": "^4.5.0",
- "new-find-package-json": "^1.1.0",
+ "mongodb": "^4.7.0",
+ "new-find-package-json": "^2.0.0",
"semver": "^7.3.7",
"tar-stream": "^2.1.4",
"tmp": "^0.2.1",
@@ -12940,8 +13132,7 @@
"node_modules/mute-stream": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
- "dev": true
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
},
"node_modules/nanoid": {
"version": "3.3.3",
@@ -12974,21 +13165,20 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
},
"node_modules/new-find-package-json": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/new-find-package-json/-/new-find-package-json-1.2.0.tgz",
- "integrity": "sha512-Z4v/wBxApGh1cCGEhNmq4p8wjDvM6R6vEuYzlAhzOlXBKLJfjyMvwd+ZHR9fyYKVvXfEn4Z3YX6MD470PxpVbQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/new-find-package-json/-/new-find-package-json-2.0.0.tgz",
+ "integrity": "sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew==",
"dependencies": {
- "debug": "^4.3.4",
- "tslib": "^2.4.0"
+ "debug": "^4.3.4"
},
"engines": {
"node": ">=12.22.0"
}
},
- "node_modules/new-find-package-json/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+ "node_modules/node-addon-api": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
+ "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ=="
},
"node_modules/node-fetch": {
"version": "2.6.7",
@@ -13012,17 +13202,17 @@
"node_modules/node-fetch/node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"node_modules/node-fetch/node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"node_modules/node-fetch/node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -13032,7 +13222,7 @@
"version": "8.4.1",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
"integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"env-paths": "^2.2.0",
"glob": "^7.1.4",
@@ -13052,51 +13242,24 @@
"node": ">= 10.12.0"
}
},
- "node_modules/node-gyp/node_modules/are-we-there-yet": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz",
- "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==",
- "dev": true,
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16"
- }
- },
- "node_modules/node-gyp/node_modules/gauge": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
- "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
- "dev": true,
+ "node_modules/node-gyp/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "devOptional": true,
"dependencies": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
},
"engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
- }
- },
- "node_modules/node-gyp/node_modules/npmlog": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
- "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
- "dev": true,
- "dependencies": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.0.0"
+ "node": "*"
},
- "engines": {
- "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/node-releases": {
@@ -13108,7 +13271,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
"integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "dev": true,
"dependencies": {
"abbrev": "1"
},
@@ -13164,9 +13326,9 @@
}
},
"node_modules/npm-check-updates": {
- "version": "13.1.1",
- "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-13.1.1.tgz",
- "integrity": "sha512-f4gLbUJJh5qvkNvrSG3b05y3ZvyZ4Sl3Uk95DSyCjIWwpwmAwzU9dMCA/Gg2AmIKqkH4ml6X9kxcZsu+tAd94g==",
+ "version": "13.1.5",
+ "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-13.1.5.tgz",
+ "integrity": "sha512-vAVYlrrxJIPH/R5mxMzrNwP33hYflvk7oQqPjPOySCavCFwhXKmfK5sn/rogyebg7cLnECiDxsczGqvTOEBRAA==",
"dev": true,
"dependencies": {
"chalk": "^4.1.2",
@@ -13227,15 +13389,6 @@
"node": "^12.13.0 || ^14.15.0 || >=16"
}
},
- "node_modules/npm-check-updates/node_modules/lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/npm-check-updates/node_modules/minimatch": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
@@ -13307,6 +13460,26 @@
"node": ">=10"
}
},
+ "node_modules/npm-packlist/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/npm-pick-manifest": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz",
@@ -13343,15 +13516,6 @@
"node": "^12.13.0 || ^14.15.0 || >=16"
}
},
- "node_modules/npm-pick-manifest/node_modules/lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/npm-pick-manifest/node_modules/npm-package-arg": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.0.2.tgz",
@@ -13449,6 +13613,38 @@
"node": ">= 10"
}
},
+ "node_modules/npm-registry-fetch/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/npm-registry-fetch/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/npm-registry-fetch/node_modules/make-fetch-happen": {
"version": "8.0.14",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz",
@@ -13493,6 +13689,7 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
"dependencies": {
"path-key": "^3.0.0"
},
@@ -13501,24 +13698,18 @@
}
},
"node_modules/npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
- "dev": true,
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+ "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+ "devOptional": true,
"dependencies": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "node_modules/number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==",
- "dev": true,
+ "are-we-there-yet": "^3.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^4.0.3",
+ "set-blocking": "^2.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/oauth-sign": {
@@ -13645,6 +13836,38 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/ora": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
+ "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
+ "dependencies": {
+ "bl": "^4.1.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "is-unicode-supported": "^0.1.0",
+ "log-symbols": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ora/node_modules/bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "dependencies": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
"node_modules/os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
@@ -13711,7 +13934,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
"integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"aggregate-error": "^3.0.0"
},
@@ -13883,29 +14106,10 @@
"node_modules/pacote/node_modules/builtins": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
- "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
- "dev": true,
- "dependencies": {
- "semver": "^7.0.0"
- }
- },
- "node_modules/pacote/node_modules/glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
"dev": true,
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "semver": "^7.0.0"
}
},
"node_modules/pacote/node_modules/hosted-git-info": {
@@ -13946,19 +14150,10 @@
"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/pacote/node_modules/lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/pacote/node_modules/make-fetch-happen": {
- "version": "10.1.7",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz",
- "integrity": "sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q==",
+ "version": "10.1.8",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.8.tgz",
+ "integrity": "sha512-0ASJbG12Au6+N5I84W+8FhGS6iM8MyzvZady+zaQAu+6IOaESFzCLLD0AR1sAFF3Jufi8bxm586ABN6hWd3k7g==",
"dev": true,
"dependencies": {
"agentkeepalive": "^4.2.1",
@@ -14219,9 +14414,9 @@
}
},
"node_modules/parse-path": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz",
- "integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.4.tgz",
+ "integrity": "sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==",
"dev": true,
"dependencies": {
"is-ssh": "^1.3.0",
@@ -14303,6 +14498,11 @@
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
},
+ "node_modules/pg-connection-string": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz",
+ "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ=="
+ },
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -14436,9 +14636,9 @@
}
},
"node_modules/prettier": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz",
- "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==",
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
+ "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
@@ -14522,13 +14722,13 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
"integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
- "dev": true
+ "devOptional": true
},
"node_modules/promise-retry": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
"integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"err-code": "^2.0.2",
"retry": "^0.12.0"
@@ -14662,6 +14862,25 @@
"ms": "2.0.0"
}
},
+ "node_modules/puppeteer/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/puppeteer/node_modules/https-proxy-agent": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
@@ -14713,9 +14932,9 @@
}
},
"node_modules/qs": {
- "version": "6.10.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
- "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "version": "6.10.5",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.5.tgz",
+ "integrity": "sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==",
"dependencies": {
"side-channel": "^1.0.4"
},
@@ -14994,7 +15213,7 @@
"node_modules/rc/node_modules/strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -15003,7 +15222,7 @@
"node_modules/read": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
- "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
+ "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==",
"dev": true,
"dependencies": {
"mute-stream": "~0.0.4"
@@ -15046,10 +15265,30 @@
"node": ">=10"
}
},
+ "node_modules/read-package-json/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/read-pkg": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
"dev": true,
"dependencies": {
"load-json-file": "^4.0.0",
@@ -15063,7 +15302,7 @@
"node_modules/read-pkg-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
- "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+ "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==",
"dev": true,
"dependencies": {
"find-up": "^2.0.0",
@@ -15219,7 +15458,7 @@
"node_modules/read-pkg/node_modules/strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
"dev": true,
"engines": {
"node": ">=4"
@@ -15262,14 +15501,14 @@
}
},
"node_modules/rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
+ "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
"dependencies": {
- "resolve": "^1.1.6"
+ "resolve": "^1.20.0"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">= 10.13.0"
}
},
"node_modules/redent": {
@@ -15304,7 +15543,7 @@
"node_modules/regenerator-runtime": {
"version": "0.10.5",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
- "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
+ "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w=="
},
"node_modules/regenerator-transform": {
"version": "0.15.0",
@@ -15354,12 +15593,12 @@
}
},
"node_modules/registry-auth-token": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
- "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz",
+ "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==",
"dev": true,
"dependencies": {
- "rc": "^1.2.8"
+ "rc": "1.2.8"
},
"engines": {
"node": ">=6.0.0"
@@ -15413,7 +15652,7 @@
"node_modules/remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+ "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw=="
},
"node_modules/repeat-element": {
"version": "1.1.4",
@@ -15426,7 +15665,7 @@
"node_modules/repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
"engines": {
"node": ">=0.10"
}
@@ -15434,7 +15673,7 @@
"node_modules/repeating": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==",
"dependencies": {
"is-finite": "^1.0.0"
},
@@ -15466,7 +15705,7 @@
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"engines": {
"node": ">=0.10.0"
}
@@ -15482,14 +15721,14 @@
"node_modules/require-main-filename": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+ "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug=="
},
"node_modules/resolve": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
- "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
"dependencies": {
- "is-core-module": "^2.8.1",
+ "is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -15530,7 +15769,7 @@
"node_modules/responselike": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
"dev": true,
"dependencies": {
"lowercase-keys": "^1.0.0"
@@ -15540,7 +15779,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
"integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
- "dev": true,
"dependencies": {
"onetime": "^5.1.0",
"signal-exit": "^3.0.2"
@@ -15552,8 +15790,8 @@
"node_modules/retry": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
- "dev": true,
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
+ "devOptional": true,
"engines": {
"node": ">= 4"
}
@@ -15571,7 +15809,7 @@
"node_modules/right-align": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==",
"dependencies": {
"align-text": "^0.1.1"
},
@@ -15593,11 +15831,29 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/rimraf/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/run-async": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
"integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
- "dev": true,
"engines": {
"node": ">=0.12.0"
}
@@ -15773,6 +16029,17 @@
"integrity": "sha512-EjnoLE5OGmDAVV/8YDoN5KiajNadjzIp9BAHOhYeQHt7j0UWxjmgsx4YD48wp4Ue1Qogq38F1GNUJNqF1kKKxA==",
"dev": true
},
+ "node_modules/semver/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/send": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
@@ -15847,8 +16114,7 @@
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
},
"node_modules/setprototypeof": {
"version": "1.2.0",
@@ -15901,6 +16167,44 @@
"node": ">=4"
}
},
+ "node_modules/shelljs/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/shelljs/node_modules/interpret": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
+ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/shelljs/node_modules/rechoir": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
+ "dependencies": {
+ "resolve": "^1.1.6"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
"node_modules/shx": {
"version": "0.3.4",
"resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz",
@@ -16048,7 +16352,7 @@
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
"integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"agent-base": "^6.0.2",
"debug": "^4.3.3",
@@ -16102,7 +16406,7 @@
"node_modules/sparse-bitfield": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
- "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
"optional": true,
"dependencies": {
"memory-pager": "^1.0.2"
@@ -16175,10 +16479,32 @@
"readable-stream": "^3.0.0"
}
},
+ "node_modules/sqlite3": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.8.tgz",
+ "integrity": "sha512-f2ACsbSyb2D1qFFcqIXPfFscLtPVOWJr5GmUzYxf4W+0qelu5MWrR+FAQE1d5IUArEltBrzSDxDORG8P/IkqyQ==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "node-addon-api": "^4.2.0",
+ "tar": "^6.1.11"
+ },
+ "optionalDependencies": {
+ "node-gyp": "8.x"
+ },
+ "peerDependencies": {
+ "node-gyp": "8.x"
+ },
+ "peerDependenciesMeta": {
+ "node-gyp": {
+ "optional": true
+ }
+ }
+ },
"node_modules/sqwish": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/sqwish/-/sqwish-0.2.2.tgz",
- "integrity": "sha1-AP4maBBPEii1u37nOe9gEhu8sFc=",
+ "integrity": "sha512-MyaCOSCiThzFPcXHebkWiiXDDlEzbHtbdJBqos4CkUwiKdCgQU0IOzBJwswhBv2Qg3glj5TxzDxvKobuyB4e8w==",
"bin": {
"sqwish": "bin/sqwish"
},
@@ -16190,7 +16516,7 @@
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
"integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"minipass": "^3.1.1"
},
@@ -16250,7 +16576,7 @@
"node_modules/strict-uri-encode": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
- "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=",
+ "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==",
"dev": true,
"engines": {
"node": ">=4"
@@ -16301,6 +16627,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true,
"engines": {
"node": ">=6"
}
@@ -16424,7 +16751,6 @@
"version": "6.1.11",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
"integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
- "dev": true,
"dependencies": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
@@ -16462,19 +16788,27 @@
"readable-stream": "^3.4.0"
}
},
+ "node_modules/tarn": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz",
+ "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
"node_modules/temp-dir": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
- "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
+ "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==",
"dev": true,
"engines": {
"node": ">=4"
}
},
"node_modules/terser": {
- "version": "5.14.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.0.tgz",
- "integrity": "sha512-JC6qfIEkPBd9j1SMO3Pfn+A6w2kQV54tv+ABQLgZr7dA3k/DL/OBoYSWxzVpZev3J+bUHXfr55L8Mox7AaNo6g==",
+ "version": "5.14.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz",
+ "integrity": "sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==",
"dependencies": {
"@jridgewell/source-map": "^0.3.2",
"acorn": "^8.5.0",
@@ -16585,6 +16919,26 @@
"node": ">=8"
}
},
+ "node_modules/test-exclude/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/text-extensions": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
@@ -16597,13 +16951,13 @@
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
"node_modules/through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
},
"node_modules/through2": {
"version": "4.0.2",
@@ -16614,11 +16968,18 @@
"readable-stream": "3"
}
},
+ "node_modules/tildify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz",
+ "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true,
"dependencies": {
"os-tmpdir": "~1.0.2"
},
@@ -16629,7 +16990,7 @@
"node_modules/to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
"engines": {
"node": ">=4"
}
@@ -16695,7 +17056,7 @@
"node_modules/trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==",
"engines": {
"node": ">=0.10.0"
}
@@ -16825,18 +17186,17 @@
"node_modules/type-detect": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
- "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=",
+ "integrity": "sha512-f9Uv6ezcpvCQjJU0Zqbg+65qdcszv3qUQsZfjdRbWiZ7AMenrX1u0lNk9EoWWX6e1F+NULyg27mtdeZ5WhpljA==",
"engines": {
"node": "*"
}
},
"node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.13.1.tgz",
+ "integrity": "sha512-hXYyrPFwETT2swFLHeoKtJrvSF/ftG/sA15/8nGaLuaDGfVAaq8DYFpu4yOyV4tzp082WqnTEoMsm3flKMI2FQ==",
"engines": {
- "node": ">=10"
+ "node": ">=12.20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -16857,7 +17217,7 @@
"node_modules/typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"node_modules/typedarray-to-buffer": {
"version": "3.1.5",
@@ -16869,9 +17229,9 @@
}
},
"node_modules/typescript": {
- "version": "4.7.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz",
- "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==",
+ "version": "4.7.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
+ "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -16881,9 +17241,9 @@
}
},
"node_modules/uglify-js": {
- "version": "3.16.0",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.0.tgz",
- "integrity": "sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw==",
+ "version": "3.16.1",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz",
+ "integrity": "sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==",
"dev": true,
"optional": true,
"bin": {
@@ -16896,7 +17256,7 @@
"node_modules/uglify-to-browserify": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==",
"optional": true
},
"node_modules/uid-safe": {
@@ -16918,7 +17278,7 @@
"node_modules/unc-path-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
- "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+ "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==",
"engines": {
"node": ">=0.10.0"
}
@@ -16963,7 +17323,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
"integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"unique-slug": "^2.0.0"
}
@@ -16972,7 +17332,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
"integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"imurmurhash": "^0.1.4"
}
@@ -17007,7 +17367,7 @@
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
"engines": {
"node": ">= 0.8"
}
@@ -17061,7 +17421,7 @@
"node_modules/url": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
"dependencies": {
"punycode": "1.3.2",
"querystring": "0.2.0"
@@ -17070,7 +17430,7 @@
"node_modules/url-parse-lax": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+ "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
"dev": true,
"dependencies": {
"prepend-http": "^2.0.0"
@@ -17095,7 +17455,7 @@
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"node_modules/util/node_modules/inherits": {
"version": "2.0.3",
@@ -17105,7 +17465,7 @@
"node_modules/utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
"engines": {
"node": ">= 0.4.0"
}
@@ -17130,12 +17490,12 @@
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="
},
"node_modules/v8-to-istanbul": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz",
- "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz",
+ "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==",
"dev": true,
"dependencies": {
- "@jridgewell/trace-mapping": "^0.3.7",
+ "@jridgewell/trace-mapping": "^0.3.12",
"@types/istanbul-lib-coverage": "^2.0.1",
"convert-source-map": "^1.6.0"
},
@@ -17155,7 +17515,7 @@
"node_modules/validate-npm-package-name": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
- "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
+ "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==",
"dev": true,
"dependencies": {
"builtins": "^1.0.3"
@@ -17164,7 +17524,7 @@
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"engines": {
"node": ">= 0.8"
}
@@ -17195,8 +17555,7 @@
"node_modules/wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
- "dev": true,
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
"dependencies": {
"defaults": "^1.0.3"
}
@@ -17257,17 +17616,17 @@
}
},
"node_modules/webpack-cli": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz",
- "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==",
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz",
+ "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==",
"dependencies": {
"@discoveryjs/json-ext": "^0.5.0",
- "@webpack-cli/configtest": "^1.1.1",
- "@webpack-cli/info": "^1.4.1",
- "@webpack-cli/serve": "^1.6.1",
+ "@webpack-cli/configtest": "^1.2.0",
+ "@webpack-cli/info": "^1.5.0",
+ "@webpack-cli/serve": "^1.7.0",
"colorette": "^2.0.14",
"commander": "^7.0.0",
- "execa": "^5.0.0",
+ "cross-spawn": "^7.0.3",
"fastest-levenshtein": "^1.0.12",
"import-local": "^3.0.2",
"interpret": "^2.2.0",
@@ -17280,6 +17639,10 @@
"engines": {
"node": ">=10.13.0"
},
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
"peerDependencies": {
"webpack": "4.x.x || 5.x.x"
},
@@ -17306,14 +17669,6 @@
"node": ">= 10"
}
},
- "node_modules/webpack-cli/node_modules/interpret": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
- "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
- "engines": {
- "node": ">= 0.10"
- }
- },
"node_modules/webpack-cli/node_modules/rechoir": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
@@ -17422,7 +17777,6 @@
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
"integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
- "dev": true,
"dependencies": {
"string-width": "^1.0.2 || 2 || 3 || 4"
}
@@ -17447,7 +17801,7 @@
"node_modules/window-size": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==",
"engines": {
"node": ">= 0.8.0"
}
@@ -17463,7 +17817,7 @@
"node_modules/wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
"dev": true
},
"node_modules/workerpool": {
@@ -17490,7 +17844,7 @@
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
"node_modules/write-file-atomic": {
"version": "3.0.3",
@@ -17590,7 +17944,7 @@
"node_modules/write-pkg/node_modules/sort-keys": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
- "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
+ "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==",
"dev": true,
"dependencies": {
"is-plain-obj": "^1.0.0"
@@ -17771,7 +18125,7 @@
"node_modules/yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
"dependencies": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
@@ -17824,14 +18178,14 @@
}
},
"@babel/compat-data": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz",
- "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw=="
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.5.tgz",
+ "integrity": "sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg=="
},
"@babel/core": {
- "version": "7.18.2",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz",
- "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==",
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz",
+ "integrity": "sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==",
"requires": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.16.7",
@@ -17839,10 +18193,10 @@
"@babel/helper-compilation-targets": "^7.18.2",
"@babel/helper-module-transforms": "^7.18.0",
"@babel/helpers": "^7.18.2",
- "@babel/parser": "^7.18.0",
+ "@babel/parser": "^7.18.5",
"@babel/template": "^7.16.7",
- "@babel/traverse": "^7.18.2",
- "@babel/types": "^7.18.2",
+ "@babel/traverse": "^7.18.5",
+ "@babel/types": "^7.18.4",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -18172,9 +18526,9 @@
}
},
"@babel/parser": {
- "version": "7.18.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz",
- "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow=="
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz",
+ "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw=="
},
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
"version": "7.17.12",
@@ -18611,9 +18965,9 @@
}
},
"@babel/plugin-transform-modules-systemjs": {
- "version": "7.18.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz",
- "integrity": "sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg==",
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz",
+ "integrity": "sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q==",
"requires": {
"@babel/helper-hoist-variables": "^7.16.7",
"@babel/helper-module-transforms": "^7.18.0",
@@ -18641,9 +18995,9 @@
}
},
"@babel/plugin-transform-new-target": {
- "version": "7.17.12",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz",
- "integrity": "sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==",
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz",
+ "integrity": "sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg==",
"requires": {
"@babel/helper-plugin-utils": "^7.17.12"
}
@@ -18875,9 +19229,9 @@
}
},
"@babel/traverse": {
- "version": "7.18.2",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz",
- "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==",
+ "version": "7.18.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz",
+ "integrity": "sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==",
"requires": {
"@babel/code-frame": "^7.16.7",
"@babel/generator": "^7.18.2",
@@ -18885,8 +19239,8 @@
"@babel/helper-function-name": "^7.17.9",
"@babel/helper-hoist-variables": "^7.16.7",
"@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.18.0",
- "@babel/types": "^7.18.2",
+ "@babel/parser": "^7.18.5",
+ "@babel/types": "^7.18.4",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -18974,6 +19328,62 @@
}
}
},
+ "@feathershq/pinion": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@feathershq/pinion/-/pinion-0.3.3.tgz",
+ "integrity": "sha512-JXe55z59oc4uRT8XkYMlWYoj9ZKL39N5aIIHGnwSAVQbgQgatvTZpaPzZ0cgziN6XTl/QhJO4FRed+bPTInnvA==",
+ "requires": {
+ "@types/inquirer": "^8.2.0",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0",
+ "inquirer": "^8.2.0",
+ "ts-node": "^10.5.0",
+ "yargs": "^17.3.1"
+ },
+ "dependencies": {
+ "inquirer": {
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz",
+ "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==",
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.1",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "0.0.8",
+ "ora": "^5.4.1",
+ "run-async": "^2.4.0",
+ "rxjs": "^7.5.5",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "yargs": {
+ "version": "17.5.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
+ "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "21.0.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
+ "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg=="
+ }
+ }
+ },
"@feathersjs/hooks": {
"version": "0.7.5",
"resolved": "https://registry.npmjs.org/@feathersjs/hooks/-/hooks-0.7.5.tgz",
@@ -18983,7 +19393,7 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
"integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
- "dev": true
+ "devOptional": true
},
"@humanwhocodes/config-array": {
"version": "0.9.5",
@@ -19075,16 +19485,16 @@
}
},
"@lerna/add": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/add/-/add-5.0.0.tgz",
- "integrity": "sha512-KdIOQL+88iHU9zuAU8Be1AL4cOVmm77nlckylsNaVVTiomNipr/h7lStiBO52BoMkwKzNwOH6He5HGY0Yo7s2w==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/add/-/add-5.1.4.tgz",
+ "integrity": "sha512-kysQaV0+6aFtT0rkbaeuP6qb0vYDwo7TiC+Og4STyXxv2mHXi3F8r6Z9xXNUn8LPi29gaCmB8DLmbEGlTBM4xg==",
"dev": true,
"requires": {
- "@lerna/bootstrap": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/npm-conf": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/bootstrap": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/npm-conf": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"dedent": "^0.7.0",
"npm-package-arg": "^8.1.0",
"p-map": "^4.0.0",
@@ -19093,29 +19503,29 @@
}
},
"@lerna/bootstrap": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-5.0.0.tgz",
- "integrity": "sha512-2m1BxKbYwDABy+uE/Da3EQM61R58bI3YQ0o1rsFQq1u0ltL9CJxw1o0lMg84hwMsBb4D+kLIXLqetYlLVgbr0Q==",
- "dev": true,
- "requires": {
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/has-npm-version": "5.0.0",
- "@lerna/npm-install": "5.0.0",
- "@lerna/package-graph": "5.0.0",
- "@lerna/pulse-till-done": "5.0.0",
- "@lerna/rimraf-dir": "5.0.0",
- "@lerna/run-lifecycle": "5.0.0",
- "@lerna/run-topologically": "5.0.0",
- "@lerna/symlink-binary": "5.0.0",
- "@lerna/symlink-dependencies": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-5.1.4.tgz",
+ "integrity": "sha512-uCP0WdxGCGAGkwcuhv2nLqLByq9WJ5yr+93A8T15xZJfQsXLtYjjlivIe35MjS77eR+krwl5uY6WmGPJ33+afg==",
+ "dev": true,
+ "requires": {
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/has-npm-version": "5.1.4",
+ "@lerna/npm-install": "5.1.4",
+ "@lerna/package-graph": "5.1.4",
+ "@lerna/pulse-till-done": "5.1.4",
+ "@lerna/rimraf-dir": "5.1.4",
+ "@lerna/run-lifecycle": "5.1.4",
+ "@lerna/run-topologically": "5.1.4",
+ "@lerna/symlink-binary": "5.1.4",
+ "@lerna/symlink-dependencies": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"@npmcli/arborist": "5.2.0",
"dedent": "^0.7.0",
"get-port": "^5.1.1",
"multimatch": "^5.0.0",
"npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0",
"p-waterfall": "^2.1.1",
@@ -19123,32 +19533,32 @@
}
},
"@lerna/changed": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-5.0.0.tgz",
- "integrity": "sha512-A24MHipPGODmzQBH1uIMPPUUOc1Zm7Qe/eSYzm52bFHtVxWH0nIVXfunadoMX32NhzKQH3Sw8X2rWHPQSRoUvA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-5.1.4.tgz",
+ "integrity": "sha512-XwA3+pw5keO2CyjobLN8dU7mvGbzB3FD+LtLPI/zk7UbNIbl7V6uaIkoPJIdTWwP1e6S1BnGCVsAMtwQ980gTA==",
"dev": true,
"requires": {
- "@lerna/collect-updates": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/listable": "5.0.0",
- "@lerna/output": "5.0.0"
+ "@lerna/collect-updates": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/listable": "5.1.4",
+ "@lerna/output": "5.1.4"
}
},
"@lerna/check-working-tree": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-5.0.0.tgz",
- "integrity": "sha512-PnUMdpT2qS4o+vs+7l5fFIizstGdqSkhLG+Z9ZiY5OMtnGd+pmAFQFlbLSZSmdvQSOSobl9fhB1St8qhPD60xQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-5.1.4.tgz",
+ "integrity": "sha512-yFkRmZd25viwxyyOHZd3g7k2Od2Mk0Sf15fol3h/a7P0rUMf6UaMoGo2qlyo+DS51sz+eNalMmFKLpRrDXcSSw==",
"dev": true,
"requires": {
- "@lerna/collect-uncommitted": "5.0.0",
- "@lerna/describe-ref": "5.0.0",
- "@lerna/validation-error": "5.0.0"
+ "@lerna/collect-uncommitted": "5.1.4",
+ "@lerna/describe-ref": "5.1.4",
+ "@lerna/validation-error": "5.1.4"
}
},
"@lerna/child-process": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-5.0.0.tgz",
- "integrity": "sha512-cFVNkedrlU8XTt15EvUtQ84hqtV4oToQW/elKNv//mhCz06HY8Y+Ia6XevK2zrIhZjS6DT576F/7SmTk3vnpmg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-5.1.4.tgz",
+ "integrity": "sha512-F7xP+bEdkE3JTyKz0t33QA5v2meXZrQQ0JmHa7/AlEg6D2r7gQ8UHSHuSUiNfX4drjpePe/9XaZylj01KLcx/w==",
"dev": true,
"requires": {
"chalk": "^4.1.0",
@@ -19157,104 +19567,103 @@
}
},
"@lerna/clean": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-5.0.0.tgz",
- "integrity": "sha512-7B+0Nx6MEPmCfnEa1JFyZwJsC7qlGrikWXyLglLb/wcbapYVsuDauOl9AT1iOFoXKw82P77HWYUKWeD9DQgw/w==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-5.1.4.tgz",
+ "integrity": "sha512-4Du/r8iYSYFpo1t5J1BYivmj84n9mGebt89isVsyqMmrCqd5B2ix/Z8PYPQFMwm7k9YYbV+sZGSpRvtXkn8kIw==",
"dev": true,
"requires": {
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/prompt": "5.0.0",
- "@lerna/pulse-till-done": "5.0.0",
- "@lerna/rimraf-dir": "5.0.0",
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/prompt": "5.1.4",
+ "@lerna/pulse-till-done": "5.1.4",
+ "@lerna/rimraf-dir": "5.1.4",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0",
"p-waterfall": "^2.1.1"
}
},
"@lerna/cli": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-5.0.0.tgz",
- "integrity": "sha512-g8Nifko8XNySOl8u2molSHVl+fk/E1e5FSn/W2ekeijmc3ezktp+xbPWofNq71N/d297+KPQpLBfwzXSo9ufIQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-5.1.4.tgz",
+ "integrity": "sha512-ckLSNJBY4iVmu6nBhHb8UchpWGm49z9pjsAEJQ4F/VNkT6zKsmOCfv2ahkvudQ77gc0K/dH+MTvoOHsH85bpow==",
"dev": true,
"requires": {
- "@lerna/global-options": "5.0.0",
+ "@lerna/global-options": "5.1.4",
"dedent": "^0.7.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"yargs": "^16.2.0"
}
},
"@lerna/collect-uncommitted": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-5.0.0.tgz",
- "integrity": "sha512-mga/2S9rK0TP5UCulWiCTrC/uKaiIlOro1n8R3oCw6eRw9eupCSRx5zGI7pdh8CPD82MDL7w0a6OTep3WBSBVA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-5.1.4.tgz",
+ "integrity": "sha512-CI9PXYQuewqA4ZBMRycDUSVRJmAxUeP8HEZ3aKNvAwlLxLlGCueh8qOHXZHxgkmF6eQtcEjblsReiDt8bFJZpA==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
+ "@lerna/child-process": "5.1.4",
"chalk": "^4.1.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/collect-updates": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-5.0.0.tgz",
- "integrity": "sha512-X82i8SVgBXLCk8vbKWfQPRLTAXROCANL8Z/bU1l6n7yycsHKdjrrlNi1+KprFdfRsMvSm10R4qPNcl9jgsp/IA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-5.1.4.tgz",
+ "integrity": "sha512-P1zlaZ0QkKIjbU3o7hjd4zcxzti1ndS4+eQNmlxZP3IcmlJ4+Ne+VxGeaACsjzPPBqSBWX1xcyMFLALH/Jo2CA==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
- "@lerna/describe-ref": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/describe-ref": "5.1.4",
"minimatch": "^3.0.4",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"slash": "^3.0.0"
}
},
"@lerna/command": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/command/-/command-5.0.0.tgz",
- "integrity": "sha512-j7/apU5d/nhSc1qIZgcV03KyO5jz3y7cwSum3IuK8/XF6rKwt3FVnbue1V3l9sJ6IRJjsRGKyViB1IdP5nSX4Q==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/command/-/command-5.1.4.tgz",
+ "integrity": "sha512-S/3oIagN9/ntuGtljSxHu4liB9e9YFWsq/xZOR8YoqROJENv5G5zyAmHjXq90AR/tGmLvufzFliBfEIG9CywFA==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
- "@lerna/package-graph": "5.0.0",
- "@lerna/project": "5.0.0",
- "@lerna/validation-error": "5.0.0",
- "@lerna/write-log-file": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/package-graph": "5.1.4",
+ "@lerna/project": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
+ "@lerna/write-log-file": "5.1.4",
"clone-deep": "^4.0.1",
"dedent": "^0.7.0",
"execa": "^5.0.0",
"is-ci": "^2.0.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/conventional-commits": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-5.0.0.tgz",
- "integrity": "sha512-tUCRTAycDCtSlCEI0hublq4uKHeV0UHpwIb3Fdt6iv2AoTSPBSX/Dwu/6VqguysOSEkkR4M2JCOLvJCl4IMxwg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-5.1.4.tgz",
+ "integrity": "sha512-0v0exYOH9cJTNpKggqAw7vHVLlPjqO6Y20PUg44F3GOEjd54VIGDqu+MkVhflqvUftzZjmcUHDUGHVP+8dFBNw==",
"dev": true,
"requires": {
- "@lerna/validation-error": "5.0.0",
+ "@lerna/validation-error": "5.1.4",
"conventional-changelog-angular": "^5.0.12",
"conventional-changelog-core": "^4.2.2",
"conventional-recommended-bump": "^6.1.0",
"fs-extra": "^9.1.0",
"get-stream": "^6.0.0",
- "lodash.template": "^4.5.0",
"npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"pify": "^5.0.0",
"semver": "^7.3.4"
}
},
"@lerna/create": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/create/-/create-5.0.0.tgz",
- "integrity": "sha512-sdFTVTLOVuhHpzIYhFAwK0Ry3p4d7uMe9ZG/Ii128/pB9kEEfCth+1WBq6mBpYZ5mOLLgxJbWalbiJFl0toQRw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/create/-/create-5.1.4.tgz",
+ "integrity": "sha512-UPR5EnFg0WzXiRIKl+MGHH3hBB6s1xkLDJNLGzac5Ztry/ibLDhl47wYoYcToiQ3/y3/3751WLJErF+A52mCyw==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/npm-conf": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/npm-conf": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"dedent": "^0.7.0",
"fs-extra": "^9.1.0",
"globby": "^11.0.2",
@@ -19280,89 +19689,89 @@
}
},
"@lerna/create-symlink": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-5.0.0.tgz",
- "integrity": "sha512-nHYNacrh15Y0yEofVlUVu9dhf4JjIn9hY7v7rOUXzUeQ91iXY5Q3PVHkBeRUigyT5CWP5qozZwraCMwp+lDWYg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-5.1.4.tgz",
+ "integrity": "sha512-VTTuCgM5gXk0frAFxfVQqfX9QxXKz6TKpKsHcC39BAR3aiSUW8vqRImbLvaFtKpnEMW0HshDfuzp6rRkaiyWYw==",
"dev": true,
"requires": {
"cmd-shim": "^4.1.0",
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/describe-ref": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-5.0.0.tgz",
- "integrity": "sha512-iLvMHp3nl4wcMR3/lVkz0ng7pAHfLQ7yvz2HsYBq7wllCcEzpchzPgyVzyvbpJ+Ke/MKjQTsrHE/yOGOH67GVw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-5.1.4.tgz",
+ "integrity": "sha512-ztLWLIyrHPxVhs8yfVpCDIw2st5c246KfoTqjEX8N6s8v0dLs3vfCKCM70ej6lBNkwqBXSilgHrd3AkGq3kq6Q==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.1.4",
+ "npmlog": "^6.0.2"
}
},
"@lerna/diff": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-5.0.0.tgz",
- "integrity": "sha512-S4XJ6i9oP77cSmJ3oRUJGMgrI+jOTmkYWur2nqgSdyJBE1J2eClgTJknb3WAHg2cHALT18WzFqNghFOGM+9dRA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-5.1.4.tgz",
+ "integrity": "sha512-o5chvMHcKQS4zkdGX7LCaMgNn0flrG9OEiGt8DCIzRUa6aWJAlE2oZyOj+VsiUxzaZJxm2oV+GkISQYRJPlPug==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/validation-error": "5.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
+ "npmlog": "^6.0.2"
}
},
"@lerna/exec": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-5.0.0.tgz",
- "integrity": "sha512-g5i+2RclCGWLsl88m11j99YM2Gqnwa2lxZ5tDeqqWZFno6Dlvop17Yl6/MFH42EgM2DQHUUCammvcLIAJ2XwEA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-5.1.4.tgz",
+ "integrity": "sha512-6vn1UCxJZTTt90WlWItI05yj4xaNOShgIl5Yi9mx1Ex6nVS32mmTOqHI/+Cn4M+P0C4u1hFymd2aIEfWnmdUsA==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/profiler": "5.0.0",
- "@lerna/run-topologically": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/profiler": "5.1.4",
+ "@lerna/run-topologically": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"p-map": "^4.0.0"
}
},
"@lerna/filter-options": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-5.0.0.tgz",
- "integrity": "sha512-un73aYkXlzKlnDPx2AlqNW+ArCZ20XaX+Y6C0F+av9VZriiBsCgZTnflhih9fiSMnXjN5r9CA8YdWvZqa3oAcQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-5.1.4.tgz",
+ "integrity": "sha512-a6hLVZOb7awjI9Tk5hx90BB6GZz59npBRQN0kSG6drV1H+vi+wU7ee6OZ5EMHQgnzdZ6OjZQRHlWCCTXyNdKgQ==",
"dev": true,
"requires": {
- "@lerna/collect-updates": "5.0.0",
- "@lerna/filter-packages": "5.0.0",
+ "@lerna/collect-updates": "5.1.4",
+ "@lerna/filter-packages": "5.1.4",
"dedent": "^0.7.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/filter-packages": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-5.0.0.tgz",
- "integrity": "sha512-+EIjVVaMPDZ05F/gZa+kcXjBOLXqEamcEIDr+2ZXRgJmnrLx9BBY1B7sBEFHg7JXbeOKS+fKtMGVveV0SzgH3Q==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-5.1.4.tgz",
+ "integrity": "sha512-a+ThrgYyGrTfBZUMfi/WvcqX3Ce6JaMZjTYoNAmKpHYNZFRqdmgOT1fFLLF+/y62XGqCf0wo50xRYNg0hIAf3Q==",
"dev": true,
"requires": {
- "@lerna/validation-error": "5.0.0",
+ "@lerna/validation-error": "5.1.4",
"multimatch": "^5.0.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/get-npm-exec-opts": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.0.0.tgz",
- "integrity": "sha512-ZOg3kc5FXYA1kVFD2hfJOl64hNASWD6panwD0HlyzXgfKKTDRm/P/qtAqS8WGCzQWgEdx4wvsDe/58Lzzh6QzQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.1.4.tgz",
+ "integrity": "sha512-A+cNgTWWQOcNGWz9wj40/NWK46v8TtTAmXuEPfzDruv6VdmXEVIuq7SCeUPj9+aRxMQXVCil0/Vyo2z6R9TDLw==",
"dev": true,
"requires": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/get-packed": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-5.0.0.tgz",
- "integrity": "sha512-fks7Tg7DvcCZxRWPS3JAWVuLnwjPC/hLlNsdYmK9nN3+RtPhmYQgBjLSONcENw1E46t4Aph72lA9nLcYBLksqw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-5.1.4.tgz",
+ "integrity": "sha512-JD9U4Sp7Dpt3nUdXAo5f9SIXK2QsBaguChCZ8VTAl3eb7j0o7nrHYoh1eAa8rDT2L9+AxcUFDMi/wDdCotlJmA==",
"dev": true,
"requires": {
"fs-extra": "^9.1.0",
@@ -19371,137 +19780,137 @@
}
},
"@lerna/github-client": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-5.0.0.tgz",
- "integrity": "sha512-NoEyRkQ8XgBnrjRfC9ph1npfg1/4OdYG+r8lG/1WkJbdt1Wlym4VNZU2BYPMWwSQYMJuppoEr0LL2uuVcS4ZUw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-5.1.4.tgz",
+ "integrity": "sha512-VAaH9ycnGVsaGWM5uRKvd0oXlOERHOEOwxXLaCnR1mA7k5490B5jTlwhSWYdA4s40CF9AOdIVNgBhP+T7MlcPw==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
+ "@lerna/child-process": "5.1.4",
"@octokit/plugin-enterprise-rest": "^6.0.1",
"@octokit/rest": "^18.1.0",
"git-url-parse": "^11.4.4",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/gitlab-client": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-5.0.0.tgz",
- "integrity": "sha512-WREAT7qzta9hxNxktTX0x1/sEMpBP+4Gc00QSJYXt+ZzxY0t5RUx/ZK5pQl+IDhtkajrvXT6fSfZjMxxyE8hhQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-5.1.4.tgz",
+ "integrity": "sha512-F0Pa6Cv6TE0gbhuHR2gVVwdzstqePMZhTNcVY5So3YJrb1ppuUH/4cVXhRcEOj16QuWJ6yysxb7mj8tY4Zv0Bw==",
"dev": true,
"requires": {
"node-fetch": "^2.6.1",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"whatwg-url": "^8.4.0"
}
},
"@lerna/global-options": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-5.0.0.tgz",
- "integrity": "sha512-PZYy/3mTZwtA9lNmHHRCc/Ty1W20qGJ/BdDIo4bw/Bk0AOcoBCLT9b3Mjijkl4AbC9+eSGk3flUYapCGVuS32Q==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-5.1.4.tgz",
+ "integrity": "sha512-gs6y97tomIuyYdDr9uKQ5B5AR9m6wVft6lrxWlGlLo0prz39tx7fJ9wT2IpJ9iALCadkQW6g7XFtddwfm5VRhg==",
"dev": true
},
"@lerna/has-npm-version": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-5.0.0.tgz",
- "integrity": "sha512-zJPgcml86nhJFJTpT+kjkcafuCFvK7PSq3oDC2KJxwB1bhlYwy+SKtAEypHSsHQ2DwP0YgPITcy1pvtHkie1SA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-5.1.4.tgz",
+ "integrity": "sha512-U81b1nvqwF8PGyHib8/AWeGbaNipGdqXZsRO5g3ob9A5X57GXJ86cQVLejLi+znY4SmQcHladC4TotJkpNF1Ag==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
+ "@lerna/child-process": "5.1.4",
"semver": "^7.3.4"
}
},
"@lerna/import": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/import/-/import-5.0.0.tgz",
- "integrity": "sha512-cD+Is7eV/I+ZU0Wlg+yAgKaZbOvfzA7kBj2Qu1HtxeLhc7joTR8PFW1gNjEsvrWOTiaHAtObbo1A+MKYQ/T12g==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/import/-/import-5.1.4.tgz",
+ "integrity": "sha512-Kswe1NKJDUDlO/gbkFcurzaYlaj/fXlapHTaih9LmQDiVPOE9GphD5qnABCV0c4CqeSnCzRujT5BUjjL5z7viA==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/prompt": "5.0.0",
- "@lerna/pulse-till-done": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/prompt": "5.1.4",
+ "@lerna/pulse-till-done": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"dedent": "^0.7.0",
"fs-extra": "^9.1.0",
"p-map-series": "^2.1.0"
}
},
"@lerna/info": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/info/-/info-5.0.0.tgz",
- "integrity": "sha512-k9TMK81apTjxxpnjfFOABKXndTtHBPgB8UO+I6zKhsfRqVb9FCz2MHOx8cQiSyolvNyGSQdSylSo4p7EBBomQQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/info/-/info-5.1.4.tgz",
+ "integrity": "sha512-9OMdNtmDMKLwfX+aZk9nHLfksYXuU7IcIiVJ9dR7gYx1PoKjXvTpd/+hd7t/tmElM21kmPVxQBu02L3KmXw+hQ==",
"dev": true,
"requires": {
- "@lerna/command": "5.0.0",
- "@lerna/output": "5.0.0",
+ "@lerna/command": "5.1.4",
+ "@lerna/output": "5.1.4",
"envinfo": "^7.7.4"
}
},
"@lerna/init": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/init/-/init-5.0.0.tgz",
- "integrity": "sha512-2n68x7AIqVa+Vev9xF3NV9ba0C599KYf7JsIrQ5ESv4593ftInJpwgMwjroLT3X/Chi4BK7y2/xGmrfFVwgILg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/init/-/init-5.1.4.tgz",
+ "integrity": "sha512-OdI5iWYT1JcB6f5mjmCjgpkOrpDdSSDzmSi34kp/NP1FkbskDoMffVBTQiV8/h6zAg3jk1+aLQYLMuR5E6nIwA==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
- "@lerna/command": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/command": "5.1.4",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0",
"write-json-file": "^4.3.0"
}
},
"@lerna/link": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/link/-/link-5.0.0.tgz",
- "integrity": "sha512-00YxQ06TVhQJthOjcuxCCJRjkAM+qM/8Lv0ckdCzBBCSr4RdAGBp6QcAX/gjLNasgmNpyiza3ADet7mCH7uodw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/link/-/link-5.1.4.tgz",
+ "integrity": "sha512-j73MW+vam6e8XdwyQGeHR9X7TUmgvLG0wV1vDLjSyrhk/Q5oFo0RTRgfDJqR4tCtRnv0vujvw5oDXfSbBmg67g==",
"dev": true,
"requires": {
- "@lerna/command": "5.0.0",
- "@lerna/package-graph": "5.0.0",
- "@lerna/symlink-dependencies": "5.0.0",
+ "@lerna/command": "5.1.4",
+ "@lerna/package-graph": "5.1.4",
+ "@lerna/symlink-dependencies": "5.1.4",
"p-map": "^4.0.0",
"slash": "^3.0.0"
}
},
"@lerna/list": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/list/-/list-5.0.0.tgz",
- "integrity": "sha512-+B0yFil2AFdiYO8hyU1bFbKXGBAUUQQ43/fp2XS2jBFCipLme4eTILL5gMKOhr2Xg9AsfYPXRMRer5VW7qTeeQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/list/-/list-5.1.4.tgz",
+ "integrity": "sha512-D7FAUik18s5FtHnBoPzodR8LUvH5b0a/ziV8ICaKWZ98H4w9qpNsQtBe0O+7DwUuqLKYpycst5tY5WVGnNwuNA==",
"dev": true,
"requires": {
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/listable": "5.0.0",
- "@lerna/output": "5.0.0"
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/listable": "5.1.4",
+ "@lerna/output": "5.1.4"
}
},
"@lerna/listable": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-5.0.0.tgz",
- "integrity": "sha512-Rd5sE7KTbqA8u048qThH5IyBuJIwMcUnEObjFyJyKpc1SEWSumo4yAYmcEeN/9z62tcdud5wHYPSbVgfXJq37g==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-5.1.4.tgz",
+ "integrity": "sha512-grGLrffBNX38l5mzZgkv4xE9UcAAKBi1s+LgloI3rusgTdE/B8gvCOYMqLf9V08iojs7Ke2xPf0whJmbEeK/qA==",
"dev": true,
"requires": {
- "@lerna/query-graph": "5.0.0",
+ "@lerna/query-graph": "5.1.4",
"chalk": "^4.1.0",
- "columnify": "^1.5.4"
+ "columnify": "^1.6.0"
}
},
"@lerna/log-packed": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-5.0.0.tgz",
- "integrity": "sha512-0TxKX+XnlEYj0du9U2kg3HEyIb/0QsM0Slt8utuCxALUnXRHTEKohjqVKsBdvh1QmJpnUbL5I+vfoYqno4Y42w==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-5.1.4.tgz",
+ "integrity": "sha512-qJlWMVjc/uM1I7AWqrOPeBLVZy9YExi/QqUyvmkb8mmsPXnW7rxIJQdYgRifS5aFNTbX/MtG8Q65Rr4syiVnSA==",
"dev": true,
"requires": {
"byte-size": "^7.0.0",
- "columnify": "^1.5.4",
+ "columnify": "^1.6.0",
"has-unicode": "^2.0.1",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/npm-conf": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-5.0.0.tgz",
- "integrity": "sha512-KSftxtMNVhLol1JNwFFNgh5jiCG010pewM+uKeSrUe0BCB3lnidiEDzu2CCn8JYYfIXqAiou/pScUiOxVLpcAA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-5.1.4.tgz",
+ "integrity": "sha512-kNbw2jO0HD9P4+nS8RIFub549BiQYG/sdFUuNWu7cCjErB+g/5ayfE6Mn5HyiRPMYXVw73iR8IzvkCCDWEOB7Q==",
"dev": true,
"requires": {
"config-chain": "^1.1.12",
@@ -19509,96 +19918,96 @@
}
},
"@lerna/npm-dist-tag": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-5.0.0.tgz",
- "integrity": "sha512-ccUFhp9Wu/FHW5/5fL+vLiSTcUZXtKQ7c0RMXtNRzIdTXBxPBkVi1k5QAnBAAffsz6Owc/K++cb+/zQ/asrG3g==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-5.1.4.tgz",
+ "integrity": "sha512-9q5N3iy8KGFBsyRBmNEftj8ACeCXNh2JUBqk/wYGiB0WH0oVf0UY/uo6VUy8dZjyJ9Q0eZa1ONtFHIg3QrzGDA==",
"dev": true,
"requires": {
- "@lerna/otplease": "5.0.0",
+ "@lerna/otplease": "5.1.4",
"npm-package-arg": "^8.1.0",
"npm-registry-fetch": "^9.0.0",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/npm-install": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-5.0.0.tgz",
- "integrity": "sha512-72Jf05JCIdeSBWXAiNjd/y2AQH4Ojgas55ojV2sAcEYz2wgyR7wSpiI6fHBRlRP+3XPjV9MXKxI3ZwOnznQxqQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-5.1.4.tgz",
+ "integrity": "sha512-DbbUK2Zy7ZBpkHimlFKf7XbGzBsoPfqzf0i9hIYBHmND9YWSgIgVFJcyRH7E6UKpr4wRChW4h6xEV81jKykB7w==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
- "@lerna/get-npm-exec-opts": "5.0.0",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/get-npm-exec-opts": "5.1.4",
"fs-extra": "^9.1.0",
"npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"signal-exit": "^3.0.3",
"write-pkg": "^4.0.0"
}
},
"@lerna/npm-publish": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-5.0.0.tgz",
- "integrity": "sha512-jnapZ2jRajSzshSfd1Y3rHH5R7QC+JJlYST04FBebIH3VePwDT7uAglDCI4um2THvxkW4420EzE4BUMUwKlnXA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-5.1.4.tgz",
+ "integrity": "sha512-MXtd2cFN+oJMxj9m1fXYAo+KE2BzO84Ukt3uAhQb1cXU01ZCwqGl/lQRWw5vI88emrKs0akx3d6E77PFpX9rpw==",
"dev": true,
"requires": {
- "@lerna/otplease": "5.0.0",
- "@lerna/run-lifecycle": "5.0.0",
+ "@lerna/otplease": "5.1.4",
+ "@lerna/run-lifecycle": "5.1.4",
"fs-extra": "^9.1.0",
"libnpmpublish": "^4.0.0",
"npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"pify": "^5.0.0",
"read-package-json": "^3.0.0"
}
},
"@lerna/npm-run-script": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-5.0.0.tgz",
- "integrity": "sha512-qgGf0Wc/E2YxPwIiF8kC/OB9ffPf0/HVtPVkqrblVuNE9XVP80WilOH966PIDiXzwXaCo/cTswFoBeseccYRGw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-5.1.4.tgz",
+ "integrity": "sha512-vw2G69lFmFzdX553GidE66QgCZ3cGyxoOvnpCdvZ1n9AS5ZwZSiL8Ms6N3Vj+AOhESFZmFZkzIVhtpX5/xNzLg==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
- "@lerna/get-npm-exec-opts": "5.0.0",
- "npmlog": "^4.1.2"
+ "@lerna/child-process": "5.1.4",
+ "@lerna/get-npm-exec-opts": "5.1.4",
+ "npmlog": "^6.0.2"
}
},
"@lerna/otplease": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-5.0.0.tgz",
- "integrity": "sha512-QLLkEy1DPN1XFRAAZDHxAD26MHFQDHfzB6KKSzRYxbHc6lH/YbDaMH1RloSWIm7Hwkxl/3NgpokgN4Lj5XFuzg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-5.1.4.tgz",
+ "integrity": "sha512-t3qKC55D7rCacNTsqQwn25XxDRQXgRHYWS0gqn2ch+dTwXOI61Uto9okVhgn2ZfZVydJ3sjnktOsPeSXhQRQew==",
"dev": true,
"requires": {
- "@lerna/prompt": "5.0.0"
+ "@lerna/prompt": "5.1.4"
}
},
"@lerna/output": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/output/-/output-5.0.0.tgz",
- "integrity": "sha512-/7sUJQWPcvnLudjVIdN7t9MlfBLuP4JCDAWgQMqZe+wpQRuKNyKQ5dLBH5NHU/ElJCjAwMPfWuk3mh3GuvuiGA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/output/-/output-5.1.4.tgz",
+ "integrity": "sha512-E9nLEcV5GJbTKJd/d+cvU54CIzQqoU2rJAeXeyHTufbjgCTPk4I8uDNHmG7uJ+aPrif6PPBt1IIw+w5UnStfdw==",
"dev": true,
"requires": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/pack-directory": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-5.0.0.tgz",
- "integrity": "sha512-E1SNDS7xSWhJrTSmRzJK7DibneljrymviKcsZW3mRl4TmF4CpYJmNXCMlhEtKEy6ghnGQvnl3/4+eslHDJ5J/w==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-5.1.4.tgz",
+ "integrity": "sha512-TsltQrbwC/bPwQbL5i7WCMNM4Chl8+iqzawRZbILfjYpt3UK9xSV2tWfc9QtbmRBETvcFz/UMKQQDz+LMWN9jw==",
"dev": true,
"requires": {
- "@lerna/get-packed": "5.0.0",
- "@lerna/package": "5.0.0",
- "@lerna/run-lifecycle": "5.0.0",
- "@lerna/temp-write": "5.0.0",
+ "@lerna/get-packed": "5.1.4",
+ "@lerna/package": "5.1.4",
+ "@lerna/run-lifecycle": "5.1.4",
+ "@lerna/temp-write": "5.1.4",
"npm-packlist": "^2.1.4",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"tar": "^6.1.0"
}
},
"@lerna/package": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/package/-/package-5.0.0.tgz",
- "integrity": "sha512-/JiUU88bhbYEUTzPqoGLGwrrdWWTIVMlBb1OPxCGNGDEqYYNySX+OTTSs3zGMcmJnRNI0UyQALiEd0sh3JFN5w==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/package/-/package-5.1.4.tgz",
+ "integrity": "sha512-L0zsxslJZ+swkG/KLU3TQHmWPR0hf0eLIdOROyA9Nxvuo8C/702ddYZcuEYcz9t/jOuSgSB2s90iK2oTIncNbw==",
"dev": true,
"requires": {
"load-json-file": "^6.2.0",
@@ -19607,53 +20016,53 @@
}
},
"@lerna/package-graph": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-5.0.0.tgz",
- "integrity": "sha512-Z3QeUQVjux0Blo64rA3/NivoLDlsQBjsZRIgGLbcQh7l7pJrqLK1WyNCBbPJ0KQNljQqUXthCKzdefnEWe37Ew==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-5.1.4.tgz",
+ "integrity": "sha512-dP1gLcrqou5/8zef7u5ne4GTslNXULjpi3dDiljohKNR4XelsC4lkkF9m1Uzn9E1nAphHRhWXrRq40kqxmdYXg==",
"dev": true,
"requires": {
- "@lerna/prerelease-id-from-version": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/prerelease-id-from-version": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"npm-package-arg": "^8.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"semver": "^7.3.4"
}
},
"@lerna/prerelease-id-from-version": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.0.0.tgz",
- "integrity": "sha512-bUZwyx6evRn2RxogOQXaiYxRK1U/1Mh/KLO4n49wUhqb8S8Vb9aG3+7lLOgg4ZugHpj9KAlD3YGEKvwYQiWzhg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.1.4.tgz",
+ "integrity": "sha512-kDcXKKFD6Ww/FinLEvsY1P3aIiuVLyonkttvfKJTJvm3ymz7/fBKz8GotFXuONVC1xSIK9Nrk3jGYs6ZGoha+w==",
"dev": true,
"requires": {
"semver": "^7.3.4"
}
},
"@lerna/profiler": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-5.0.0.tgz",
- "integrity": "sha512-hFX+ZtoH7BdDoGI+bqOYaSptJTFI58wNK9qq/pHwL5ksV7vOhxP2cQAuo1SjgBKHGl0Ex/9ZT080YVV4jP1ehw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-5.1.4.tgz",
+ "integrity": "sha512-JLkS90+CSmi85v3SlJc5Wjk73MHmIviqtL3fM/Z6clBLbsRPkbBBfSwXKp7O281knF6E2UNTrWOtEG7b6wG3TQ==",
"dev": true,
"requires": {
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"upath": "^2.0.1"
}
},
"@lerna/project": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/project/-/project-5.0.0.tgz",
- "integrity": "sha512-+izHk7D/Di2b0s69AzKzAa/qBz32H9s67oN9aKntrjNylpY7iN5opU157l60Kh4TprYHU5bLisqzFLZsHHADGw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/project/-/project-5.1.4.tgz",
+ "integrity": "sha512-k0z3w45t746uAUkN+jY/jF+/BqHodGFYaUfM0DTDOGUWC8tXzxuqk3bchShp6Wct2gwNQWbtWHl50Jhhw5PC5g==",
"dev": true,
"requires": {
- "@lerna/package": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "@lerna/package": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"cosmiconfig": "^7.0.0",
"dedent": "^0.7.0",
"dot-prop": "^6.0.1",
"glob-parent": "^5.1.1",
"globby": "^11.0.2",
"load-json-file": "^6.2.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"resolve-from": "^5.0.0",
"write-json-file": "^4.3.0"
@@ -19677,45 +20086,45 @@
}
},
"@lerna/prompt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-5.0.0.tgz",
- "integrity": "sha512-cq2k04kOPY1yuJNHJn4qfBDDrCi9PF4Q228JICa6bxaONRf/C/TRsEQXHVIdlax8B3l53LnlGv5GECwRuvkQbA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-5.1.4.tgz",
+ "integrity": "sha512-AiE8NIzh+x2+F0t96M+rfwLtKzBNXjQEWXtBfEcA1eRqanMWUr6ejfmdkoEzXVrMzyY/ugPdWQYbGCI00iF7Tg==",
"dev": true,
"requires": {
"inquirer": "^7.3.3",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/publish": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-5.0.0.tgz",
- "integrity": "sha512-QEWFtN8fW1M+YXEQOWb2XBBCT137CrwHYK29ojMXW9HShvSZezf8Q/niH91nZ4kIhWdpOGz4w3rKopsumAM5SA==",
- "dev": true,
- "requires": {
- "@lerna/check-working-tree": "5.0.0",
- "@lerna/child-process": "5.0.0",
- "@lerna/collect-updates": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/describe-ref": "5.0.0",
- "@lerna/log-packed": "5.0.0",
- "@lerna/npm-conf": "5.0.0",
- "@lerna/npm-dist-tag": "5.0.0",
- "@lerna/npm-publish": "5.0.0",
- "@lerna/otplease": "5.0.0",
- "@lerna/output": "5.0.0",
- "@lerna/pack-directory": "5.0.0",
- "@lerna/prerelease-id-from-version": "5.0.0",
- "@lerna/prompt": "5.0.0",
- "@lerna/pulse-till-done": "5.0.0",
- "@lerna/run-lifecycle": "5.0.0",
- "@lerna/run-topologically": "5.0.0",
- "@lerna/validation-error": "5.0.0",
- "@lerna/version": "5.0.0",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-5.1.4.tgz",
+ "integrity": "sha512-hbFAwOlyUR4AUBd7qTQXXVKgaxTS4Mz4Kkjxz8g7jtqo+T0KvU3JbfwDqxOiCwcDk+qkrBbkwbvc27jcObSwkw==",
+ "dev": true,
+ "requires": {
+ "@lerna/check-working-tree": "5.1.4",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/collect-updates": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/describe-ref": "5.1.4",
+ "@lerna/log-packed": "5.1.4",
+ "@lerna/npm-conf": "5.1.4",
+ "@lerna/npm-dist-tag": "5.1.4",
+ "@lerna/npm-publish": "5.1.4",
+ "@lerna/otplease": "5.1.4",
+ "@lerna/output": "5.1.4",
+ "@lerna/pack-directory": "5.1.4",
+ "@lerna/prerelease-id-from-version": "5.1.4",
+ "@lerna/prompt": "5.1.4",
+ "@lerna/pulse-till-done": "5.1.4",
+ "@lerna/run-lifecycle": "5.1.4",
+ "@lerna/run-topologically": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
+ "@lerna/version": "5.1.4",
"fs-extra": "^9.1.0",
"libnpmaccess": "^4.0.1",
"npm-package-arg": "^8.1.0",
"npm-registry-fetch": "^9.0.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-pipe": "^3.1.0",
"pacote": "^13.4.1",
@@ -19723,114 +20132,114 @@
}
},
"@lerna/pulse-till-done": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-5.0.0.tgz",
- "integrity": "sha512-qFeVybGIZbQSWKasWIzZmHsvCQMC/AwTz5B44a0zTt5eSNQuI65HRpKKUgmFFu/Jzd7u+yp7eP+NQ53gjOcQlQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-5.1.4.tgz",
+ "integrity": "sha512-zFPzv6cY0OcqtcR91ueZqd+ulTLE4vPk9l6iPAfefgqh6w0E6hSmG6J9RmYE3gaMHSFJdvYHb/yyTPLF32J9lg==",
"dev": true,
"requires": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/query-graph": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-5.0.0.tgz",
- "integrity": "sha512-C/HXssBI8DVsZ/7IDW6JG9xhoHtWywi3L5oZB9q84MBYpQ9otUv6zbB+K4JCj7w9WHcuFWe2T/mc9wsaFuvB5g==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-5.1.4.tgz",
+ "integrity": "sha512-G8DYNqp5ISbbMjEJhGst1GHk59zO18IG9oaVSK14M7iF3qCLtg0iJ1Do4LDNpda3EF8PrLOx2mrNM5MBcGMjEg==",
"dev": true,
"requires": {
- "@lerna/package-graph": "5.0.0"
+ "@lerna/package-graph": "5.1.4"
}
},
"@lerna/resolve-symlink": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-5.0.0.tgz",
- "integrity": "sha512-O1EMQh3O3nKjLyI2guCCaxmi9xzZXpiMZhrz2ki5ENEDB2N1+f7cZ2THT0lEOIkLRuADI6hrzoN1obJ+TTk+KQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-5.1.4.tgz",
+ "integrity": "sha512-hpnaX5tznAtbQXlyc92kJiywdTnnbCf6wihSZwDiVnVgXuHJ3LvmjN677h9A0jobY6KdTT+wIoAHpJuZHj60vQ==",
"dev": true,
"requires": {
"fs-extra": "^9.1.0",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"read-cmd-shim": "^2.0.0"
}
},
"@lerna/rimraf-dir": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-5.0.0.tgz",
- "integrity": "sha512-hWJg/13CiSUrWWEek3B/A1mkvBbcPvG5z69/Ugyerdpzlw44ubf02MAZ0/kXPJjkICI2hMrS07YotQ60LdYpCw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-5.1.4.tgz",
+ "integrity": "sha512-WvHm4gE1/HWbI4gCjJw3clPT+FRq2Ob9I9EDbfw4c307MNT4kW4bJU2mt0nyv/uwYhUkTG+GQVrlt+Dtcif77g==",
"dev": true,
"requires": {
- "@lerna/child-process": "5.0.0",
- "npmlog": "^4.1.2",
+ "@lerna/child-process": "5.1.4",
+ "npmlog": "^6.0.2",
"path-exists": "^4.0.0",
"rimraf": "^3.0.2"
}
},
"@lerna/run": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run/-/run-5.0.0.tgz",
- "integrity": "sha512-8nBZstqKSO+7wHlKk1g+iexSYRVVNJq/u5ZbAzBiHNrABtqA6/0G7q9vsAEMsnPZ8ARAUYpwvbfKTipjpWH0VA==",
- "dev": true,
- "requires": {
- "@lerna/command": "5.0.0",
- "@lerna/filter-options": "5.0.0",
- "@lerna/npm-run-script": "5.0.0",
- "@lerna/output": "5.0.0",
- "@lerna/profiler": "5.0.0",
- "@lerna/run-topologically": "5.0.0",
- "@lerna/timer": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/run/-/run-5.1.4.tgz",
+ "integrity": "sha512-iaTioOF66z02Y9ml/Ba0ePpXOwZ+BkODcNXrJbyW8WhraL0fSjyno0FspO1Eu0nG4JMtgCsoEzHNphsk7Wg+7A==",
+ "dev": true,
+ "requires": {
+ "@lerna/command": "5.1.4",
+ "@lerna/filter-options": "5.1.4",
+ "@lerna/npm-run-script": "5.1.4",
+ "@lerna/output": "5.1.4",
+ "@lerna/profiler": "5.1.4",
+ "@lerna/run-topologically": "5.1.4",
+ "@lerna/timer": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"p-map": "^4.0.0"
}
},
"@lerna/run-lifecycle": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-5.0.0.tgz",
- "integrity": "sha512-36mAm9rC5DSliFShI0Y4ICjgrJXdIIVt7VW9rdbdJ8/XYjRHDzhGPB9Sc1neJOVlGL4DmaArvh5tGgo62KPJYQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-5.1.4.tgz",
+ "integrity": "sha512-ubmqi1ixebBHSTYS0oK8MoqBoJE7UDrXWTWsv84UrXiPutTffLR8ZQJKlMEcetQVzX9qbjpKbzc+jQWXPWid2A==",
"dev": true,
"requires": {
- "@lerna/npm-conf": "5.0.0",
+ "@lerna/npm-conf": "5.1.4",
"@npmcli/run-script": "^3.0.2",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/run-topologically": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-5.0.0.tgz",
- "integrity": "sha512-B2s1N/+r3sfPOLRA2svNk+C52JpXQleMuGap0yhOx5mZzR1M2Lo4vpe9Ody4hCvXQjfdLx/U342fxVmgugUtfQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-5.1.4.tgz",
+ "integrity": "sha512-MckWfLu/xuRtaThdUgrJC2naumv2LOIiMoJfxCdYpiCrIgq5YrwqOxjQ0awHqQhkvFZ5G91ucBcBEIMsOou1iw==",
"dev": true,
"requires": {
- "@lerna/query-graph": "5.0.0",
+ "@lerna/query-graph": "5.1.4",
"p-queue": "^6.6.2"
}
},
"@lerna/symlink-binary": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-5.0.0.tgz",
- "integrity": "sha512-uYyiiNjkdL1tWf8MDXIIyCa/a2gmYaUxagqMgEZ4wRtOk+PDypDwMUFVop/EQtUWZqG5CAJBJYOztG3DdapTbA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-5.1.4.tgz",
+ "integrity": "sha512-SNjHxCNTCD0Xfj3CNBTG+3ut4aDAVaq+SrB2ckFNmZ5Z9yFdnX6aP+PBzLD/0q5hj18lGlaJ8iZjD/ubbrgFCA==",
"dev": true,
"requires": {
- "@lerna/create-symlink": "5.0.0",
- "@lerna/package": "5.0.0",
+ "@lerna/create-symlink": "5.1.4",
+ "@lerna/package": "5.1.4",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0"
}
},
"@lerna/symlink-dependencies": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-5.0.0.tgz",
- "integrity": "sha512-wlZGOOB87XMy278hpF4fOwGNnjTXf1vJ/cFHIdKsJAiDipyhtnuCiJLBDPh4NzEGb02o4rhaqt8Nl5yWRu9CNA==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-5.1.4.tgz",
+ "integrity": "sha512-SuzylyNs1R5bVRqSCwfbQLdDP83RX8ncQxOy2SSSrScwkzdBCDqDPh4haeADsq2+RoOQBItn1PDfzUCNAWomDA==",
"dev": true,
"requires": {
- "@lerna/create-symlink": "5.0.0",
- "@lerna/resolve-symlink": "5.0.0",
- "@lerna/symlink-binary": "5.0.0",
+ "@lerna/create-symlink": "5.1.4",
+ "@lerna/resolve-symlink": "5.1.4",
+ "@lerna/symlink-binary": "5.1.4",
"fs-extra": "^9.1.0",
"p-map": "^4.0.0",
"p-map-series": "^2.1.0"
}
},
"@lerna/temp-write": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-5.0.0.tgz",
- "integrity": "sha512-JOkRR6xyASuBy1udyS/VD52Wgywnz7cSKppD+QKIDseNzTq27I9mNmb702BSXNXIdD19lLVQ7q6WoAlpnelnZg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/temp-write/-/temp-write-5.1.4.tgz",
+ "integrity": "sha512-f+6+ud87pyitM9zAq7GBhB7uoHTcgLJvR3YGv5sNja4jIl3+zdKPDcyxzVyQb38knuRSkGM8NjYOWi4zwcMaGw==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.15",
@@ -19841,45 +20250,45 @@
}
},
"@lerna/timer": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-5.0.0.tgz",
- "integrity": "sha512-p2vevkpB6V/b0aR8VyMLDfg0Arp9VvMxcZOEu+IfZ9XKTtnbwjWPHKUOS34x/VGa6bnOIWjE046ixWymOs/fTw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-5.1.4.tgz",
+ "integrity": "sha512-fhQtqkLxNexPWzhI1WAxZnHIBM8VhChvUJu503u1Rmp2JxhXbTE4Txnu1gPvqlDjdoE6ck0vN5icmfMVRwKc8g==",
"dev": true
},
"@lerna/validation-error": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-5.0.0.tgz",
- "integrity": "sha512-fu/MhqRXiRQM2cirP/HoSkfwc5XtJ21G60WHv74RnanKBqWEZAUALWa3MQN2sYhVV/FpDW3GLkO008IW5NWzdg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-5.1.4.tgz",
+ "integrity": "sha512-wys9Fv/bUy7sYXOK9t+V3XSyEHK5tUXwY22nfIDYu416WcSkkE4DI8Q2nTv4nYYOmG2Y7IOhaSenbsPLQ0VqtQ==",
"dev": true,
"requires": {
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"@lerna/version": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/version/-/version-5.0.0.tgz",
- "integrity": "sha512-M8KvdyG5kR/d3wgg5S46Q2YMf0L9iw9MiumTvlDP4ckysTt+04kS74Vp4+aClgPM4xaoI5OuMrs6wy5ICcd3Pw==",
- "dev": true,
- "requires": {
- "@lerna/check-working-tree": "5.0.0",
- "@lerna/child-process": "5.0.0",
- "@lerna/collect-updates": "5.0.0",
- "@lerna/command": "5.0.0",
- "@lerna/conventional-commits": "5.0.0",
- "@lerna/github-client": "5.0.0",
- "@lerna/gitlab-client": "5.0.0",
- "@lerna/output": "5.0.0",
- "@lerna/prerelease-id-from-version": "5.0.0",
- "@lerna/prompt": "5.0.0",
- "@lerna/run-lifecycle": "5.0.0",
- "@lerna/run-topologically": "5.0.0",
- "@lerna/temp-write": "5.0.0",
- "@lerna/validation-error": "5.0.0",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/version/-/version-5.1.4.tgz",
+ "integrity": "sha512-cYgm1SNdiK129JoWI8WMwjsxaIyeAC1gCaToWk36Tw+BCF3PbkdoTKdneDmJ+7qbX1QrzxsgHTcjwIt4lZPEqQ==",
+ "dev": true,
+ "requires": {
+ "@lerna/check-working-tree": "5.1.4",
+ "@lerna/child-process": "5.1.4",
+ "@lerna/collect-updates": "5.1.4",
+ "@lerna/command": "5.1.4",
+ "@lerna/conventional-commits": "5.1.4",
+ "@lerna/github-client": "5.1.4",
+ "@lerna/gitlab-client": "5.1.4",
+ "@lerna/output": "5.1.4",
+ "@lerna/prerelease-id-from-version": "5.1.4",
+ "@lerna/prompt": "5.1.4",
+ "@lerna/run-lifecycle": "5.1.4",
+ "@lerna/run-topologically": "5.1.4",
+ "@lerna/temp-write": "5.1.4",
+ "@lerna/validation-error": "5.1.4",
"chalk": "^4.1.0",
"dedent": "^0.7.0",
"load-json-file": "^6.2.0",
"minimatch": "^3.0.4",
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"p-map": "^4.0.0",
"p-pipe": "^3.1.0",
"p-reduce": "^2.1.0",
@@ -19890,15 +20299,69 @@
}
},
"@lerna/write-log-file": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-5.0.0.tgz",
- "integrity": "sha512-kpPNxe9xm36QbCWY7DwO96Na6FpCHzZinJtw6ttBHslIcdR38lZuCp+/2KfJcVsRIPNOsp1VvgP7EZIKiBhgjw==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-5.1.4.tgz",
+ "integrity": "sha512-ISJbkjaSKhJ4d7V90RFvuwDQFq9ZH/KN475KFJr+TBFZTwMiXuBahlq+j8/a+nItejNnuPD4/xlWuzCOuGJORQ==",
"dev": true,
"requires": {
- "npmlog": "^4.1.2",
+ "npmlog": "^6.0.2",
"write-file-atomic": "^3.0.3"
}
},
+ "@mapbox/node-pre-gyp": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz",
+ "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==",
+ "requires": {
+ "detect-libc": "^2.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.7",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ },
+ "dependencies": {
+ "are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ }
+ },
+ "gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "requires": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ }
+ },
+ "npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "requires": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ }
+ }
+ },
"@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -19973,16 +20436,6 @@
"integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
"dev": true
},
- "are-we-there-yet": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz",
- "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==",
- "dev": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- }
- },
"builtins": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
@@ -19992,22 +20445,6 @@
"semver": "^7.0.0"
}
},
- "gauge": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
- "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
- "dev": true,
- "requires": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- }
- },
"hosted-git-info": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz",
@@ -20028,16 +20465,10 @@
"debug": "4"
}
},
- "lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true
- },
"make-fetch-happen": {
- "version": "10.1.7",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz",
- "integrity": "sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q==",
+ "version": "10.1.8",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.8.tgz",
+ "integrity": "sha512-0ASJbG12Au6+N5I84W+8FhGS6iM8MyzvZady+zaQAu+6IOaESFzCLLD0AR1sAFF3Jufi8bxm586ABN6hWd3k7g==",
"dev": true,
"requires": {
"agentkeepalive": "^4.2.1",
@@ -20096,18 +20527,6 @@
"proc-log": "^2.0.0"
}
},
- "npmlog": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
- "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
- "dev": true,
- "requires": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.0.0"
- }
- },
"socks-proxy-agent": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
@@ -20170,14 +20589,6 @@
"promise-retry": "^2.0.1",
"semver": "^7.3.5",
"which": "^2.0.2"
- },
- "dependencies": {
- "lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true
- }
}
},
"@npmcli/installed-package-contents": {
@@ -20211,19 +20622,6 @@
"balanced-match": "^1.0.0"
}
},
- "glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- }
- },
"minimatch": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
@@ -20346,9 +20744,9 @@
}
},
"@octokit/openapi-types": {
- "version": "11.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz",
- "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==",
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.4.0.tgz",
+ "integrity": "sha512-Npcb7Pv30b33U04jvcD7l75yLU0mxhuX2Xqrn51YyZ5WTkF04bpbxLaZ6GcaTqu03WZQHoO/Gbfp95NGRueDUA==",
"dev": true
},
"@octokit/plugin-enterprise-rest": {
@@ -20358,12 +20756,12 @@
"dev": true
},
"@octokit/plugin-paginate-rest": {
- "version": "2.17.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz",
- "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==",
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.19.0.tgz",
+ "integrity": "sha512-hQ4Qysg2hNmEMuZeJkvyzM4eSZiTifOKqYAMsW8FnxFKowhuwWICSgBQ9Gn9GpUmgKB7qaf1hFvMjYaTAg5jQA==",
"dev": true,
"requires": {
- "@octokit/types": "^6.34.0"
+ "@octokit/types": "^6.36.0"
}
},
"@octokit/plugin-request-log": {
@@ -20374,12 +20772,12 @@
"requires": {}
},
"@octokit/plugin-rest-endpoint-methods": {
- "version": "5.13.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz",
- "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==",
+ "version": "5.15.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.15.0.tgz",
+ "integrity": "sha512-Gsw9+Xm56jVhfbJoy4pt6eOOyf8/3K6CAnx1Sl7U2GhZWcg8MR6YgXWnpfdF69S2ViMXLA7nfvTDAsZpFlkLRw==",
"dev": true,
"requires": {
- "@octokit/types": "^6.34.0",
+ "@octokit/types": "^6.36.0",
"deprecation": "^2.3.1"
}
},
@@ -20421,12 +20819,12 @@
}
},
"@octokit/types": {
- "version": "6.34.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz",
- "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==",
+ "version": "6.37.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.37.0.tgz",
+ "integrity": "sha512-BXWQhFKRkjX4dVW5L2oYa0hzWOAqsEsujXsQLSdepPoDZfYdubrD1KDGpyNldGXtR8QM/WezDcxcIN1UKJMGPA==",
"dev": true,
"requires": {
- "@octokit/openapi-types": "^11.2.0"
+ "@octokit/openapi-types": "^12.4.0"
}
},
"@sindresorhus/is": {
@@ -20453,27 +20851,27 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true
+ "devOptional": true
},
"@tsconfig/node10": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
- "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg=="
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz",
+ "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA=="
},
"@tsconfig/node12": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
- "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw=="
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag=="
},
"@tsconfig/node14": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
- "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg=="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow=="
},
"@tsconfig/node16": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
- "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA=="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
+ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ=="
},
"@types/accepts": {
"version": "1.3.5",
@@ -20560,9 +20958,9 @@
"integrity": "sha512-iO2Q6xQOJ5DtOB6wJ2KIetFq9JRTbpzcKTe2aS6CCsa+W9KNWX2yXx9KeB5sY/nBfAWN43LkPg6SFB+ldsW9ZA=="
},
"@types/eslint": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz",
- "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==",
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.3.tgz",
+ "integrity": "sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw==",
"requires": {
"@types/estree": "*",
"@types/json-schema": "*"
@@ -20594,9 +20992,9 @@
}
},
"@types/express-serve-static-core": {
- "version": "4.17.28",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz",
- "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==",
+ "version": "4.17.29",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz",
+ "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==",
"requires": {
"@types/node": "*",
"@types/qs": "*",
@@ -20621,6 +21019,15 @@
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.2.tgz",
"integrity": "sha512-EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w=="
},
+ "@types/inquirer": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.1.tgz",
+ "integrity": "sha512-wKW3SKIUMmltbykg4I5JzCVzUhkuD9trD6efAmYgN2MrSntY0SMRQzEnD3mkyJ/rv9NLbTC7g3hKKE86YwEDLw==",
+ "requires": {
+ "@types/through": "*",
+ "rxjs": "^7.2.0"
+ }
+ },
"@types/istanbul-lib-coverage": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
@@ -20720,14 +21127,14 @@
}
},
"@types/node": {
- "version": "17.0.40",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.40.tgz",
- "integrity": "sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg=="
+ "version": "17.0.45",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
+ "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw=="
},
"@types/node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==",
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz",
+ "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==",
"requires": {
"@types/node": "*",
"form-data": "^3.0.0"
@@ -20745,6 +21152,11 @@
"integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
"dev": true
},
+ "@types/prettier": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz",
+ "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg=="
+ },
"@types/qs": {
"version": "6.9.7",
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
@@ -20773,6 +21185,14 @@
"@types/node": "*"
}
},
+ "@types/through": {
+ "version": "0.0.30",
+ "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz",
+ "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==",
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"@types/tmp": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.3.tgz",
@@ -20797,15 +21217,28 @@
"@types/webidl-conversions": "*"
}
},
+ "@types/yargs": {
+ "version": "17.0.10",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz",
+ "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==",
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "@types/yargs-parser": {
+ "version": "21.0.0",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz",
+ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA=="
+ },
"@typescript-eslint/eslint-plugin": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.1.tgz",
- "integrity": "sha512-6dM5NKT57ZduNnJfpY81Phe9nc9wolnMCnknb1im6brWi1RYv84nbMS3olJa27B6+irUVV1X/Wb+Am0FjJdGFw==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz",
+ "integrity": "sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==",
"dev": true,
"requires": {
- "@typescript-eslint/scope-manager": "5.27.1",
- "@typescript-eslint/type-utils": "5.27.1",
- "@typescript-eslint/utils": "5.27.1",
+ "@typescript-eslint/scope-manager": "5.29.0",
+ "@typescript-eslint/type-utils": "5.29.0",
+ "@typescript-eslint/utils": "5.29.0",
"debug": "^4.3.4",
"functional-red-black-tree": "^1.0.1",
"ignore": "^5.2.0",
@@ -20815,52 +21248,52 @@
}
},
"@typescript-eslint/parser": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.1.tgz",
- "integrity": "sha512-7Va2ZOkHi5NP+AZwb5ReLgNF6nWLGTeUJfxdkVUAPPSaAdbWNnFZzLZ4EGGmmiCTg+AwlbE1KyUYTBglosSLHQ==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.29.0.tgz",
+ "integrity": "sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==",
"dev": true,
"requires": {
- "@typescript-eslint/scope-manager": "5.27.1",
- "@typescript-eslint/types": "5.27.1",
- "@typescript-eslint/typescript-estree": "5.27.1",
+ "@typescript-eslint/scope-manager": "5.29.0",
+ "@typescript-eslint/types": "5.29.0",
+ "@typescript-eslint/typescript-estree": "5.29.0",
"debug": "^4.3.4"
}
},
"@typescript-eslint/scope-manager": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.1.tgz",
- "integrity": "sha512-fQEOSa/QroWE6fAEg+bJxtRZJTH8NTskggybogHt4H9Da8zd4cJji76gA5SBlR0MgtwF7rebxTbDKB49YUCpAg==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz",
+ "integrity": "sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.27.1",
- "@typescript-eslint/visitor-keys": "5.27.1"
+ "@typescript-eslint/types": "5.29.0",
+ "@typescript-eslint/visitor-keys": "5.29.0"
}
},
"@typescript-eslint/type-utils": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.27.1.tgz",
- "integrity": "sha512-+UC1vVUWaDHRnC2cQrCJ4QtVjpjjCgjNFpg8b03nERmkHv9JV9X5M19D7UFMd+/G7T/sgFwX2pGmWK38rqyvXw==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz",
+ "integrity": "sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==",
"dev": true,
"requires": {
- "@typescript-eslint/utils": "5.27.1",
+ "@typescript-eslint/utils": "5.29.0",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/types": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.1.tgz",
- "integrity": "sha512-LgogNVkBhCTZU/m8XgEYIWICD6m4dmEDbKXESCbqOXfKZxRKeqpiJXQIErv66sdopRKZPo5l32ymNqibYEH/xg==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.29.0.tgz",
+ "integrity": "sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.1.tgz",
- "integrity": "sha512-DnZvvq3TAJ5ke+hk0LklvxwYsnXpRdqUY5gaVS0D4raKtbznPz71UJGnPTHEFo0GDxqLOLdMkkmVZjSpET1hFw==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz",
+ "integrity": "sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.27.1",
- "@typescript-eslint/visitor-keys": "5.27.1",
+ "@typescript-eslint/types": "5.29.0",
+ "@typescript-eslint/visitor-keys": "5.29.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -20869,26 +21302,26 @@
}
},
"@typescript-eslint/utils": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.1.tgz",
- "integrity": "sha512-mZ9WEn1ZLDaVrhRaYgzbkXBkTPghPFsup8zDbbsYTxC5OmqrFE7skkKS/sraVsLP3TcT3Ki5CSyEFBRkLH/H/w==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.29.0.tgz",
+ "integrity": "sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.9",
- "@typescript-eslint/scope-manager": "5.27.1",
- "@typescript-eslint/types": "5.27.1",
- "@typescript-eslint/typescript-estree": "5.27.1",
+ "@typescript-eslint/scope-manager": "5.29.0",
+ "@typescript-eslint/types": "5.29.0",
+ "@typescript-eslint/typescript-estree": "5.29.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
}
},
"@typescript-eslint/visitor-keys": {
- "version": "5.27.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.1.tgz",
- "integrity": "sha512-xYs6ffo01nhdJgPieyk7HAOpjhTsx7r/oB9LWEhwAXgwn33tkr+W8DI2ChboqhZlC4q3TC6geDYPoiX8ROqyOQ==",
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz",
+ "integrity": "sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.27.1",
+ "@typescript-eslint/types": "5.29.0",
"eslint-visitor-keys": "^3.3.0"
}
},
@@ -21029,23 +21462,23 @@
}
},
"@webpack-cli/configtest": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz",
- "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
+ "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
"requires": {}
},
"@webpack-cli/info": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz",
- "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
+ "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
"requires": {
"envinfo": "^7.7.3"
}
},
"@webpack-cli/serve": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz",
- "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
+ "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
"requires": {}
},
"@xtuc/ieee754": {
@@ -21061,8 +21494,7 @@
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "dev": true
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
"accepts": {
"version": "1.3.8",
@@ -21113,7 +21545,7 @@
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
"integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
- "dev": true,
+ "devOptional": true,
"requires": {
"debug": "^4.1.0",
"depd": "^1.1.2",
@@ -21124,7 +21556,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
"integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "dev": true,
+ "devOptional": true,
"requires": {
"clean-stack": "^2.0.0",
"indent-string": "^4.0.0"
@@ -21187,7 +21619,6 @@
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "dev": true,
"requires": {
"type-fest": "^0.21.3"
},
@@ -21195,8 +21626,7 @@
"type-fest": {
"version": "0.21.3",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "dev": true
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="
}
}
},
@@ -21235,49 +21665,16 @@
"aproba": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
- "dev": true
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
},
"are-we-there-yet": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
- "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
- "dev": true,
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz",
+ "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==",
+ "devOptional": true,
"requires": {
"delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "readable-stream": "^3.6.0"
}
},
"arg": {
@@ -21375,7 +21772,7 @@
"util": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==",
"requires": {
"inherits": "2.0.1"
}
@@ -21388,9 +21785,9 @@
"integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw=="
},
"async": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
- "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
},
"async-limiter": {
"version": "1.0.1",
@@ -21489,7 +21886,7 @@
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -21497,7 +21894,7 @@
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g=="
}
}
},
@@ -21548,12 +21945,12 @@
"slash": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+ "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg=="
},
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
}
}
},
@@ -21588,7 +21985,7 @@
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
}
}
},
@@ -21919,7 +22316,7 @@
"read-pkg": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==",
"requires": {
"load-json-file": "^1.0.0",
"normalize-package-data": "^2.3.2",
@@ -21929,7 +22326,7 @@
"read-pkg-up": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==",
"requires": {
"find-up": "^1.0.0",
"read-pkg": "^1.0.0"
@@ -21962,7 +22359,7 @@
"strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
"requires": {
"is-utf8": "^0.2.0"
}
@@ -22265,7 +22662,7 @@
"regexpu-core": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
- "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==",
"requires": {
"regenerate": "^1.2.1",
"regjsgen": "^0.2.0",
@@ -22275,12 +22672,12 @@
"regjsgen": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
+ "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g=="
},
"regjsparser": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==",
"requires": {
"jsesc": "~0.5.0"
}
@@ -22414,7 +22811,7 @@
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
},
"source-map-support": {
"version": "0.4.18",
@@ -22504,7 +22901,7 @@
"to-fast-properties": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+ "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og=="
}
}
},
@@ -22606,7 +23003,7 @@
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -22617,7 +23014,7 @@
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
}
}
},
@@ -22668,6 +23065,14 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
}
}
},
@@ -22692,6 +23097,12 @@
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true
+ },
+ "type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true
}
}
},
@@ -22729,14 +23140,14 @@
"integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
},
"browserslist": {
- "version": "4.20.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
- "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
+ "version": "4.20.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz",
+ "integrity": "sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==",
"requires": {
- "caniuse-lite": "^1.0.30001332",
- "electron-to-chromium": "^1.4.118",
+ "caniuse-lite": "^1.0.30001349",
+ "electron-to-chromium": "^1.4.147",
"escalade": "^3.1.1",
- "node-releases": "^2.0.3",
+ "node-releases": "^2.0.5",
"picocolors": "^1.0.0"
}
},
@@ -22835,43 +23246,6 @@
"unique-filename": "^1.1.1"
},
"dependencies": {
- "brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0"
- }
- },
- "glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- }
- },
- "lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true
- },
- "minimatch": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
- "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
- "dev": true,
- "requires": {
- "brace-expansion": "^2.0.1"
- }
- },
"ssri": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
@@ -22962,9 +23336,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001346",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001346.tgz",
- "integrity": "sha512-q6ibZUO2t88QCIPayP/euuDREq+aMAxFE5S70PkrLh0iTDj/zEhgvJRKC2+CvXY6EWc6oQwUR48lL5vCW6jiXQ=="
+ "version": "1.0.30001357",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001357.tgz",
+ "integrity": "sha512-b+KbWHdHePp+ZpNj+RDHFChZmuN+J5EvuQUlee9jOQIUAdhv9uvAZeEtUeLAknXbkiu1uxjQ9NLp1ie894CuWg=="
},
"center-align": {
"version": "0.1.3",
@@ -23002,8 +23376,7 @@
"chardet": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
- "dev": true
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
},
"chokidar": {
"version": "3.5.3",
@@ -23033,8 +23406,7 @@
"chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
- "dev": true
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
},
"chrome-trace-event": {
"version": "1.0.3",
@@ -23057,7 +23429,7 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "dev": true
+ "devOptional": true
},
"cli-boxes": {
"version": "2.2.1",
@@ -23069,11 +23441,15 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
"integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
- "dev": true,
"requires": {
"restore-cursor": "^3.1.0"
}
},
+ "cli-spinners": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
+ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g=="
+ },
"cli-table": {
"version": "0.3.11",
"resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz",
@@ -23086,8 +23462,7 @@
"cli-width": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
- "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
- "dev": true
+ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw=="
},
"cliui": {
"version": "7.0.4",
@@ -23102,8 +23477,7 @@
"clone": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
- "dev": true
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="
},
"clone-deep": {
"version": "4.0.1",
@@ -23159,12 +23533,6 @@
"type-is": "^1.6.16"
}
},
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==",
- "dev": true
- },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -23181,13 +23549,12 @@
"color-support": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
- "dev": true
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
},
"colorette": {
- "version": "2.0.17",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz",
- "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g=="
+ "version": "2.0.16",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz",
+ "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g=="
},
"colors": {
"version": "1.0.3",
@@ -23216,8 +23583,7 @@
"commander": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz",
- "integrity": "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==",
- "dev": true
+ "integrity": "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw=="
},
"common-ancestor-path": {
"version": "1.0.1",
@@ -23327,8 +23693,7 @@
"console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
- "dev": true
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
},
"content-disposition": {
"version": "0.5.4",
@@ -23503,11 +23868,11 @@
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
},
"core-js-compat": {
- "version": "3.22.8",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.8.tgz",
- "integrity": "sha512-pQnwg4xtuvc2Bs/5zYQPaEYYSuTxsF7LBWF0SvnVhthZo/Qe+rJpcEekrdNK5DWwDJ0gv0oI9NNX5Mppdy0ctg==",
+ "version": "3.23.2",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.2.tgz",
+ "integrity": "sha512-lrgZvxFwbQp9v7E8mX0rJ+JX7Bvh4eGULZXA1IAyjlsnWvCdw6TF8Tg6xtaSUSJMrSrMaLdpmk+V54LM1dvfOA==",
"requires": {
- "browserslist": "^4.20.3",
+ "browserslist": "^4.20.4",
"semver": "7.0.0"
},
"dependencies": {
@@ -23519,9 +23884,9 @@
}
},
"core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"cors": {
"version": "2.8.5",
@@ -23647,7 +24012,7 @@
"type-detect": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
- "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI="
+ "integrity": "sha512-5rqszGVwYgBoDkIm2oUtvkfZMQ0vk29iDMU0W2qCa3rG0vPDNczCMT4hV/bLBgLg8k8ri6+u3Zbt+S/14eMzlA=="
}
}
},
@@ -23671,7 +24036,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==",
- "dev": true,
"requires": {
"clone": "^1.0.2"
}
@@ -23730,7 +24094,7 @@
"resolve-from": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
- "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY="
+ "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg=="
}
}
},
@@ -23745,6 +24109,11 @@
"integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
"dev": true
},
+ "detect-libc": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+ "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w=="
+ },
"dezalgo": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
@@ -23786,7 +24155,7 @@
"readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -23797,7 +24166,7 @@
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+ "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
}
}
},
@@ -23845,9 +24214,9 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"electron-to-chromium": {
- "version": "1.4.146",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.146.tgz",
- "integrity": "sha512-4eWebzDLd+hYLm4csbyMU2EbBnqhwl8Oe9eF/7CBDPWcRxFmqzx4izxvHH+lofQxzieg8UbB8ZuzNTxeukzfTg=="
+ "version": "1.4.163",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.163.tgz",
+ "integrity": "sha512-c9q94pUVqIdc8hyr7jZDB4bNEoNF3QJ7y35lnddMD+mXtiv5GsL1bT/RmfW/KEOmvlNg5Oy1qioiy4tA7e864Q=="
},
"elliptic": {
"version": "6.5.4",
@@ -23975,7 +24344,7 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
- "dev": true
+ "devOptional": true
},
"envinfo": {
"version": "7.8.1",
@@ -23986,7 +24355,7 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
"integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
- "dev": true
+ "devOptional": true
},
"error-ex": {
"version": "1.3.2",
@@ -23997,9 +24366,9 @@
}
},
"error-stack-parser": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.3.tgz",
- "integrity": "sha512-F9KypcaAvLzI4yXneZzOvzZoqakhbjuAGFK0aLy33tYaDqdu6v+lzrN/TTG/mM48Op624zZZ2RpXRx3wA0+zmg==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
+ "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
"requires": {
"stackframe": "^1.3.4"
}
@@ -24085,7 +24454,7 @@
"type-check": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
"requires": {
"prelude-ls": "~1.1.2"
}
@@ -24093,9 +24462,9 @@
}
},
"eslint": {
- "version": "8.17.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz",
- "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz",
+ "integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==",
"dev": true,
"requires": {
"@eslint/eslintrc": "^1.3.0",
@@ -24219,6 +24588,11 @@
"integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
"dev": true
},
+ "esm": {
+ "version": "3.2.25",
+ "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
+ "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="
+ },
"espree": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz",
@@ -24305,6 +24679,7 @@
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
"requires": {
"cross-spawn": "^7.0.3",
"get-stream": "^6.0.0",
@@ -24426,6 +24801,14 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
}
}
},
@@ -24478,7 +24861,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
"integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
- "dev": true,
"requires": {
"chardet": "^0.7.0",
"iconv-lite": "^0.4.24",
@@ -24654,7 +25036,6 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
"integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
- "dev": true,
"requires": {
"escape-string-regexp": "^1.0.5"
},
@@ -24662,8 +25043,7 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
}
}
},
@@ -24866,7 +25246,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
"integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "dev": true,
"requires": {
"minipass": "^3.0.0"
}
@@ -24902,62 +25281,19 @@
"dev": true
},
"gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==",
- "dev": true,
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+ "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
+ "devOptional": true,
"requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true
- },
- "aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.3",
+ "console-control-strings": "^1.1.0",
+ "has-unicode": "^2.0.1",
+ "signal-exit": "^3.0.7",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.5"
}
},
"gensync": {
@@ -24971,15 +25307,20 @@
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
},
"get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
+ "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
- "has-symbols": "^1.0.1"
+ "has-symbols": "^1.0.3"
}
},
+ "get-package-type": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q=="
+ },
"get-pkg-repo": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz",
@@ -25048,7 +25389,13 @@
"get-stream": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true
+ },
+ "getopts": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz",
+ "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA=="
},
"git-raw-commits": {
"version": "2.0.11",
@@ -25128,16 +25475,36 @@
}
},
"glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
}
},
"glob-base": {
@@ -25210,6 +25577,14 @@
"dev": true,
"requires": {
"type-fest": "^0.20.2"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true
+ }
}
},
"globby": {
@@ -25370,8 +25745,7 @@
"has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
- "dev": true
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
},
"has-yarn": {
"version": "2.1.0",
@@ -25426,6 +25800,17 @@
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ }
}
},
"html-escaper": {
@@ -25467,7 +25852,7 @@
"statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="
}
}
},
@@ -25475,7 +25860,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
"integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
- "dev": true
+ "devOptional": true
},
"http-errors": {
"version": "2.0.0",
@@ -25500,7 +25885,7 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
"integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
+ "devOptional": true,
"requires": {
"@tootallnate/once": "1",
"agent-base": "6",
@@ -25519,13 +25904,14 @@
"human-signals": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true
},
"humanize-ms": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
"integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
- "dev": true,
+ "devOptional": true,
"requires": {
"ms": "^2.0.0"
}
@@ -25591,19 +25977,19 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true
+ "devOptional": true
},
"indent-string": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true
+ "devOptional": true
},
"infer-owner": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
"integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
- "dev": true
+ "devOptional": true
},
"inflation": {
"version": "2.0.0",
@@ -25645,6 +26031,20 @@
"validate-npm-package-name": "^3.0.0"
},
"dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
"read-package-json": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.2.tgz",
@@ -25692,9 +26092,9 @@
}
},
"interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
+ "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw=="
},
"invariant": {
"version": "2.2.4",
@@ -25817,11 +26217,16 @@
"is-path-inside": "^3.0.2"
}
},
+ "is-interactive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
+ },
"is-lambda": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
"integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
- "dev": true
+ "devOptional": true
},
"is-npm": {
"version": "5.0.0",
@@ -25888,7 +26293,8 @@
"is-stream": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true
},
"is-text-path": {
"version": "1.0.1",
@@ -26267,6 +26673,34 @@
"integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
"dev": true
},
+ "knex": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/knex/-/knex-2.1.0.tgz",
+ "integrity": "sha512-vVsnD6UJdSJy55TvCXfFF9syfwyXNxfE9mvr2hJL/4Obciy2EPGoqjDpgRSlMruHuPWDOeYAG25nyrGvU+jJog==",
+ "requires": {
+ "colorette": "2.0.16",
+ "commander": "^9.1.0",
+ "debug": "4.3.4",
+ "escalade": "^3.1.1",
+ "esm": "^3.2.25",
+ "get-package-type": "^0.1.0",
+ "getopts": "2.3.0",
+ "interpret": "^2.2.0",
+ "lodash": "^4.17.21",
+ "pg-connection-string": "2.5.0",
+ "rechoir": "^0.8.0",
+ "resolve-from": "^5.0.0",
+ "tarn": "^3.0.2",
+ "tildify": "2.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="
+ }
+ }
+ },
"koa": {
"version": "2.13.4",
"resolved": "https://registry.npmjs.org/koa/-/koa-2.13.4.tgz",
@@ -26324,7 +26758,7 @@
"statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="
}
}
},
@@ -26426,6 +26860,19 @@
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
"integrity": "sha512-akx5WBKAwMSg36qoHTuMMVncHWctlaDGslJASDYAhoLrzDUDCjZlOngNa/iC6lPm9aA0qk8pN5KnpmbJHSIIQQ=="
},
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
"http-errors": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
@@ -26469,12 +26916,12 @@
"resolve-from": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
- "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY="
+ "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg=="
},
"send": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz",
- "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=",
+ "integrity": "sha512-cQ0rmXHrdO2Iof08igV2bG/yXWD106ANwBg6DkGQNT2Vsznbgq6T0oAIQboy1GoFsIuy51jCim26aA9tj3Z3Zg==",
"requires": {
"debug": "~2.2.0",
"depd": "~1.1.0",
@@ -26493,12 +26940,12 @@
"statuses": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz",
- "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg="
+ "integrity": "sha512-pVEuxHdSGrt8QmQ3LOZXLhSA6MP/iPqKzZeO6Squ7PNGkA/9MBsSfV0/L+bIxkoDmjF4tZcLpcVq/fkqoHvuKg=="
},
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="
}
}
},
@@ -26516,7 +26963,7 @@
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="
}
}
},
@@ -26592,12 +27039,12 @@
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
},
"uglify-js": {
"version": "2.8.29",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==",
"requires": {
"source-map": "~0.5.1",
"uglify-to-browserify": "~1.0.0",
@@ -26607,12 +27054,12 @@
"wordwrap": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
+ "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q=="
},
"yargs": {
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==",
"requires": {
"camelcase": "^1.0.2",
"cliui": "^2.1.0",
@@ -26723,7 +27170,7 @@
"resolve-from": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
- "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
+ "integrity": "sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ=="
}
}
},
@@ -26742,29 +27189,29 @@
"integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ=="
},
"lerna": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/lerna/-/lerna-5.0.0.tgz",
- "integrity": "sha512-dUYmJ7H9k/xHtwKpQWLTNUa1jnFUiW4o4K2LFkRchlIijoIUT4yK/RprIxNvYCrLrEaOdZryvY5UZvSHI2tBxA==",
- "dev": true,
- "requires": {
- "@lerna/add": "5.0.0",
- "@lerna/bootstrap": "5.0.0",
- "@lerna/changed": "5.0.0",
- "@lerna/clean": "5.0.0",
- "@lerna/cli": "5.0.0",
- "@lerna/create": "5.0.0",
- "@lerna/diff": "5.0.0",
- "@lerna/exec": "5.0.0",
- "@lerna/import": "5.0.0",
- "@lerna/info": "5.0.0",
- "@lerna/init": "5.0.0",
- "@lerna/link": "5.0.0",
- "@lerna/list": "5.0.0",
- "@lerna/publish": "5.0.0",
- "@lerna/run": "5.0.0",
- "@lerna/version": "5.0.0",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/lerna/-/lerna-5.1.4.tgz",
+ "integrity": "sha512-WwSbMslPxWSV7ARsGzkhJAFC1uQcuNGgiy2vZho4bpXVC+A7ZLXy8FngDbcAn7hCGC3ZDnl/4jdY6d84j63Y4g==",
+ "dev": true,
+ "requires": {
+ "@lerna/add": "5.1.4",
+ "@lerna/bootstrap": "5.1.4",
+ "@lerna/changed": "5.1.4",
+ "@lerna/clean": "5.1.4",
+ "@lerna/cli": "5.1.4",
+ "@lerna/create": "5.1.4",
+ "@lerna/diff": "5.1.4",
+ "@lerna/exec": "5.1.4",
+ "@lerna/import": "5.1.4",
+ "@lerna/info": "5.1.4",
+ "@lerna/init": "5.1.4",
+ "@lerna/link": "5.1.4",
+ "@lerna/list": "5.1.4",
+ "@lerna/publish": "5.1.4",
+ "@lerna/run": "5.1.4",
+ "@lerna/version": "5.1.4",
"import-local": "^3.0.2",
- "npmlog": "^4.1.2"
+ "npmlog": "^6.0.2"
}
},
"levn": {
@@ -26922,12 +27369,6 @@
"resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
"integrity": "sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ=="
},
- "lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==",
- "dev": true
- },
"lodash.create": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
@@ -27010,25 +27451,6 @@
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
},
- "lodash.template": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
- "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "^3.0.0",
- "lodash.templatesettings": "^4.0.0"
- }
- },
- "lodash.templatesettings": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
- "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "^3.0.0"
- }
- },
"log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -27063,12 +27485,10 @@
"dev": true
},
"lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "requires": {
- "yallist": "^4.0.0"
- }
+ "version": "7.10.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
+ "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
+ "dev": true
},
"make-dir": {
"version": "3.1.0",
@@ -27094,7 +27514,7 @@
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
"integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
- "dev": true,
+ "devOptional": true,
"requires": {
"agentkeepalive": "^4.1.3",
"cacache": "^15.2.0",
@@ -27118,7 +27538,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
"integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
- "dev": true,
+ "devOptional": true,
"requires": {
"@gar/promisify": "^1.0.1",
"semver": "^7.3.5"
@@ -27128,7 +27548,7 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
"integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
- "dev": true,
+ "devOptional": true,
"requires": {
"mkdirp": "^1.0.4",
"rimraf": "^3.0.2"
@@ -27138,7 +27558,7 @@
"version": "15.3.0",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
"integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
- "dev": true,
+ "devOptional": true,
"requires": {
"@npmcli/fs": "^1.0.0",
"@npmcli/move-file": "^1.0.1",
@@ -27159,6 +27579,29 @@
"tar": "^6.0.2",
"unique-filename": "^1.1.1"
}
+ },
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "devOptional": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "devOptional": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
}
}
},
@@ -27230,12 +27673,12 @@
"resolve-from": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
- "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
+ "integrity": "sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ=="
},
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="
}
}
},
@@ -27489,10 +27932,9 @@
}
},
"minipass": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
- "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
- "dev": true,
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.3.tgz",
+ "integrity": "sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA==",
"requires": {
"yallist": "^4.0.0"
}
@@ -27501,7 +27943,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
"integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
- "dev": true,
+ "devOptional": true,
"requires": {
"minipass": "^3.0.0"
}
@@ -27510,7 +27952,7 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
"integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
- "dev": true,
+ "devOptional": true,
"requires": {
"encoding": "^0.1.12",
"minipass": "^3.1.0",
@@ -27522,7 +27964,7 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
"integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
- "dev": true,
+ "devOptional": true,
"requires": {
"minipass": "^3.0.0"
}
@@ -27541,7 +27983,7 @@
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
"integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
- "dev": true,
+ "devOptional": true,
"requires": {
"minipass": "^3.0.0"
}
@@ -27550,7 +27992,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
"integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
- "dev": true,
+ "devOptional": true,
"requires": {
"minipass": "^3.0.0"
}
@@ -27559,7 +28001,6 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
"integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
- "dev": true,
"requires": {
"minipass": "^3.0.0",
"yallist": "^4.0.0"
@@ -27568,8 +28009,7 @@
"mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
},
"mkdirp-infer-owner": {
"version": "2.0.0",
@@ -27740,6 +28180,19 @@
"resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
"integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ=="
},
+ "glob": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha512-mRyN/EsN2SyNhKWykF3eEGhDpeNplMWaW18Bmh76tnOqk5TbELAVwFAYOCmKVssOYFrYvvLMguiA+NXO3ZTuVA==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.2",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
"has-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
@@ -27780,21 +28233,6 @@
"lodash.create": "3.1.1",
"mkdirp": "0.5.1",
"supports-color": "3.1.2"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
- "integrity": "sha512-mRyN/EsN2SyNhKWykF3eEGhDpeNplMWaW18Bmh76tnOqk5TbELAVwFAYOCmKVssOYFrYvvLMguiA+NXO3ZTuVA==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.2",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- }
}
},
"ms": {
@@ -27822,6 +28260,21 @@
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
"requires": {
"glob": "^7.1.3"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
}
},
"safe-buffer": {
@@ -27872,7 +28325,7 @@
"supports-color": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
- "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
+ "integrity": "sha512-F8dvPrZJtNzvDRX26eNXT4a7AecAvTGljmmnI39xEgSpbHKhQ7N0dO/NTxUExd0wuLHp4zbwYY7lvHq0aKpwrA==",
"requires": {
"has-flag": "^1.0.0"
}
@@ -27891,9 +28344,9 @@
"dev": true
},
"mongodb": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.6.0.tgz",
- "integrity": "sha512-1gsxVXmjFTPJ+CkMG9olE4bcVsyY8lBJN9m5B5vj+LZ7wkBqq3PO8RVmNX9GwCBOBz1KV0zM00vPviUearSv7A==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.7.0.tgz",
+ "integrity": "sha512-HhVar6hsUeMAVlIbwQwWtV36iyjKd9qdhY+s4wcU8K6TOj4Q331iiMy+FoPuxEntDIijTYWivwFJkLv8q/ZgvA==",
"requires": {
"bson": "^4.6.3",
"denque": "^2.0.1",
@@ -27936,11 +28389,11 @@
}
},
"mongodb-memory-server": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/mongodb-memory-server/-/mongodb-memory-server-8.6.0.tgz",
- "integrity": "sha512-4I3qpIN3Ls5Vs8CPIl7SiT/rQUYmpgP27csDqgkSY7fu09mEqT3ieIC7cRhgx8wuRKr3rTotKMP4G1+Qw7+9Kw==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/mongodb-memory-server/-/mongodb-memory-server-8.7.0.tgz",
+ "integrity": "sha512-xn8RvdqeNfqLsv7LQIFy/VyDLE3AzylddcMGpQzZnVdHVuHEA09m+uGWplU4CkduGyvZTCFP9cbj+kFSX79BDA==",
"requires": {
- "mongodb-memory-server-core": "8.6.0",
+ "mongodb-memory-server-core": "8.7.0",
"tslib": "^2.4.0"
},
"dependencies": {
@@ -27952,9 +28405,9 @@
}
},
"mongodb-memory-server-core": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/mongodb-memory-server-core/-/mongodb-memory-server-core-8.6.0.tgz",
- "integrity": "sha512-vuJfoK1TUPKwmspRxvkMUod34BInHmWF6li3nXlQ9bvaA2Xg4p3GsTkplyuwTBkLgeLL9AwIU0rk3CDwKpym1w==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/mongodb-memory-server-core/-/mongodb-memory-server-core-8.7.0.tgz",
+ "integrity": "sha512-dYJ+u9ZP4koCcMzxTwAUDxsG92evcJdXt70spMXrRUVQL7PI5Q83yLOHdqKhjevwfzJwyE8pFCGDGU+Qxs/cUA==",
"requires": {
"@types/tmp": "^0.2.3",
"async-mutex": "^0.3.2",
@@ -27964,8 +28417,8 @@
"get-port": "^5.1.1",
"https-proxy-agent": "^5.0.1",
"md5-file": "^5.0.0",
- "mongodb": "^4.5.0",
- "new-find-package-json": "^1.1.0",
+ "mongodb": "^4.7.0",
+ "new-find-package-json": "^2.0.0",
"semver": "^7.3.7",
"tar-stream": "^2.1.4",
"tmp": "^0.2.1",
@@ -28023,8 +28476,7 @@
"mute-stream": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
- "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
- "dev": true
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
},
"nanoid": {
"version": "3.3.3",
@@ -28048,21 +28500,18 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
},
"new-find-package-json": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/new-find-package-json/-/new-find-package-json-1.2.0.tgz",
- "integrity": "sha512-Z4v/wBxApGh1cCGEhNmq4p8wjDvM6R6vEuYzlAhzOlXBKLJfjyMvwd+ZHR9fyYKVvXfEn4Z3YX6MD470PxpVbQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/new-find-package-json/-/new-find-package-json-2.0.0.tgz",
+ "integrity": "sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew==",
"requires": {
- "debug": "^4.3.4",
- "tslib": "^2.4.0"
- },
- "dependencies": {
- "tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
- }
+ "debug": "^4.3.4"
}
},
+ "node-addon-api": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
+ "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ=="
+ },
"node-fetch": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
@@ -28074,17 +28523,17 @@
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -28096,7 +28545,7 @@
"version": "8.4.1",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
"integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
- "dev": true,
+ "devOptional": true,
"requires": {
"env-paths": "^2.2.0",
"glob": "^7.1.4",
@@ -28110,42 +28559,18 @@
"which": "^2.0.2"
},
"dependencies": {
- "are-we-there-yet": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz",
- "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==",
- "dev": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- }
- },
- "gauge": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
- "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
- "dev": true,
- "requires": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- }
- },
- "npmlog": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
- "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
- "dev": true,
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "devOptional": true,
"requires": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.0.0"
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
}
}
}
@@ -28159,7 +28584,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
"integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "dev": true,
"requires": {
"abbrev": "1"
}
@@ -28197,9 +28621,9 @@
}
},
"npm-check-updates": {
- "version": "13.1.1",
- "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-13.1.1.tgz",
- "integrity": "sha512-f4gLbUJJh5qvkNvrSG3b05y3ZvyZ4Sl3Uk95DSyCjIWwpwmAwzU9dMCA/Gg2AmIKqkH4ml6X9kxcZsu+tAd94g==",
+ "version": "13.1.5",
+ "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-13.1.5.tgz",
+ "integrity": "sha512-vAVYlrrxJIPH/R5mxMzrNwP33hYflvk7oQqPjPOySCavCFwhXKmfK5sn/rogyebg7cLnECiDxsczGqvTOEBRAA==",
"dev": true,
"requires": {
"chalk": "^4.1.2",
@@ -28250,12 +28674,6 @@
"lru-cache": "^7.5.1"
}
},
- "lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true
- },
"minimatch": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
@@ -28309,6 +28727,22 @@
"ignore-walk": "^3.0.3",
"npm-bundled": "^1.1.1",
"npm-normalize-package-bin": "^1.0.1"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
}
},
"npm-pick-manifest": {
@@ -28341,12 +28775,6 @@
"lru-cache": "^7.5.1"
}
},
- "lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true
- },
"npm-package-arg": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.0.2.tgz",
@@ -28431,6 +28859,29 @@
"unique-filename": "^1.1.1"
}
},
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
"make-fetch-happen": {
"version": "8.0.14",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz",
@@ -28471,28 +28922,23 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
"requires": {
"path-key": "^3.0.0"
}
},
"npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
- "dev": true,
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+ "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+ "devOptional": true,
"requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
+ "are-we-there-yet": "^3.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^4.0.3",
+ "set-blocking": "^2.0.0"
}
},
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==",
- "dev": true
- },
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
@@ -28581,6 +29027,34 @@
"word-wrap": "^1.2.3"
}
},
+ "ora": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
+ "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
+ "requires": {
+ "bl": "^4.1.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "is-unicode-supported": "^0.1.0",
+ "log-symbols": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "dependencies": {
+ "bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "requires": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ }
+ }
+ },
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
@@ -28623,7 +29097,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
"integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "dev": true,
+ "devOptional": true,
"requires": {
"aggregate-error": "^3.0.0"
}
@@ -28752,19 +29226,6 @@
"semver": "^7.0.0"
}
},
- "glob": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
- "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
- }
- },
"hosted-git-info": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz",
@@ -28794,16 +29255,10 @@
"minimatch": "^5.0.1"
}
},
- "lru-cache": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz",
- "integrity": "sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==",
- "dev": true
- },
"make-fetch-happen": {
- "version": "10.1.7",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz",
- "integrity": "sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q==",
+ "version": "10.1.8",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.8.tgz",
+ "integrity": "sha512-0ASJbG12Au6+N5I84W+8FhGS6iM8MyzvZady+zaQAu+6IOaESFzCLLD0AR1sAFF3Jufi8bxm586ABN6hWd3k7g==",
"dev": true,
"requires": {
"agentkeepalive": "^4.2.1",
@@ -29003,9 +29458,9 @@
}
},
"parse-path": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz",
- "integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.4.tgz",
+ "integrity": "sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==",
"dev": true,
"requires": {
"is-ssh": "^1.3.0",
@@ -29072,6 +29527,11 @@
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
},
+ "pg-connection-string": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz",
+ "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ=="
+ },
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -29162,9 +29622,9 @@
"integrity": "sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ=="
},
"prettier": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz",
- "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==",
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
+ "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
"dev": true
},
"prettier-linter-helpers": {
@@ -29218,13 +29678,13 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
"integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
- "dev": true
+ "devOptional": true
},
"promise-retry": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
"integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
- "dev": true,
+ "devOptional": true,
"requires": {
"err-code": "^2.0.2",
"retry": "^0.12.0"
@@ -29335,6 +29795,19 @@
"ms": "2.0.0"
}
},
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
"https-proxy-agent": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
@@ -29380,9 +29853,9 @@
"integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw=="
},
"qs": {
- "version": "6.10.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
- "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "version": "6.10.5",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.5.tgz",
+ "integrity": "sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ==",
"requires": {
"side-channel": "^1.0.4"
}
@@ -29599,7 +30072,7 @@
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
"dev": true
}
}
@@ -29619,7 +30092,7 @@
"read": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
- "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
+ "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==",
"dev": true,
"requires": {
"mute-stream": "~0.0.4"
@@ -29641,6 +30114,22 @@
"json-parse-even-better-errors": "^2.3.0",
"normalize-package-data": "^3.0.0",
"npm-normalize-package-bin": "^1.0.0"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
}
},
"read-package-json-fast": {
@@ -29656,7 +30145,7 @@
"read-pkg": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
"dev": true,
"requires": {
"load-json-file": "^4.0.0",
@@ -29728,7 +30217,7 @@
"strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
"dev": true
}
}
@@ -29736,7 +30225,7 @@
"read-pkg-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
- "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+ "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==",
"dev": true,
"requires": {
"find-up": "^2.0.0",
@@ -29825,11 +30314,11 @@
}
},
"rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
+ "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
"requires": {
- "resolve": "^1.1.6"
+ "resolve": "^1.20.0"
}
},
"redent": {
@@ -29858,7 +30347,7 @@
"regenerator-runtime": {
"version": "0.10.5",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
- "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
+ "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w=="
},
"regenerator-transform": {
"version": "0.15.0",
@@ -29896,12 +30385,12 @@
}
},
"registry-auth-token": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
- "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz",
+ "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==",
"dev": true,
"requires": {
- "rc": "^1.2.8"
+ "rc": "1.2.8"
}
},
"registry-url": {
@@ -29942,7 +30431,7 @@
"remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+ "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw=="
},
"repeat-element": {
"version": "1.1.4",
@@ -29952,12 +30441,12 @@
"repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+ "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w=="
},
"repeating": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==",
"requires": {
"is-finite": "^1.0.0"
}
@@ -29980,7 +30469,7 @@
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
},
"require-from-string": {
"version": "2.0.2",
@@ -29990,14 +30479,14 @@
"require-main-filename": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+ "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug=="
},
"resolve": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
- "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
"requires": {
- "is-core-module": "^2.8.1",
+ "is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
}
@@ -30025,7 +30514,7 @@
"responselike": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
"dev": true,
"requires": {
"lowercase-keys": "^1.0.0"
@@ -30035,7 +30524,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
"integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
- "dev": true,
"requires": {
"onetime": "^5.1.0",
"signal-exit": "^3.0.2"
@@ -30044,8 +30532,8 @@
"retry": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
- "dev": true
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
+ "devOptional": true
},
"reusify": {
"version": "1.0.4",
@@ -30056,7 +30544,7 @@
"right-align": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==",
"requires": {
"align-text": "^0.1.1"
}
@@ -30067,13 +30555,27 @@
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"requires": {
"glob": "^7.1.3"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
}
},
"run-async": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
- "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
- "dev": true
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ=="
},
"run-parallel": {
"version": "1.2.0",
@@ -30168,6 +30670,16 @@
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"requires": {
"lru-cache": "^6.0.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ }
}
},
"semver-diff": {
@@ -30262,8 +30774,7 @@
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
},
"setprototypeof": {
"version": "1.2.0",
@@ -30299,6 +30810,34 @@
"glob": "^7.0.0",
"interpret": "^1.0.0",
"rechoir": "^0.6.2"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "interpret": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
+ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
+ },
+ "rechoir": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
+ "requires": {
+ "resolve": "^1.1.6"
+ }
+ }
}
},
"shx": {
@@ -30418,7 +30957,7 @@
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
"integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
- "dev": true,
+ "devOptional": true,
"requires": {
"agent-base": "^6.0.2",
"debug": "^4.3.3",
@@ -30459,7 +30998,7 @@
"sparse-bitfield": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
- "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
"optional": true,
"requires": {
"memory-pager": "^1.0.2"
@@ -30523,16 +31062,27 @@
"readable-stream": "^3.0.0"
}
},
+ "sqlite3": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.8.tgz",
+ "integrity": "sha512-f2ACsbSyb2D1qFFcqIXPfFscLtPVOWJr5GmUzYxf4W+0qelu5MWrR+FAQE1d5IUArEltBrzSDxDORG8P/IkqyQ==",
+ "requires": {
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "node-addon-api": "^4.2.0",
+ "node-gyp": "8.x",
+ "tar": "^6.1.11"
+ }
+ },
"sqwish": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/sqwish/-/sqwish-0.2.2.tgz",
- "integrity": "sha1-AP4maBBPEii1u37nOe9gEhu8sFc="
+ "integrity": "sha512-MyaCOSCiThzFPcXHebkWiiXDDlEzbHtbdJBqos4CkUwiKdCgQU0IOzBJwswhBv2Qg3glj5TxzDxvKobuyB4e8w=="
},
"ssri": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
"integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
- "dev": true,
+ "devOptional": true,
"requires": {
"minipass": "^3.1.1"
}
@@ -30588,7 +31138,7 @@
"strict-uri-encode": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
- "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=",
+ "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==",
"dev": true
},
"string_decoder": {
@@ -30626,7 +31176,8 @@
"strip-final-newline": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true
},
"strip-indent": {
"version": "3.0.0",
@@ -30710,7 +31261,6 @@
"version": "6.1.11",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
"integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
- "dev": true,
"requires": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
@@ -30744,16 +31294,21 @@
}
}
},
+ "tarn": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz",
+ "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ=="
+ },
"temp-dir": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
- "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
+ "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==",
"dev": true
},
"terser": {
- "version": "5.14.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.0.tgz",
- "integrity": "sha512-JC6qfIEkPBd9j1SMO3Pfn+A6w2kQV54tv+ABQLgZr7dA3k/DL/OBoYSWxzVpZev3J+bUHXfr55L8Mox7AaNo6g==",
+ "version": "5.14.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz",
+ "integrity": "sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==",
"requires": {
"@jridgewell/source-map": "^0.3.2",
"acorn": "^8.5.0",
@@ -30823,6 +31378,22 @@
"@istanbuljs/schema": "^0.1.2",
"glob": "^7.1.4",
"minimatch": "^3.0.4"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
}
},
"text-extensions": {
@@ -30834,13 +31405,13 @@
"text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
},
"through2": {
"version": "4.0.2",
@@ -30851,11 +31422,15 @@
"readable-stream": "3"
}
},
+ "tildify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz",
+ "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw=="
+ },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true,
"requires": {
"os-tmpdir": "~1.0.2"
}
@@ -30863,7 +31438,7 @@
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
},
"to-readable-stream": {
"version": "1.0.0",
@@ -30908,7 +31483,7 @@
"trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
+ "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw=="
},
"ts-algebra": {
"version": "1.1.1",
@@ -30993,13 +31568,12 @@
"type-detect": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
- "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI="
+ "integrity": "sha512-f9Uv6ezcpvCQjJU0Zqbg+65qdcszv3qUQsZfjdRbWiZ7AMenrX1u0lNk9EoWWX6e1F+NULyg27mtdeZ5WhpljA=="
},
"type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.13.1.tgz",
+ "integrity": "sha512-hXYyrPFwETT2swFLHeoKtJrvSF/ftG/sA15/8nGaLuaDGfVAaq8DYFpu4yOyV4tzp082WqnTEoMsm3flKMI2FQ=="
},
"type-is": {
"version": "1.6.18",
@@ -31013,7 +31587,7 @@
"typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"typedarray-to-buffer": {
"version": "3.1.5",
@@ -31025,21 +31599,21 @@
}
},
"typescript": {
- "version": "4.7.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz",
- "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA=="
+ "version": "4.7.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
+ "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ=="
},
"uglify-js": {
- "version": "3.16.0",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.0.tgz",
- "integrity": "sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw==",
+ "version": "3.16.1",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz",
+ "integrity": "sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==",
"dev": true,
"optional": true
},
"uglify-to-browserify": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==",
"optional": true
},
"uid-safe": {
@@ -31058,7 +31632,7 @@
"unc-path-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
- "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
+ "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg=="
},
"unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
@@ -31088,7 +31662,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
"integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
- "dev": true,
+ "devOptional": true,
"requires": {
"unique-slug": "^2.0.0"
}
@@ -31097,7 +31671,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
"integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
- "dev": true,
+ "devOptional": true,
"requires": {
"imurmurhash": "^0.1.4"
}
@@ -31126,7 +31700,7 @@
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
},
"upath": {
"version": "2.0.1",
@@ -31167,7 +31741,7 @@
"url": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
"requires": {
"punycode": "1.3.2",
"querystring": "0.2.0"
@@ -31183,7 +31757,7 @@
"url-parse-lax": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+ "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
"dev": true,
"requires": {
"prepend-http": "^2.0.0"
@@ -31207,12 +31781,12 @@
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
},
"uuid": {
"version": "8.3.2",
@@ -31231,12 +31805,12 @@
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="
},
"v8-to-istanbul": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.0.tgz",
- "integrity": "sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz",
+ "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==",
"dev": true,
"requires": {
- "@jridgewell/trace-mapping": "^0.3.7",
+ "@jridgewell/trace-mapping": "^0.3.12",
"@types/istanbul-lib-coverage": "^2.0.1",
"convert-source-map": "^1.6.0"
}
@@ -31253,7 +31827,7 @@
"validate-npm-package-name": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
- "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
+ "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==",
"dev": true,
"requires": {
"builtins": "^1.0.3"
@@ -31262,7 +31836,7 @@
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
},
"walk-up-path": {
"version": "1.0.0",
@@ -31287,8 +31861,7 @@
"wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
- "dev": true,
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
"requires": {
"defaults": "^1.0.3"
}
@@ -31365,17 +31938,17 @@
}
},
"webpack-cli": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz",
- "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==",
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz",
+ "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==",
"requires": {
"@discoveryjs/json-ext": "^0.5.0",
- "@webpack-cli/configtest": "^1.1.1",
- "@webpack-cli/info": "^1.4.1",
- "@webpack-cli/serve": "^1.6.1",
+ "@webpack-cli/configtest": "^1.2.0",
+ "@webpack-cli/info": "^1.5.0",
+ "@webpack-cli/serve": "^1.7.0",
"colorette": "^2.0.14",
"commander": "^7.0.0",
- "execa": "^5.0.0",
+ "cross-spawn": "^7.0.3",
"fastest-levenshtein": "^1.0.12",
"import-local": "^3.0.2",
"interpret": "^2.2.0",
@@ -31388,11 +31961,6 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
},
- "interpret": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
- "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw=="
- },
"rechoir": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
@@ -31440,7 +32008,6 @@
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
"integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
- "dev": true,
"requires": {
"string-width": "^1.0.2 || 2 || 3 || 4"
}
@@ -31462,7 +32029,7 @@
"window-size": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
+ "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg=="
},
"word-wrap": {
"version": "1.2.3",
@@ -31472,7 +32039,7 @@
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
"dev": true
},
"workerpool": {
@@ -31493,7 +32060,7 @@
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
"write-file-atomic": {
"version": "3.0.3",
@@ -31571,7 +32138,7 @@
"sort-keys": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
- "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
+ "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==",
"dev": true,
"requires": {
"is-plain-obj": "^1.0.0"
@@ -31710,7 +32277,7 @@
"yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
"requires": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
diff --git a/package.json b/package.json
index 6ee6d7ecc6..1342d17658 100644
--- a/package.json
+++ b/package.json
@@ -20,14 +20,14 @@
"url": "https://github.com/feathersjs/feathers/issues"
},
"engines": {
- "node": ">= 12"
+ "node": ">= 14"
},
"scripts": {
"install": "lerna bootstrap",
"publish": "lerna publish && git commit -am \"chore: Update changelog\" && git push origin",
"publish:premajor": "lerna publish premajor --preid pre --pre-dist-tag pre && git commit -am \"chore: Update version and changelog\" && git push origin",
"publish:prerelease": "lerna publish prerelease --preid pre --pre-dist-tag pre --dist-tag pre --force-publish && git commit -am \"chore: Update version and changelog\" && git push origin",
- "prettier": "npx prettier \"packages/{,!(node_modules)/**/(src|test|generators)/**/}*.ts\" --write",
+ "prettier": "npx prettier \"packages/{,!(node_modules)/**/(src|test)/**/}*.ts\" --write",
"eslint": "eslint \"packages/**/*.ts\" --fix",
"lint": "npm run prettier && npm run eslint",
"update-dependencies": "ncu -u && lerna exec -- ncu -u -x node-fetch",
@@ -44,7 +44,7 @@
"eslint-plugin-prettier": "^4.0.0",
"lerna": "^5.0.0",
"npm-check-updates": "^13.1.1",
- "prettier": "2.6.2",
+ "prettier": "^2.7.1",
"typescript": "^4.7.3"
}
}
diff --git a/packages/adapter-commons/CHANGELOG.md b/packages/adapter-commons/CHANGELOG.md
index a3e4f6b388..892150601c 100644
--- a/packages/adapter-commons/CHANGELOG.md
+++ b/packages/adapter-commons/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Features
+
+* **knex:** Add KnexJS SQL database adapter to core ([#2671](https://github.com/feathersjs/feathers/issues/2671)) ([9380fff](https://github.com/feathersjs/feathers/commit/9380fff58596e8bb90b8bb098d2795b7eadfec20))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/adapter-commons
diff --git a/packages/adapter-commons/package.json b/packages/adapter-commons/package.json
index 886d5d2142..3e5576ab79 100644
--- a/packages/adapter-commons/package.json
+++ b/packages/adapter-commons/package.json
@@ -1,6 +1,6 @@
{
"name": "@feathersjs/adapter-commons",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"description": "Shared database adapter utility functions",
"homepage": "https://feathersjs.com",
"keywords": [
@@ -49,9 +49,9 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23"
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24"
},
"devDependencies": {
"@types/mocha": "^9.1.1",
@@ -63,5 +63,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/adapter-commons/src/service.ts b/packages/adapter-commons/src/service.ts
index ce0d2059e1..fb5070fbaa 100644
--- a/packages/adapter-commons/src/service.ts
+++ b/packages/adapter-commons/src/service.ts
@@ -235,7 +235,7 @@ export abstract class AdapterBase<
throw new MethodNotAllowed('Can not patch multiple entries')
}
- const query = await this.sanitizeQuery(params)
+ const { $limit, ...query } = await this.sanitizeQuery(params)
const payload = await this.sanitizeData(data, params)
return this.$patch(id, payload, {
@@ -265,7 +265,7 @@ export abstract class AdapterBase<
throw new MethodNotAllowed('Can not remove multiple entries')
}
- const query = await this.sanitizeQuery(params)
+ const { $limit, ...query } = await this.sanitizeQuery(params)
return this.$remove(id, {
...params,
diff --git a/packages/adapter-tests/CHANGELOG.md b/packages/adapter-tests/CHANGELOG.md
index 56f8545dbc..320edb868b 100644
--- a/packages/adapter-tests/CHANGELOG.md
+++ b/packages/adapter-tests/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+**Note:** Version bump only for package @feathersjs/adapter-tests
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/adapter-tests
diff --git a/packages/adapter-tests/package.json b/packages/adapter-tests/package.json
index 57fb5cf0a7..c7d0e90203 100644
--- a/packages/adapter-tests/package.json
+++ b/packages/adapter-tests/package.json
@@ -1,6 +1,6 @@
{
"name": "@feathersjs/adapter-tests",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"description": "Feathers shared database adapter test suite",
"homepage": "https://feathersjs.com",
"keywords": [
@@ -56,5 +56,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/authentication-client/CHANGELOG.md b/packages/authentication-client/CHANGELOG.md
index 112a0e3e7b..8dbdbfe78d 100644
--- a/packages/authentication-client/CHANGELOG.md
+++ b/packages/authentication-client/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+**Note:** Version bump only for package @feathersjs/authentication-client
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/authentication-client
diff --git a/packages/authentication-client/package.json b/packages/authentication-client/package.json
index 9b1e4c0516..cb9bfec189 100644
--- a/packages/authentication-client/package.json
+++ b/packages/authentication-client/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/authentication-client",
"description": "The authentication plugin for feathers-client",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -52,18 +52,18 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/authentication": "^5.0.0-pre.23",
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23"
+ "@feathersjs/authentication": "^5.0.0-pre.24",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24"
},
"devDependencies": {
- "@feathersjs/authentication-local": "^5.0.0-pre.23",
- "@feathersjs/express": "^5.0.0-pre.23",
- "@feathersjs/memory": "^5.0.0-pre.23",
- "@feathersjs/rest-client": "^5.0.0-pre.23",
- "@feathersjs/socketio": "^5.0.0-pre.23",
- "@feathersjs/socketio-client": "^5.0.0-pre.23",
+ "@feathersjs/authentication-local": "^5.0.0-pre.24",
+ "@feathersjs/express": "^5.0.0-pre.24",
+ "@feathersjs/memory": "^5.0.0-pre.24",
+ "@feathersjs/rest-client": "^5.0.0-pre.24",
+ "@feathersjs/socketio": "^5.0.0-pre.24",
+ "@feathersjs/socketio-client": "^5.0.0-pre.24",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
"axios": "^0.27.2",
@@ -72,5 +72,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/authentication-local/CHANGELOG.md b/packages/authentication-local/CHANGELOG.md
index b9189f3c60..ede17a5d05 100644
--- a/packages/authentication-local/CHANGELOG.md
+++ b/packages/authentication-local/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Features
+
+* **authentication-local:** Add passwordHash property resolver ([#2660](https://github.com/feathersjs/feathers/issues/2660)) ([b41279b](https://github.com/feathersjs/feathers/commit/b41279b55eea3771a6fa4983a37be2413287bbc6))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/authentication-local
diff --git a/packages/authentication-local/package.json b/packages/authentication-local/package.json
index 820a036cae..d02d2e4a57 100644
--- a/packages/authentication-local/package.json
+++ b/packages/authentication-local/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/authentication-local",
"description": "Local authentication strategy for @feathers/authentication",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -52,15 +52,16 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/authentication": "^5.0.0-pre.23",
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
+ "@feathersjs/authentication": "^5.0.0-pre.24",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
"bcryptjs": "^2.4.3",
"lodash": "^4.17.21"
},
"devDependencies": {
- "@feathersjs/memory": "^5.0.0-pre.23",
+ "@feathersjs/memory": "^5.0.0-pre.24",
+ "@feathersjs/schema": "^5.0.0-pre.24",
"@types/bcryptjs": "^2.4.2",
"@types/lodash": "^4.14.182",
"@types/mocha": "^9.1.1",
@@ -70,5 +71,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/authentication-local/src/hooks/hash-password.ts b/packages/authentication-local/src/hooks/hash-password.ts
index d79131efa2..acbccf24a5 100644
--- a/packages/authentication-local/src/hooks/hash-password.ts
+++ b/packages/authentication-local/src/hooks/hash-password.ts
@@ -13,6 +13,12 @@ export interface HashPasswordOptions {
strategy?: string
}
+/**
+ * @deprecated Use Feathers schema resolvers and the `passwordHash` resolver instead
+ * @param field
+ * @param options
+ * @returns
+ */
export default function hashPassword(field: string, options: HashPasswordOptions = {}) {
if (!field) {
throw new Error('The hashPassword hook requires a field name option')
diff --git a/packages/authentication-local/src/hooks/protect.ts b/packages/authentication-local/src/hooks/protect.ts
index 9c35f7b1d7..51ad69a8e3 100644
--- a/packages/authentication-local/src/hooks/protect.ts
+++ b/packages/authentication-local/src/hooks/protect.ts
@@ -1,6 +1,10 @@
import omit from 'lodash/omit'
import { HookContext, NextFunction } from '@feathersjs/feathers'
+/**
+ * @deprecated For reliable safe data representations use Feathers schema dispatch resolvers.
+ * See https://dove.docs.feathersjs.com/api/schema/resolvers.html#safe-data-resolvers for more information.
+ */
export default (...fields: string[]) => {
const o = (current: any) => {
if (typeof current === 'object' && !Array.isArray(current)) {
diff --git a/packages/authentication-local/src/index.ts b/packages/authentication-local/src/index.ts
index c2ed48b07d..644fbf0195 100644
--- a/packages/authentication-local/src/index.ts
+++ b/packages/authentication-local/src/index.ts
@@ -1,5 +1,24 @@
+import { HookContext } from '@feathersjs/feathers'
import hashPassword from './hooks/hash-password'
import protect from './hooks/protect'
+import { LocalStrategy } from './strategy'
export const hooks = { hashPassword, protect }
-export { LocalStrategy } from './strategy'
+export { LocalStrategy }
+
+/**
+ * Returns as property resolver that hashes a given plain text password using a Local
+ * authentication strategy.
+ *
+ * @param options The authentication `service` and `strategy` name
+ * @returns
+ */
+export const passwordHash =
+ (options: { service?: string; strategy: string }) =>
+ async >(value: string | undefined, _data: any, context: H) => {
+ const { app, params } = context
+ const authService = app.defaultAuthentication(options.service)
+ const localStrategy = authService.getStrategy(options.strategy) as LocalStrategy
+
+ return localStrategy.hashPassword(value, params)
+ }
diff --git a/packages/authentication-local/test/strategy.test.ts b/packages/authentication-local/test/strategy.test.ts
index 65c6884623..f700ae1ed9 100644
--- a/packages/authentication-local/test/strategy.test.ts
+++ b/packages/authentication-local/test/strategy.test.ts
@@ -1,8 +1,9 @@
import assert from 'assert'
import omit from 'lodash/omit'
-import { Application } from '@feathersjs/feathers'
+import { Application, HookContext } from '@feathersjs/feathers'
+import { resolve } from '@feathersjs/schema'
-import { LocalStrategy } from '../src'
+import { LocalStrategy, passwordHash } from '../src'
import { createApplication, ServiceTypes } from './fixture'
describe('@feathersjs/authentication-local/strategy', () => {
@@ -180,4 +181,18 @@ describe('@feathersjs/authentication-local/strategy', () => {
assert.strictEqual(decoded.sub, `${user.id}`)
})
+
+ it('passwordHash property resolver', async () => {
+ const userResolver = resolve<{ password: string }, HookContext>({
+ properties: {
+ password: passwordHash({
+ strategy: 'local'
+ })
+ }
+ })
+
+ const resolvedData = await userResolver.resolve({ password: 'supersecret' }, { app } as HookContext)
+
+ assert.notStrictEqual(resolvedData.password, 'supersecret')
+ })
})
diff --git a/packages/authentication-oauth/CHANGELOG.md b/packages/authentication-oauth/CHANGELOG.md
index 1be07d7798..f49305bc6e 100644
--- a/packages/authentication-oauth/CHANGELOG.md
+++ b/packages/authentication-oauth/CHANGELOG.md
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Bug Fixes
+
+* **authentication-oauth:** Fix bug and properly set Grant defaults ([#2659](https://github.com/feathersjs/feathers/issues/2659)) ([cb93bb9](https://github.com/feathersjs/feathers/commit/cb93bb911fd92282424da2db805cd685b7e4a45b))
+
+
+### Features
+
+* **cli:** Add typed client to a generated app ([#2669](https://github.com/feathersjs/feathers/issues/2669)) ([5b801b5](https://github.com/feathersjs/feathers/commit/5b801b5017ddc3eaa95622b539f51d605916bc86))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/authentication-oauth
diff --git a/packages/authentication-oauth/package.json b/packages/authentication-oauth/package.json
index 4186684196..aa30095727 100644
--- a/packages/authentication-oauth/package.json
+++ b/packages/authentication-oauth/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/authentication-oauth",
"description": "oAuth 1 and 2 authentication for Feathers. Powered by Grant.",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -53,17 +53,17 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/authentication": "^5.0.0-pre.23",
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/express": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
+ "@feathersjs/authentication": "^5.0.0-pre.24",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/express": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
"express-session": "^1.17.3",
"grant": "^5.4.21",
"lodash": "^4.17.21"
},
"devDependencies": {
- "@feathersjs/memory": "^5.0.0-pre.23",
+ "@feathersjs/memory": "^5.0.0-pre.24",
"@types/express": "^4.17.13",
"@types/express-session": "^1.17.4",
"@types/lodash": "^4.14.182",
@@ -75,5 +75,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/authentication-oauth/src/index.ts b/packages/authentication-oauth/src/index.ts
index 3474f7ed33..b72dd322be 100644
--- a/packages/authentication-oauth/src/index.ts
+++ b/packages/authentication-oauth/src/index.ts
@@ -30,7 +30,6 @@ export const setup = (options: OauthSetupSettings) => (app: Application) => {
const { strategyNames } = service
// Set up all the defaults
- const { prefix = '/oauth' } = oauth.defaults || {}
const port = app.get('port')
let host = app.get('host')
let protocol = 'https'
@@ -43,21 +42,18 @@ export const setup = (options: OauthSetupSettings) => (app: Application) => {
}
}
- const grant = defaultsDeep(
- {
- defaults: {
- prefix,
- origin: `${oauth?.defaults?.protocol ?? protocol}://${oauth?.defaults?.host ?? host}`,
- transport: oauth?.defaults?.transport ?? 'session',
- response: ['tokens', 'raw', 'profile']
- }
- },
- omit(oauth, ['redirect', 'origins'])
- )
+ const grant = defaultsDeep({}, omit(oauth, ['redirect', 'origins']), {
+ defaults: {
+ prefix: '/oauth',
+ origin: `${protocol}://${host}`,
+ transport: 'session',
+ response: ['tokens', 'raw', 'profile']
+ }
+ })
const getUrl = (url: string) => {
const { defaults } = grant
- return `${defaults.origin}${prefix}/${url}`
+ return `${defaults.origin}${defaults.prefix}/${url}`
}
each(grant, (value, name) => {
diff --git a/packages/authentication/CHANGELOG.md b/packages/authentication/CHANGELOG.md
index 3ef47867fe..d57b58c110 100644
--- a/packages/authentication/CHANGELOG.md
+++ b/packages/authentication/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Bug Fixes
+
+* **authentication:** Add safe dispatch data for authentication requests ([#2662](https://github.com/feathersjs/feathers/issues/2662)) ([d8104a1](https://github.com/feathersjs/feathers/commit/d8104a19ee9181e6a5ea81014af29ff9a3c28a8a))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/authentication
diff --git a/packages/authentication/package.json b/packages/authentication/package.json
index f76b91f508..ff3aa9c77a 100644
--- a/packages/authentication/package.json
+++ b/packages/authentication/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/authentication",
"description": "Add Authentication to your FeathersJS app.",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -52,10 +52,11 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
- "@feathersjs/transport-commons": "^5.0.0-pre.23",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
+ "@feathersjs/schema": "^5.0.0-pre.24",
+ "@feathersjs/transport-commons": "^5.0.0-pre.24",
"@types/jsonwebtoken": "^8.5.8",
"jsonwebtoken": "^8.5.1",
"lodash": "^4.17.21",
@@ -63,8 +64,7 @@
"uuid": "^8.3.2"
},
"devDependencies": {
- "@feathersjs/memory": "^5.0.0-pre.23",
- "@feathersjs/schema": "^5.0.0-pre.23",
+ "@feathersjs/memory": "^5.0.0-pre.24",
"@types/lodash": "^4.14.182",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
@@ -74,5 +74,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/authentication/src/service.ts b/packages/authentication/src/service.ts
index 20e412ebe4..9ee690bf3d 100644
--- a/packages/authentication/src/service.ts
+++ b/packages/authentication/src/service.ts
@@ -5,6 +5,7 @@ import { connection, event } from './hooks'
import '@feathersjs/transport-commons'
import { createDebug } from '@feathersjs/commons'
import { ServiceMethods, ServiceAddons } from '@feathersjs/feathers'
+import { resolveDispatch } from '@feathersjs/schema'
import jsonwebtoken from 'jsonwebtoken'
const debug = createDebug('@feathersjs/authentication/service')
@@ -120,12 +121,14 @@ export class AuthenticationService
const accessToken = await this.createAccessToken(payload, jwtOptions, params.secret)
- return merge({ accessToken }, authResult, {
+ return {
+ accessToken,
+ ...authResult,
authentication: {
- accessToken,
+ ...authResult.authentication,
payload: jsonwebtoken.decode(accessToken)
}
- })
+ }
}
/**
@@ -182,8 +185,8 @@ export class AuthenticationService
}
this.hooks({
- create: [connection('login'), event('login')],
- remove: [connection('logout'), event('logout')]
+ create: [resolveDispatch(), connection('login'), event('login')],
+ remove: [resolveDispatch(), connection('logout'), event('logout')]
} as any)
this.app.on('disconnect', async (connection) => {
diff --git a/packages/authentication/test/jwt.test.ts b/packages/authentication/test/jwt.test.ts
index e9df2647e5..526cbe02b4 100644
--- a/packages/authentication/test/jwt.test.ts
+++ b/packages/authentication/test/jwt.test.ts
@@ -2,6 +2,7 @@ import assert from 'assert'
import merge from 'lodash/merge'
import { feathers, Application, Service } from '@feathersjs/feathers'
import { memory } from '@feathersjs/memory'
+import { getDispatch, resolve, resolveDispatch } from '@feathersjs/schema'
import { AuthenticationService, JWTStrategy, hooks } from '../src'
import { ServerResponse } from 'http'
@@ -19,6 +20,16 @@ describe('authentication/jwt', () => {
let accessToken: string
let payload: any
+ const userDispatchResolver = resolve({
+ converter: async () => {
+ return {
+ dispatch: true,
+ message: 'Hello world'
+ }
+ },
+ properties: {}
+ })
+
beforeEach(async () => {
app = feathers()
@@ -51,6 +62,9 @@ describe('authentication/jwt', () => {
})
app.service('users').hooks({
+ around: {
+ all: [resolveDispatch(userDispatchResolver)]
+ },
after: {
get: [
(context) => {
@@ -119,6 +133,17 @@ describe('authentication/jwt', () => {
})
})
+ it('resolves safe dispatch data in authentication result', async () => {
+ const authResult = await app.service('authentication').create({
+ strategy: 'jwt',
+ accessToken
+ })
+
+ const dispatch = getDispatch(authResult)
+
+ assert.deepStrictEqual(dispatch.user, { dispatch: true, message: 'Hello world' })
+ })
+
it('sends disconnect event when connection token expires and removes all connection information', async () => {
const connection: any = {}
const token: string = await app.service('authentication').createAccessToken(
diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md
new file mode 100644
index 0000000000..8bf12fcfe3
--- /dev/null
+++ b/packages/cli/CHANGELOG.md
@@ -0,0 +1,15 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Features
+
+* **cli:** Add generators for new Knex SQL database adapter ([#2673](https://github.com/feathersjs/feathers/issues/2673)) ([0fb2c0f](https://github.com/feathersjs/feathers/commit/0fb2c0f629116f71184b8698c383af8cfd149688))
+* **cli:** Add hook generator ([#2667](https://github.com/feathersjs/feathers/issues/2667)) ([24e4bc0](https://github.com/feathersjs/feathers/commit/24e4bc04a67fadee0e6a96a8389d788faba5c305))
+* **cli:** Add support for JavaScript to the new CLI ([#2668](https://github.com/feathersjs/feathers/issues/2668)) ([ebac587](https://github.com/feathersjs/feathers/commit/ebac587f7d00dc7607c3f546352d79f79b89a5d4))
+* **cli:** Add typed client to a generated app ([#2669](https://github.com/feathersjs/feathers/issues/2669)) ([5b801b5](https://github.com/feathersjs/feathers/commit/5b801b5017ddc3eaa95622b539f51d605916bc86))
+* **cli:** Initial Feathers v5 CLI and Pinion generator ([#2578](https://github.com/feathersjs/feathers/issues/2578)) ([7f59ae7](https://github.com/feathersjs/feathers/commit/7f59ae7f1471895ba8a82aa4702f1a23f71b7682))
diff --git a/_templates/package/new/LICENSE.t b/packages/cli/LICENSE
similarity index 96%
rename from _templates/package/new/LICENSE.t
rename to packages/cli/LICENSE
index e7a776c184..3f395cc665 100644
--- a/_templates/package/new/LICENSE.t
+++ b/packages/cli/LICENSE
@@ -1,7 +1,3 @@
----
-to: packages/<%= name %>/LICENSE
----
-
The MIT License (MIT)
Copyright (c) 2021 Feathers
diff --git a/packages/cli/README.md b/packages/cli/README.md
new file mode 100644
index 0000000000..a1d489f9cd
--- /dev/null
+++ b/packages/cli/README.md
@@ -0,0 +1,33 @@
+# @feathersjs/cli
+
+[](https://github.com/feathersjs/feathers/actions?query=workflow%3ACI)
+[](https://david-dm.org/feathersjs/feathers?path=packages/cli)
+[](https://www.npmjs.com/package/@feathersjs/cli)
+
+> The command line interface for creating Feathers applications
+
+## Installation
+
+```
+npm install -g @feathersjs/cli
+```
+
+## Usage
+
+```
+$ mkdir myproject
+
+$ cd myproject
+
+$ feathers help
+```
+
+## Documentation
+
+Refer to the [Feathers documentation](https://docs.feathersjs.com) for more details.
+
+## License
+
+Copyright (c) 2021 [Feathers contributors](https://github.com/feathersjs/feathers/graphs/contributors)
+
+Licensed under the [MIT license](LICENSE).
diff --git a/packages/cli/bin/feathers b/packages/cli/bin/feathers
new file mode 100755
index 0000000000..c27794d2fc
--- /dev/null
+++ b/packages/cli/bin/feathers
@@ -0,0 +1,9 @@
+#!/usr/bin/env node
+'use strict';
+
+const { yargs } = require('@feathershq/pinion')
+const { command } = require('../lib')
+
+const cli = cmd => command(yargs(cmd)).argv
+
+cli(process.argv.slice(2));
diff --git a/packages/cli/package.json b/packages/cli/package.json
new file mode 100644
index 0000000000..514ca800c2
--- /dev/null
+++ b/packages/cli/package.json
@@ -0,0 +1,86 @@
+{
+ "name": "@feathersjs/cli",
+ "description": "The command line interface for creating Feathers applications",
+ "version": "5.0.0-pre.24",
+ "homepage": "https://feathersjs.com",
+ "main": "lib/",
+ "bin": {
+ "feathers": "./bin/feathers"
+ },
+ "keywords": [
+ "feathers",
+ "feathers-plugin"
+ ],
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/daffl"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/feathersjs/feathers.git"
+ },
+ "author": {
+ "name": "Feathers contributors",
+ "email": "hello@feathersjs.com",
+ "url": "https://feathersjs.com"
+ },
+ "contributors": [],
+ "bugs": {
+ "url": "https://github.com/feathersjs/feathers/issues"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "files": [
+ "CHANGELOG.md",
+ "LICENSE",
+ "README.md",
+ "lib/**",
+ "bin/**",
+ "*.d.ts",
+ "*.js"
+ ],
+ "scripts": {
+ "prepublish": "npm run compile",
+ "compile": "shx rm -rf lib/ && tsc && shx cp -r src/. lib/",
+ "mocha": "mocha --timeout 60000 --config ../../.mocharc.json --recursive test/**.test.ts test/**/*.test.ts",
+ "test": "npm run compile && npm run mocha"
+ },
+ "directories": {
+ "lib": "lib/cli"
+ },
+ "publishConfig": {
+ "access": "public"
+ },
+ "dependencies": {
+ "@feathershq/pinion": "^0.3.3",
+ "chalk": "^4.0.1",
+ "lodash": "^4.17.21",
+ "prettier": "^2.7.1"
+ },
+ "devDependencies": {
+ "@feathersjs/authentication": "^5.0.0-pre.24",
+ "@feathersjs/authentication-local": "^5.0.0-pre.24",
+ "@feathersjs/authentication-oauth": "^5.0.0-pre.24",
+ "@feathersjs/configuration": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/express": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
+ "@feathersjs/knex": "^5.0.0-pre.24",
+ "@feathersjs/koa": "^5.0.0-pre.24",
+ "@feathersjs/mongodb": "^5.0.0-pre.24",
+ "@feathersjs/schema": "^5.0.0-pre.24",
+ "@feathersjs/socketio": "^5.0.0-pre.24",
+ "@feathersjs/transport-commons": "^5.0.0-pre.24",
+ "@types/mocha": "^9.1.1",
+ "@types/node": "^17.0.40",
+ "@types/prettier": "^2.6.3",
+ "axios": "^0.27.2",
+ "mocha": "^10.0.0",
+ "shx": "^0.3.4",
+ "ts-node": "^10.8.1",
+ "type-fest": "^2.13.0",
+ "typescript": "^4.7.3"
+ }
+}
diff --git a/packages/cli/src/app/index.ts b/packages/cli/src/app/index.ts
new file mode 100644
index 0000000000..07eca6d67f
--- /dev/null
+++ b/packages/cli/src/app/index.ts
@@ -0,0 +1,198 @@
+import { sep } from 'path'
+import chalk from 'chalk'
+import {
+ generator,
+ prompt,
+ runGenerators,
+ fromFile,
+ install,
+ copyFiles,
+ toFile,
+ when
+} from '@feathershq/pinion'
+import { FeathersBaseContext, FeathersAppInfo, initializeBaseContext, addVersions } from '../commons'
+import { generate as authenticationGenerator, prompts as authenticationPrompts } from '../authentication'
+import { generate as connectionGenerator, prompts as connectionPrompts } from '../connection'
+
+export interface AppGeneratorData extends FeathersAppInfo {
+ /**
+ * The application name
+ */
+ name: string
+ /**
+ * A short description of the app
+ */
+ description: string
+ /**
+ * The selected user authentication strategies
+ */
+ authStrategies: string[]
+ /**
+ * The database connection string
+ */
+ connectionString: string
+ /**
+ * The source folder where files are put
+ */
+ lib: string
+}
+
+export type AppGeneratorContext = FeathersBaseContext &
+ AppGeneratorData & {
+ dependencies: string[]
+ devDependencies: string[]
+ }
+
+export type AppGeneratorArguments = FeathersBaseContext & Partial
+
+export const generate = (ctx: AppGeneratorArguments) =>
+ generator(ctx)
+ .then((ctx) => ({
+ ...ctx,
+ dependencies: [],
+ devDependencies: []
+ }))
+ .then(
+ prompt((ctx) => [
+ {
+ name: 'language',
+ type: 'list',
+ message: 'Do you want to use JavaScript or TypeScript?',
+ when: !ctx.language,
+ choices: [
+ { name: 'TypeScript', value: 'ts' },
+ { name: 'JavaScript', value: 'js' }
+ ]
+ },
+ {
+ name: 'name',
+ type: 'input',
+ when: !ctx.name,
+ message: 'What is the name of your application?',
+ default: ctx.cwd.split(sep).pop()
+ },
+ {
+ name: 'description',
+ type: 'input',
+ when: !ctx.description,
+ message: 'Write a short description'
+ },
+ {
+ type: 'list',
+ name: 'framework',
+ when: !ctx.framework,
+ message: 'Which HTTP framework do you want to use?',
+ choices: [
+ { value: 'koa', name: `KoaJS ${chalk.grey('(recommended)')}` },
+ { value: 'express', name: 'Express' }
+ ]
+ },
+ {
+ type: 'checkbox',
+ name: 'transports',
+ when: !ctx.transports,
+ message: 'What APIs do you want to offer?',
+ choices: [
+ { value: 'rest', name: 'HTTP (REST)', checked: true },
+ { value: 'websockets', name: 'Real-time', checked: true }
+ ]
+ },
+ {
+ name: 'packager',
+ type: 'list',
+ when: !ctx.packager,
+ message: 'Which package manager are you using?',
+ choices: [
+ { value: 'npm', name: 'npm' },
+ { value: 'yarn', name: 'Yarn' }
+ ]
+ },
+ ...connectionPrompts(ctx),
+ ...authenticationPrompts({
+ ...ctx,
+ service: 'users',
+ entity: 'user'
+ })
+ ])
+ )
+ .then(runGenerators(__dirname, 'templates'))
+ .then(copyFiles(fromFile(__dirname, 'static'), toFile('.')))
+ .then(initializeBaseContext())
+ .then(
+ when(
+ ({ authStrategies }) => authStrategies.length > 0,
+ async (ctx) => {
+ const { dependencies } = await connectionGenerator(ctx)
+
+ return {
+ ...ctx,
+ dependencies
+ }
+ }
+ )
+ )
+ .then(
+ when(
+ ({ authStrategies }) => authStrategies.length > 0,
+ async (ctx) => {
+ const { dependencies } = await authenticationGenerator({
+ ...ctx,
+ service: 'users',
+ entity: 'user'
+ })
+
+ return {
+ ...ctx,
+ dependencies
+ }
+ }
+ )
+ )
+ .then(
+ install(({ transports, framework, dependencyVersions, dependencies }) => {
+ const hasSocketio = transports.includes('websockets')
+
+ dependencies.push(
+ '@feathersjs/feathers',
+ '@feathersjs/errors',
+ '@feathersjs/schema',
+ '@feathersjs/configuration',
+ '@feathersjs/transport-commons',
+ '@feathersjs/authentication',
+ 'winston'
+ )
+
+ if (hasSocketio) {
+ dependencies.push('@feathersjs/socketio')
+ }
+
+ if (framework === 'koa') {
+ dependencies.push('@feathersjs/koa', 'koa-static')
+ }
+
+ if (framework === 'express') {
+ dependencies.push('@feathersjs/express', 'compression', 'helmet')
+ }
+
+ return addVersions(dependencies, dependencyVersions)
+ })
+ )
+ .then(
+ install(({ language, framework, devDependencies, dependencyVersions }) => {
+ devDependencies.push('nodemon', 'axios', 'mocha', 'cross-env')
+
+ if (language === 'ts') {
+ devDependencies.push(
+ '@types/mocha',
+ framework === 'koa' ? '@types/koa-static' : '@types/compression',
+ '@types/node',
+ 'nodemon',
+ 'ts-node',
+ 'typescript',
+ 'shx'
+ )
+ }
+
+ return addVersions(devDependencies, dependencyVersions)
+ }, true)
+ )
diff --git a/packages/cli/src/app/static/.gitignore b/packages/cli/src/app/static/.gitignore
new file mode 100644
index 0000000000..82cf9aa04b
--- /dev/null
+++ b/packages/cli/src/app/static/.gitignore
@@ -0,0 +1,121 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+.pnpm-debug.log*
+
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Snowpack dependency directory (https://snowpack.dev/)
+web_modules/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variables file
+.env
+.env.test
+.env.production
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+.parcel-cache
+
+# Next.js build output
+.next
+out
+
+# Nuxt.js build / generate output
+.nuxt
+dist
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and not Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# Stores VSCode versions used for testing VSCode extensions
+.vscode-test
+
+# yarn v2
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
+.sqlite
+
+lib/
diff --git a/packages/cli/src/app/templates/app.test.tpl.ts b/packages/cli/src/app/templates/app.test.tpl.ts
new file mode 100644
index 0000000000..2020bc42b0
--- /dev/null
+++ b/packages/cli/src/app/templates/app.test.tpl.ts
@@ -0,0 +1,48 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { AppGeneratorContext } from '../index'
+
+const template = ({ lib }: AppGeneratorContext) =>
+ `import assert from 'assert'
+import axios from 'axios'
+import type { Server } from 'http'
+import { app } from '../${lib}/app'
+
+const port = app.get('port')
+const appUrl = \`http://\${app.get('host')}:\${port}\`
+
+describe('Feathers application tests', () => {
+ let server: Server
+
+ before(async () => {
+ server = await app.listen(port)
+ })
+
+ after(done => {
+ server.close(done)
+ })
+
+ it('starts and shows the index page', async () => {
+ const { data } = await axios.get(appUrl)
+
+ assert.ok(data.indexOf('') !== -1)
+ })
+
+ it('shows a 404 JSON error', async () => {
+ try {
+ await axios.get(\`\${appUrl}/path/to/nowhere\`, {
+ responseType: 'json'
+ })
+ assert.fail('should never get here')
+ } catch (error: any) {
+ const { response } = error
+ assert.strictEqual(response?.status, 404)
+ assert.strictEqual(response?.data?.code, 404)
+ assert.strictEqual(response?.data?.name, 'NotFound')
+ }
+ })
+})
+`
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(renderSource(template, toFile('test', 'app.test')))
diff --git a/packages/cli/src/app/templates/app.tpl.ts b/packages/cli/src/app/templates/app.tpl.ts
new file mode 100644
index 0000000000..257651d807
--- /dev/null
+++ b/packages/cli/src/app/templates/app.tpl.ts
@@ -0,0 +1,119 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { AppGeneratorContext } from '../index'
+
+const tsKoaApp = ({ transports }: AppGeneratorContext) =>
+ `import serveStatic from 'koa-static'
+import { feathers } from '@feathersjs/feathers'
+import configuration from '@feathersjs/configuration'
+import { koa, rest, bodyParser, errorHandler, parseAuthentication } from '@feathersjs/koa'
+${transports.includes('websockets') ? "import socketio from '@feathersjs/socketio'" : ''}
+
+import type { Application } from './declarations'
+import { configurationSchema } from './schemas/configuration.schema'
+import { logErrorHook } from './logger'
+import { services } from './services/index'
+import { channels } from './channels'
+
+const app: Application = koa(feathers())
+
+// Load our app configuration (see config/ folder)
+app.configure(configuration(configurationSchema))
+
+// Set up Koa middleware
+app.use(serveStatic(app.get('public')))
+app.use(errorHandler())
+app.use(parseAuthentication())
+app.use(bodyParser())
+
+// Configure services and transports
+app.configure(rest())
+${transports.includes('websockets') ? 'app.configure(socketio())' : ''}
+app.configure(services)
+app.configure(channels)
+
+// Register hooks that run on all service methods
+app.hooks({
+ around: {
+ all: [ logErrorHook ]
+ },
+ before: {},
+ after: {},
+ error: {}
+})
+// Register application setup and teardown hooks here
+app.hooks({
+ setup: [],
+ teardown: []
+})
+
+export { app }
+`
+
+const tsExpressApp = ({ transports }: AppGeneratorContext) =>
+ `import compress from 'compression'
+import helmet from 'helmet'
+
+import { feathers } from '@feathersjs/feathers'
+import express, {
+ rest, json, urlencoded,
+ serveStatic, notFound, errorHandler
+} from '@feathersjs/express'
+import configuration from '@feathersjs/configuration'
+${transports.includes('websockets') ? "import socketio from '@feathersjs/socketio'" : ''}
+
+import type { Application } from './declarations'
+import { configurationSchema } from './schemas/configuration.schema'
+import { logger, logErrorHook } from './logger'
+import { services } from './services/index'
+import { channels } from './channels'
+
+const app: Application = express(feathers())
+
+// Load app configuration
+app.configure(configuration(configurationSchema))
+app.use(helmet())
+app.use(compress())
+app.use(json())
+app.use(urlencoded({ extended: true }))
+// Host the public folder
+app.use('/', serveStatic(app.get('public')))
+
+// Configure services and real-time functionality
+app.configure(rest())
+${transports.includes('websockets') ? 'app.configure(socketio())' : ''}
+app.configure(services)
+app.configure(channels)
+
+// Configure a middleware for 404s and the error handler
+app.use(notFound())
+app.use(errorHandler({ logger }))
+
+// Register hooks that run on all service methods
+app.hooks({
+ around: {
+ all: [ logErrorHook ]
+ },
+ before: {},
+ after: {},
+ error: {}
+})
+// Register application setup and teardown hooks here
+app.hooks({
+ setup: [],
+ teardown: []
+})
+
+export { app }
+`
+
+const template = (ctx: AppGeneratorContext) =>
+ ctx.framework === 'express' ? tsExpressApp(ctx) : tsKoaApp(ctx)
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ lib }) => lib, 'app')
+ )
+ )
diff --git a/packages/cli/src/app/templates/channels.tpl.ts b/packages/cli/src/app/templates/channels.tpl.ts
new file mode 100644
index 0000000000..3e910f5bd2
--- /dev/null
+++ b/packages/cli/src/app/templates/channels.tpl.ts
@@ -0,0 +1,81 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { AppGeneratorContext } from '../index'
+
+const template = ({ language }: AppGeneratorContext) =>
+ `import '@feathersjs/transport-commons'
+import type { Application, HookContext } from './declarations'
+import { logger } from './logger'
+
+export const channels = (app: Application) => {
+ if(typeof app.channel !== 'function') {
+ // If no real-time functionality has been configured just return
+ return
+ }
+
+ logger.warn('Publishing all events to all authenticated users. See \`channels.${language}\` and https://docs.feathersjs.com/api/channels.html for more information.')
+
+ app.on('connection', (connection: any) => {
+ // On a new real-time connection, add it to the anonymous channel
+ app.channel('anonymous').join(connection)
+ })
+
+ app.on('login', (authResult: any, { connection }: any) => {
+ // connection can be undefined if there is no
+ // real-time connection, e.g. when logging in via REST
+ if(connection) {
+ // Obtain the logged in user from the connection
+ // const user = connection.user
+
+ // The connection is no longer anonymous, remove it
+ app.channel('anonymous').leave(connection)
+
+ // Add it to the authenticated user channel
+ app.channel('authenticated').join(connection)
+
+ // Channels can be named anything and joined on any condition
+
+ // E.g. to send real-time events only to admins use
+ // if(user.isAdmin) { app.channel('admins').join(connection) }
+
+ // If the user has joined e.g. chat rooms
+ // if(Array.isArray(user.rooms)) user.rooms.forEach(room => app.channel(\`rooms/\${room.id}\`).join(connection))
+
+ // Easily organize users by email and userid for things like messaging
+ // app.channel(\`emails/\${user.email}\`).join(connection)
+ // app.channel(\`userIds/\${user.id}\`).join(connection)
+ }
+ })
+
+ // eslint-disable-next-line no-unused-vars
+ app.publish((data: any, hook: HookContext) => {
+ // Here you can add event publishers to channels set up in \`channels.js\`
+ // To publish only for a specific event use \`app.publish(eventname, () => {})\`
+
+ console.log('Publishing all events to all authenticated users. See \`channels.js\` and https://docs.feathersjs.com/api/channels.html for more information.') // eslint-disable-line
+
+ // e.g. to publish all service events to all authenticated users use
+ return app.channel('authenticated')
+ })
+
+ // Here you can also add service specific event publishers
+ // e.g. the publish the \`users\` service \`created\` event to the \`admins\` channel
+ // app.service('users').publish('created', () => app.channel('admins'))
+
+ // With the userid and email organization from above you can easily select involved users
+ // app.service('messages').publish(() => {
+ // return [
+ // app.channel(\`userIds/\${data.createdBy}\`),
+ // app.channel(\`emails/\${data.recipientEmail}\`)
+ // ]
+ // })
+}
+`
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ lib }) => lib, 'channels')
+ )
+ )
diff --git a/packages/cli/src/app/templates/client.tpl.ts b/packages/cli/src/app/templates/client.tpl.ts
new file mode 100644
index 0000000000..f99f042d3e
--- /dev/null
+++ b/packages/cli/src/app/templates/client.tpl.ts
@@ -0,0 +1,27 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { AppGeneratorContext } from '../index'
+
+const template = ({}: AppGeneratorContext) =>
+ `import { feathers, type Service, type TransportConnection } from '@feathersjs/feathers'
+
+// A mapping of client side services
+export interface ServiceTypes {
+}
+
+export const createClient = (connection: TransportConnection) => {
+ const client = feathers()
+
+ client.configure(connection)
+
+ return client
+}
+`
+
+export const generate = async (ctx: AppGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ lib }) => lib, 'client')
+ )
+ )
diff --git a/packages/cli/src/app/templates/config.tpl.ts b/packages/cli/src/app/templates/config.tpl.ts
new file mode 100644
index 0000000000..bbd16df21f
--- /dev/null
+++ b/packages/cli/src/app/templates/config.tpl.ts
@@ -0,0 +1,21 @@
+import { generator, toFile, writeJSON } from '@feathershq/pinion'
+import { AppGeneratorContext } from '../index'
+
+const defaultConfig = ({}: AppGeneratorContext) => ({
+ host: 'localhost',
+ port: 3030,
+ public: './public/',
+ paginate: {
+ default: 10,
+ max: 50
+ }
+})
+
+const testConfig = {
+ port: 8998
+}
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx)
+ .then(writeJSON(defaultConfig, toFile('config', 'default.json')))
+ .then(writeJSON(testConfig, toFile('config', 'test.json')))
diff --git a/packages/cli/src/app/templates/configuration.tpl.ts b/packages/cli/src/app/templates/configuration.tpl.ts
new file mode 100644
index 0000000000..fd1d317128
--- /dev/null
+++ b/packages/cli/src/app/templates/configuration.tpl.ts
@@ -0,0 +1,41 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { AppGeneratorContext } from '../index'
+
+const template = ({}: AppGeneratorContext) =>
+ `import { schema, Ajv } from '@feathersjs/schema'
+import type { Infer } from '@feathersjs/schema'
+import { authenticationSettingsSchema } from '@feathersjs/authentication'
+
+export const configurationSchema = schema({
+ $id: 'ApplicationConfiguration',
+ type: 'object',
+ additionalProperties: false,
+ required: [ 'host', 'port', 'public', 'paginate' ],
+ properties: {
+ host: { type: 'string' },
+ port: { type: 'number' },
+ public: { type: 'string' },
+ authentication: authenticationSettingsSchema,
+ paginate: {
+ type: 'object',
+ additionalProperties: false,
+ required: [ 'default', 'max' ],
+ properties: {
+ default: { type: 'number' },
+ max: { type: 'number' }
+ }
+ }
+ }
+} as const, new Ajv())
+
+export type ConfigurationSchema = Infer
+`
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ lib }) => lib, 'schemas', 'configuration.schema')
+ )
+ )
diff --git a/packages/cli/src/app/templates/declarations.tpl.ts b/packages/cli/src/app/templates/declarations.tpl.ts
new file mode 100644
index 0000000000..e064af27c3
--- /dev/null
+++ b/packages/cli/src/app/templates/declarations.tpl.ts
@@ -0,0 +1,31 @@
+import { generator, toFile, when, renderTemplate } from '@feathershq/pinion'
+import { AppGeneratorContext } from '../index'
+
+const template = ({ framework }: AppGeneratorContext) =>
+ `import { HookContext as FeathersHookContext, NextFunction } from '@feathersjs/feathers'
+import { Application as FeathersApplication } from '@feathersjs/${framework}'
+import { ConfigurationSchema } from './schemas/configuration.schema'
+
+export { NextFunction }
+
+export interface Configuration extends ConfigurationSchema {}
+
+// A mapping of service names to types. Will be extended in service files.
+export interface ServiceTypes {}
+
+// The application instance type that will be used everywhere else
+export type Application = FeathersApplication
+
+export type HookContext = FeathersHookContext
+`
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(
+ when(
+ ({ language }) => language === 'ts',
+ renderTemplate(
+ template,
+ toFile(({ lib }) => lib, 'declarations.ts')
+ )
+ )
+ )
diff --git a/packages/cli/src/app/templates/index.html.tpl.ts b/packages/cli/src/app/templates/index.html.tpl.ts
new file mode 100644
index 0000000000..6f9167ea37
--- /dev/null
+++ b/packages/cli/src/app/templates/index.html.tpl.ts
@@ -0,0 +1,85 @@
+import { generator, renderTemplate, toFile } from '@feathershq/pinion'
+import { AppGeneratorContext } from '../index'
+
+const template = ({ name, description }: AppGeneratorContext) =>
+ `
+
+
+ ${name}
+
+
+
+
+
+
+ ${name}
+
+
+
+
+
+
+
+`
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(renderTemplate(template, toFile('public', 'index.html')))
diff --git a/packages/cli/src/app/templates/index.tpl.ts b/packages/cli/src/app/templates/index.tpl.ts
new file mode 100644
index 0000000000..8e0e6d66b3
--- /dev/null
+++ b/packages/cli/src/app/templates/index.tpl.ts
@@ -0,0 +1,23 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { AppGeneratorContext } from '../index'
+
+const template = ({}: AppGeneratorContext) =>
+ `import { app } from './app'
+import { logger } from './logger'
+
+const port = app.get('port')
+const host = app.get('host')
+
+app.listen(port).then(() => {
+ logger.info(\`Feathers app listening on http://\${host}:\${port}\`)
+})
+`
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ lib }) => lib, 'index')
+ )
+ )
diff --git a/packages/cli/src/app/templates/logger.tpl.ts b/packages/cli/src/app/templates/logger.tpl.ts
new file mode 100644
index 0000000000..ac0e7d73be
--- /dev/null
+++ b/packages/cli/src/app/templates/logger.tpl.ts
@@ -0,0 +1,38 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { AppGeneratorContext } from '../index'
+
+const template = ({}: AppGeneratorContext) =>
+ `import { createLogger, format, transports } from 'winston'
+import type { HookContext, NextFunction } from './declarations'
+
+// Configure the Winston logger. For the complete documentation see https://github.com/winstonjs/winston
+export const logger = createLogger({
+ // To see more detailed errors, change this to 'debug'
+ level: 'info',
+ format: format.combine(
+ format.splat(),
+ format.simple()
+ ),
+ transports: [
+ new transports.Console()
+ ]
+})
+
+export const logErrorHook = async (context: HookContext, next: NextFunction) => {
+ try {
+ await next()
+ } catch (error) {
+ logger.error(error)
+ throw error
+ }
+}
+`
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ lib }) => lib, 'logger')
+ )
+ )
diff --git a/packages/cli/src/app/templates/package.json.tpl.ts b/packages/cli/src/app/templates/package.json.tpl.ts
new file mode 100644
index 0000000000..dc65e07c39
--- /dev/null
+++ b/packages/cli/src/app/templates/package.json.tpl.ts
@@ -0,0 +1,65 @@
+import { generator, toFile, writeJSON } from '@feathershq/pinion'
+import { AppGeneratorContext } from '../index'
+
+const jsPackageJson = (lib: string) => ({
+ type: 'module',
+ scripts: {
+ start: `node ${lib}`,
+ dev: `nodemon ${lib}/`,
+ mocha: 'cross-env NODE_ENV=test mocha test/ --recursive --exit',
+ test: 'npm run mocha'
+ }
+})
+
+const tsPackageJson = (lib: string) => ({
+ scripts: {
+ dev: `nodemon -x ts-node ${lib}/index.ts`,
+ compile: 'shx rm -rf dist/ && tsc',
+ start: 'npm run compile && node dist/',
+ mocha:
+ 'cross-env NODE_ENV=test mocha test/ --require ts-node/register --recursive --extension .ts --exit',
+ test: 'npm run mocha'
+ }
+})
+
+const packageJson = ({
+ name,
+ description,
+ language,
+ packager,
+ database,
+ framework,
+ transports,
+ lib,
+ test
+}: AppGeneratorContext) => ({
+ name,
+ description,
+ version: '0.0.0',
+ homepage: '',
+ private: true,
+ keywords: ['feathers'],
+ author: {},
+ contributors: [] as string[],
+ bugs: {},
+ engines: {
+ node: `>= ${process.version.substring(1)}`
+ },
+ feathers: {
+ language,
+ packager,
+ database,
+ framework,
+ transports
+ },
+ directories: {
+ lib,
+ test
+ },
+ main: `${lib}/`,
+ browser: language === 'ts' ? 'dist/client' : `${lib}/client`,
+ ...(language === 'ts' ? tsPackageJson(lib) : jsPackageJson(lib))
+})
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(writeJSON(packageJson, toFile('package.json')))
diff --git a/packages/cli/src/app/templates/readme.md.tpl.ts b/packages/cli/src/app/templates/readme.md.tpl.ts
new file mode 100644
index 0000000000..16b6e94b0a
--- /dev/null
+++ b/packages/cli/src/app/templates/readme.md.tpl.ts
@@ -0,0 +1,50 @@
+import { generator, renderTemplate, toFile } from '@feathershq/pinion'
+import { AppGeneratorContext } from '../index'
+
+const template = ({ name, description }: AppGeneratorContext) =>
+ `# ${name}
+
+> ${description}
+
+## About
+
+This project uses [Feathers](http://feathersjs.com). An open source framework for building APIs and real-time applications.
+
+## Getting Started
+
+1. Make sure you have [NodeJS](https://nodejs.org/) and [npm](https://www.npmjs.com/) installed.
+2. Install your dependencies
+
+ \`\`\`
+ cd path/to/${name}
+ npm install
+ \`\`\`
+
+3. Start your app
+
+ \`\`\`
+ npm start
+ \`\`\`
+
+## Testing
+
+Run \`npm test\` and all your tests in the \`test/\` directory will be run.
+
+## Scaffolding
+
+Feathers has a powerful command line interface. Here are a few things it can do:
+
+\`\`\`
+$ npm install -g @feathersjs/cli # Install Feathers CLI
+
+$ feathers generate service # Generate a new Service
+$ feathers help # Show all commands
+\`\`\`
+
+## Help
+
+For more information on all the things you can do with Feathers visit [docs.feathersjs.com](http://docs.feathersjs.com).
+`
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(renderTemplate(template, toFile('readme.md')))
diff --git a/packages/cli/src/app/templates/services.tpl.ts b/packages/cli/src/app/templates/services.tpl.ts
new file mode 100644
index 0000000000..1768a5eba5
--- /dev/null
+++ b/packages/cli/src/app/templates/services.tpl.ts
@@ -0,0 +1,19 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { AppGeneratorContext } from '../index'
+
+const template = ({}: AppGeneratorContext) =>
+ `import type { Application } from '../declarations'
+
+export const services = (app: Application) => {
+ // All services will be registered here
+}
+`
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ lib }) => lib, 'services', 'index')
+ )
+ )
diff --git a/packages/cli/src/app/templates/tsconfig.json.tpl.ts b/packages/cli/src/app/templates/tsconfig.json.tpl.ts
new file mode 100644
index 0000000000..f4c43be5b4
--- /dev/null
+++ b/packages/cli/src/app/templates/tsconfig.json.tpl.ts
@@ -0,0 +1,26 @@
+import { generator, toFile, when, writeJSON } from '@feathershq/pinion'
+import { AppGeneratorContext } from '../index'
+
+export const generate = (ctx: AppGeneratorContext) =>
+ generator(ctx).then(
+ when(
+ (ctx) => ctx.language === 'ts',
+ writeJSON(
+ ({ lib }) => ({
+ 'ts-node': {
+ files: true
+ },
+ compilerOptions: {
+ target: 'es2020',
+ module: 'commonjs',
+ outDir: './dist',
+ rootDir: `./${lib}`,
+ strict: true,
+ esModuleInterop: true
+ },
+ exclude: ['test']
+ }),
+ toFile('tsconfig.json')
+ )
+ )
+ )
diff --git a/packages/cli/src/authentication/index.ts b/packages/cli/src/authentication/index.ts
new file mode 100644
index 0000000000..8577312216
--- /dev/null
+++ b/packages/cli/src/authentication/index.ts
@@ -0,0 +1,103 @@
+import chalk from 'chalk'
+import { generator, runGenerators, prompt, install } from '@feathershq/pinion'
+import { addVersions, FeathersBaseContext, getDatabaseAdapter } from '../commons'
+import { generate as serviceGenerator, ServiceGeneratorContext } from '../service/index'
+
+export interface AuthenticationGeneratorContext extends ServiceGeneratorContext {
+ service: string
+ entity: string
+ authStrategies: string[]
+ dependencies: string[]
+}
+
+export type AuthenticationGeneratorArguments = FeathersBaseContext &
+ Partial>
+
+export const prompts = (ctx: AuthenticationGeneratorArguments) => [
+ {
+ type: 'checkbox',
+ name: 'authStrategies',
+ when: !ctx.authStrategies,
+ message: 'Which authentication methods do you want to use?',
+ suffix: chalk.grey(' Other methods and providers can be added at any time.'),
+ choices: [
+ {
+ name: 'Email + Password',
+ value: 'local',
+ checked: true
+ },
+ {
+ name: 'Google',
+ value: 'google'
+ },
+ {
+ name: 'Facebook',
+ value: 'facebook'
+ },
+ {
+ name: 'Twitter',
+ value: 'twitter'
+ },
+ {
+ name: 'GitHub',
+ value: 'github'
+ },
+ {
+ name: 'Auth0',
+ value: 'auth0'
+ }
+ ]
+ },
+ {
+ name: 'service',
+ type: 'input',
+ when: !ctx.service,
+ message: 'What is your authentication service name?',
+ default: 'users'
+ },
+ {
+ name: 'entity',
+ type: 'input',
+ when: !ctx.entity,
+ message: 'What is your authenticated entity name?',
+ suffix: chalk.grey(' Will be available in params (e.g. params.user)'),
+ default: 'user'
+ }
+]
+
+export const generate = (ctx: AuthenticationGeneratorArguments) =>
+ generator(ctx)
+ .then(prompt(prompts))
+ .then(async (ctx) => {
+ const serviceContext = await serviceGenerator({
+ ...ctx,
+ name: ctx.service,
+ path: ctx.service,
+ isEntityService: true,
+ type: getDatabaseAdapter(ctx.feathers.database)
+ })
+
+ return {
+ ...ctx,
+ ...serviceContext
+ }
+ })
+ .then(runGenerators(__dirname, 'templates'))
+ .then((ctx) => {
+ const dependencies: string[] = []
+
+ dependencies.push('@feathersjs/authentication-oauth')
+
+ if (ctx.authStrategies.includes('local')) {
+ dependencies.push('@feathersjs/authentication-local')
+ }
+
+ if (ctx.dependencies) {
+ return {
+ ...ctx,
+ dependencies: [...ctx.dependencies, ...dependencies]
+ }
+ }
+
+ return install(addVersions(dependencies, ctx.dependencyVersions))(ctx)
+ })
diff --git a/packages/cli/src/authentication/templates/authentication.tpl.ts b/packages/cli/src/authentication/templates/authentication.tpl.ts
new file mode 100644
index 0000000000..4e3e74336f
--- /dev/null
+++ b/packages/cli/src/authentication/templates/authentication.tpl.ts
@@ -0,0 +1,53 @@
+import { generator, inject, before, toFile } from '@feathershq/pinion'
+import { getSource, renderSource } from '../../commons'
+import { AuthenticationGeneratorContext } from '../index'
+
+const template = ({ authStrategies, feathers }: AuthenticationGeneratorContext) =>
+ `import { AuthenticationService, JWTStrategy } from '@feathersjs/authentication'
+import { LocalStrategy } from '@feathersjs/authentication-local'
+import { OAuthStrategy } from '@feathersjs/authentication-oauth'
+${feathers.framework === 'express' ? `import { expressOauth } from '@feathersjs/authentication-oauth'` : ''}
+import type { Application } from './declarations'
+
+declare module './declarations' {
+ interface ServiceTypes {
+ 'authentication': AuthenticationService
+ }
+}
+
+export const authentication = (app: Application) => {
+ const authentication = new AuthenticationService(app)
+
+ authentication.register('jwt', new JWTStrategy())
+ ${authStrategies
+ .map(
+ (strategy) =>
+ ` authentication.register('${strategy}', ${
+ strategy === 'local' ? `new LocalStrategy()` : `new OAuthStrategy()`
+ })`
+ )
+ .join('\n')}
+
+ app.use('authentication', authentication)${
+ feathers.framework === 'express'
+ ? `
+ app.configure(expressOauth())`
+ : ''
+ }
+}
+`
+
+const importTemplate = "import { authentication } from './authentication'"
+const configureTemplate = 'app.configure(authentication)'
+const toAppFile = toFile(({ lib, language }) => [lib, `app.${language}`])
+
+export const generate = (ctx: AuthenticationGeneratorContext) =>
+ generator(ctx)
+ .then(
+ renderSource(
+ template,
+ toFile(({ lib }) => lib, 'authentication')
+ )
+ )
+ .then(inject(getSource(importTemplate), before('import { services } from'), toAppFile))
+ .then(inject(getSource(configureTemplate), before('app.configure(services)'), toAppFile))
diff --git a/packages/cli/src/authentication/templates/config.tpl.ts b/packages/cli/src/authentication/templates/config.tpl.ts
new file mode 100644
index 0000000000..f59e5dbf31
--- /dev/null
+++ b/packages/cli/src/authentication/templates/config.tpl.ts
@@ -0,0 +1,51 @@
+import crypto from 'crypto'
+import { generator, toFile, mergeJSON } from '@feathershq/pinion'
+import { AuthenticationGeneratorContext } from '../index'
+
+export const generate = (ctx: AuthenticationGeneratorContext) =>
+ generator(ctx).then(
+ mergeJSON(({ authStrategies }) => {
+ const authentication: any = {
+ entity: ctx.entity,
+ service: ctx.service,
+ secret: crypto.randomBytes(24).toString('base64'),
+ authStrategies: ['jwt'],
+ jwtOptions: {
+ header: {
+ typ: 'access'
+ },
+ audience: 'https://yourdomain.com',
+ algorithm: 'HS256',
+ expiresIn: '1d'
+ }
+ }
+
+ if (authStrategies.includes('local')) {
+ authentication.authStrategies.push('local')
+ authentication.local = {
+ usernameField: 'email',
+ passwordField: 'password'
+ }
+ }
+
+ const oauthStrategies = authStrategies.filter((name) => name !== 'local')
+
+ if (oauthStrategies.length) {
+ authentication.oauth = oauthStrategies.reduce(
+ (oauth, name) => {
+ oauth[name] = {
+ key: '',
+ secret: ''
+ }
+
+ return oauth
+ },
+ {
+ redirect: '/'
+ } as any
+ )
+ }
+
+ return { authentication }
+ }, toFile('config', 'default.json'))
+ )
diff --git a/packages/cli/src/authentication/templates/declarations.tpl.ts b/packages/cli/src/authentication/templates/declarations.tpl.ts
new file mode 100644
index 0000000000..8ac0316ca3
--- /dev/null
+++ b/packages/cli/src/authentication/templates/declarations.tpl.ts
@@ -0,0 +1,29 @@
+import { generator, inject, before, toFile, when, append } from '@feathershq/pinion'
+import { AuthenticationGeneratorContext } from '../index'
+
+const importTemplate = ({ upperName, schemaPath }: AuthenticationGeneratorContext) =>
+ `import { ${upperName}Result } from './${schemaPath}'
+`
+
+const paramsTemplate = ({
+ entity,
+ upperName
+}: AuthenticationGeneratorContext) => `// Add the ${entity} as an optional property to all params
+declare module '@feathersjs/feathers' {
+ interface Params {
+ ${entity}?: ${upperName}Result
+ }
+}
+`
+
+const toDeclarationFile = toFile(({ lib }) => lib, 'declarations.ts')
+
+export const generate = (ctx: AuthenticationGeneratorContext) =>
+ generator(ctx)
+ .then(
+ when(
+ (ctx) => ctx.language === 'ts',
+ inject(importTemplate, before('export { NextFunction }'), toDeclarationFile)
+ )
+ )
+ .then(when((ctx) => ctx.language === 'ts', inject(paramsTemplate, append(), toDeclarationFile)))
diff --git a/packages/cli/src/authentication/templates/knex.tpl.ts b/packages/cli/src/authentication/templates/knex.tpl.ts
new file mode 100644
index 0000000000..b66e16b520
--- /dev/null
+++ b/packages/cli/src/authentication/templates/knex.tpl.ts
@@ -0,0 +1,59 @@
+import { generator, when, toFile } from '@feathershq/pinion'
+import { getDatabaseAdapter, renderSource } from '../../commons'
+import { AuthenticationGeneratorContext } from '../index'
+
+const migrationTemplate = ({
+ kebabName,
+ authStrategies
+}: AuthenticationGeneratorContext) => `import type { Knex } from 'knex'
+
+export async function up(knex: Knex): Promise {
+ await knex.schema.alterTable('${kebabName}', function (table) {
+ table.dropColumn('text')${authStrategies
+ .map((name) =>
+ name === 'local'
+ ? `
+ table.string('email').unique()
+ table.string('password')`
+ : `
+ table.string('${name}Id')`
+ )
+ .join('\n')}
+ })
+}
+
+export async function down(knex: Knex): Promise {
+ await knex.schema.alterTable('${kebabName}', function (table) {
+ table.string('text')${authStrategies
+ .map((name) =>
+ name === 'local'
+ ? `
+ table.dropColumn('email')
+ table.dropColumn('password')`
+ : `
+ table.dropColumn('${name}Id')`
+ )
+ .join(',\n')}
+ })
+}
+`
+
+export const generate = (ctx: AuthenticationGeneratorContext) =>
+ generator(ctx).then(
+ when(
+ (ctx) => getDatabaseAdapter(ctx.feathers.database) === 'knex',
+ renderSource(
+ migrationTemplate,
+ toFile(
+ toFile('migrations', () => {
+ const now = new Date()
+ const migrationDate =
+ `${now.getUTCFullYear()}${now.getUTCMonth()}${now.getUTCDay()}` +
+ `${now.getUTCHours()}${now.getUTCMinutes()}${now.getUTCSeconds() + 1}`
+
+ return `${migrationDate}_authentication`
+ })
+ )
+ )
+ )
+ )
diff --git a/packages/cli/src/authentication/templates/test.tpl.ts b/packages/cli/src/authentication/templates/test.tpl.ts
new file mode 100644
index 0000000000..d7bddc5486
--- /dev/null
+++ b/packages/cli/src/authentication/templates/test.tpl.ts
@@ -0,0 +1,50 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { AuthenticationGeneratorContext } from '../index'
+
+const template = ({ authStrategies, relative, lib }: AuthenticationGeneratorContext) =>
+ `import assert from 'assert';
+import { app } from '${relative}/${lib}/app';
+
+describe('authentication', () => {
+ ${
+ authStrategies.includes('local')
+ ? `
+ const userInfo = {
+ email: 'someone@example.com',
+ password: 'supersecret'
+ }
+
+ before(async () => {
+ try {
+ await app.service('users').create(userInfo)
+ } catch (error) {
+ // Do nothing, it just means the user already exists and can be tested
+ }
+ });
+
+ it('authenticates user and creates accessToken', async () => {
+ const { user, accessToken } = await app.service('authentication').create({
+ strategy: 'local',
+ ...userInfo
+ }, {})
+
+ assert.ok(accessToken, 'Created access token for user')
+ assert.ok(user, 'Includes user in authentication data')
+ })`
+ : ''
+ }
+
+ it('registered the authentication service', () => {
+ assert.ok(app.service('authentication'))
+ })
+})
+`
+
+export const generate = (ctx: AuthenticationGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ test }) => test, 'authentication.test')
+ )
+ )
diff --git a/packages/cli/src/authentication/templates/user.resolver.tpl.ts b/packages/cli/src/authentication/templates/user.resolver.tpl.ts
new file mode 100644
index 0000000000..35f87eb08c
--- /dev/null
+++ b/packages/cli/src/authentication/templates/user.resolver.tpl.ts
@@ -0,0 +1,109 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { AuthenticationGeneratorContext } from '../index'
+
+const template = ({
+ camelName,
+ upperName,
+ relative,
+ authStrategies,
+ type,
+ schemaPath
+}: AuthenticationGeneratorContext) =>
+ `import { resolve } from '@feathersjs/schema'
+${authStrategies.includes('local') ? `import { passwordHash } from '@feathersjs/authentication-local'` : ''}
+import type { HookContext } from '${relative}/declarations'
+import type {
+ ${upperName}Data,
+ ${upperName}Patch,
+ ${upperName}Result,
+ ${upperName}Query,
+} from '../${schemaPath}'
+import {
+ ${camelName}DataSchema,
+ ${camelName}PatchSchema,
+ ${camelName}ResultSchema,
+ ${camelName}QuerySchema
+} from '../${schemaPath}'
+
+
+// Resolver for the basic data model (e.g. creating new entries)
+export const ${camelName}DataResolver = resolve<${upperName}Data, HookContext>({
+ schema: ${camelName}DataSchema,
+ validate: 'before',
+ properties: {
+ ${authStrategies.includes('local') ? `password: passwordHash({ strategy: 'local' })` : ''}
+ }
+})
+
+
+// Resolver for making partial updates
+export const ${camelName}PatchResolver = resolve<${upperName}Patch, HookContext>({
+ schema: ${camelName}PatchSchema,
+ validate: 'before',
+ properties: {}
+})
+
+
+// Resolver for the data that is being returned
+export const ${camelName}ResultResolver = resolve<${upperName}Result, HookContext>({
+ schema: ${camelName}ResultSchema,
+ validate: false,
+ properties: {}
+})
+
+
+// Resolver for the "safe" version that external clients are allowed to see
+export const ${camelName}DispatchResolver = resolve<${upperName}Result, HookContext>({
+ schema: ${camelName}ResultSchema,
+ validate: false,
+ properties: {
+ // The password should never be visible externally
+ password: async () => undefined
+ }
+})
+
+
+// Resolver for allowed query properties
+export const ${camelName}QueryResolver = resolve<${upperName}Query, HookContext>({
+ schema: ${camelName}QuerySchema,
+ validate: 'before',
+ properties: {
+ // If there is a user (e.g. with authentication), they are only allowed to see their own data
+ ${type === 'mongodb' ? '_id' : 'id'}: async (value, user, context) => {
+ if (context.params.user) {
+ return context.params.user.${type === 'mongodb' ? '_id' : 'id'}
+ }
+
+ return value
+ }
+ }
+})
+
+
+// Export all resolvers in a format that can be used with the resolveAll hook
+export const ${camelName}Resolvers = {
+ result: ${camelName}ResultResolver,
+ dispatch: ${camelName}DispatchResolver,
+ data: {
+ create: ${camelName}DataResolver,
+ update: ${camelName}DataResolver,
+ patch: ${camelName}PatchResolver
+ },
+ query: ${camelName}QueryResolver
+}
+`
+
+export const generate = (ctx: AuthenticationGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ lib, folder, kebabName }: AuthenticationGeneratorContext) => [
+ lib,
+ 'resolvers',
+ ...folder,
+ `${kebabName}.resolver`
+ ]),
+ { force: true }
+ )
+ )
diff --git a/packages/cli/src/authentication/templates/user.schema.tpl.ts b/packages/cli/src/authentication/templates/user.schema.tpl.ts
new file mode 100644
index 0000000000..9043b1f241
--- /dev/null
+++ b/packages/cli/src/authentication/templates/user.schema.tpl.ts
@@ -0,0 +1,93 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { AuthenticationGeneratorContext } from '../index'
+
+const template = ({ camelName, upperName, authStrategies, type }: AuthenticationGeneratorContext) =>
+ `import { schema, querySyntax } from '@feathersjs/schema'
+import type { Infer } from '@feathersjs/schema'
+
+// Schema for the basic data model (e.g. creating new entries)
+export const ${camelName}DataSchema = schema({
+ $id: '${upperName}Data',
+ type: 'object',
+ additionalProperties: false,
+ required: [ ${authStrategies.includes('local') ? "'email', 'password'" : ''} ],
+ properties: {
+ ${authStrategies
+ .map((name) =>
+ name === 'local'
+ ? `email: {
+ type: 'string'
+ },
+ password: {
+ type: 'string'
+ }`
+ : ` ${name}Id: {
+ type: 'string'
+ }`
+ )
+ .join(',\n')}
+ }
+} as const)
+
+export type ${upperName}Data = Infer
+
+
+// Schema for making partial updates
+export const ${camelName}PatchSchema = schema({
+ $id: '${upperName}Patch',
+ type: 'object',
+ additionalProperties: false,
+ required: [],
+ properties: {
+ ...${camelName}DataSchema.properties
+ }
+} as const)
+
+export type ${upperName}Patch = Infer
+
+// Schema for the data that is being returned
+export const ${camelName}ResultSchema = schema({
+ $id: '${upperName}Result',
+ type: 'object',
+ additionalProperties: false,
+ required: [ '${type === 'mongodb' ? '_id' : 'id'}' ],
+ properties: {
+ ...${camelName}DataSchema.properties,
+ ${type === 'mongodb' ? '_id' : 'id'}: {
+ type: 'string'
+ }
+ }
+} as const)
+
+export type ${upperName}Result = Infer
+
+// Queries shouldn't allow doing anything with the password
+const { password, ...${camelName}QueryProperties } = ${camelName}ResultSchema.properties
+
+// Schema for allowed query properties
+export const ${camelName}QuerySchema = schema({
+ $id: '${upperName}Query',
+ type: 'object',
+ additionalProperties: false,
+ properties: {
+ ...querySyntax(${camelName}QueryProperties)
+ }
+} as const)
+
+export type ${upperName}Query = Infer
+`
+
+export const generate = (ctx: AuthenticationGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ lib, folder, kebabName }: AuthenticationGeneratorContext) => [
+ lib,
+ 'schemas',
+ ...folder,
+ `${kebabName}.schema`
+ ]),
+ { force: true }
+ )
+ )
diff --git a/packages/cli/src/commons.ts b/packages/cli/src/commons.ts
new file mode 100644
index 0000000000..d2dd8a975f
--- /dev/null
+++ b/packages/cli/src/commons.ts
@@ -0,0 +1,187 @@
+import { PackageJson } from 'type-fest'
+import { Callable, PinionContext, loadJSON, fromFile, getCallable, renderTemplate } from '@feathershq/pinion'
+import * as ts from 'typescript'
+import prettier from 'prettier'
+import path from 'path'
+
+export type DependencyVersions = { [key: string]: string }
+
+/**
+ * The database types supported by this generator
+ */
+export type DatabaseType = 'mongodb' | 'mysql' | 'postgresql' | 'sqlite' | 'mssql'
+
+/**
+ * Returns the name of the Feathers database adapter for a supported database type
+ *
+ * @param database The type of the database
+ * @returns The name of the adapter
+ */
+export const getDatabaseAdapter = (database: DatabaseType) => (database === 'mongodb' ? 'mongodb' : 'knex')
+
+export type FeathersAppInfo = {
+ /**
+ * The application language
+ */
+ language: 'ts' | 'js'
+ /**
+ * The main database
+ */
+ database: DatabaseType
+ /**
+ * The package manager used
+ */
+ packager: 'yarn' | 'npm'
+ /**
+ * A list of all chosen transports
+ */
+ transports: ('rest' | 'websockets')[]
+ /**
+ * The HTTP framework used
+ */
+ framework: 'koa' | 'express'
+}
+
+export interface AppPackageJson extends PackageJson {
+ feathers?: FeathersAppInfo
+}
+
+export interface FeathersBaseContext extends PinionContext {
+ /**
+ * Information about the Feathers application (like chosen language, database etc.)
+ * usually taken from `package.json`
+ */
+ feathers: FeathersAppInfo
+ /**
+ * The package.json file
+ */
+ pkg: AppPackageJson
+ /**
+ * The folder where source files are put
+ */
+ lib: string
+ /**
+ * The folder where test files are put
+ */
+ test: string
+ /**
+ * The language the app is generated in
+ */
+ language: 'js' | 'ts'
+ /**
+ * A list dependencies that should be installed with a certain version.
+ * Used for installing development dependencies during testing.
+ */
+ dependencyVersions?: DependencyVersions
+}
+
+/**
+ * Returns dependencies with the versions from the context attached (if available)
+ *
+ * @param dependencies The dependencies to install
+ * @param versions The dependency version list
+ * @returns A list of dependencies with their versions
+ */
+export const addVersions = (dependencies: string[], versions: DependencyVersions) =>
+ dependencies.map((dep) => `${dep}@${versions[dep] ? versions[dep] : 'latest'}`)
+
+/**
+ * Loads the application package.json and populates information like the library and test directory
+ * and Feathers app specific information.
+ *
+ * @returns The updated context
+ */
+export const initializeBaseContext =
+ () =>
+ (ctx: C) =>
+ Promise.resolve(ctx)
+ .then(loadJSON(fromFile('package.json'), (pkg) => ({ pkg }), {}))
+ .then(
+ loadJSON(path.join(__dirname, '..', 'package.json'), (pkg: PackageJson) => ({
+ dependencyVersions: {
+ ...pkg.devDependencies,
+ ...ctx.dependencyVersions
+ }
+ }))
+ )
+ .then((ctx) => ({
+ ...ctx,
+ lib: ctx.pkg?.directories?.lib || 'src',
+ test: ctx.pkg?.directories?.test || 'test',
+ language: ctx.language || ctx.pkg?.feathers?.language,
+ feathers: ctx.pkg?.feathers
+ }))
+
+const importRegex = /from '(\..*)'/g
+const escapeNewLines = (code: string) => code.replace(/\n\n/g, '\n/* :newline: */')
+const restoreNewLines = (code: string) => code.replace(/\/\* :newline: \*\//g, '\n')
+const fixLocalImports = (code: string) => code.replace(importRegex, "from '$1.js'")
+
+/**
+ * Returns the transpiled and prettified JavaScript for a TypeScript source code
+ *
+ * @param typescript The TypeScript source code
+ * @param options TypeScript transpilation options
+ * @returns The formatted JavaScript source code
+ */
+export const getJavaScript = (typescript: string, options: ts.TranspileOptions = {}) => {
+ const source = escapeNewLines(typescript)
+ const transpiled = ts.transpileModule(source, {
+ ...options,
+ compilerOptions: {
+ module: ts.ModuleKind.ESNext,
+ target: ts.ScriptTarget.ES2020,
+ preserveValueImports: true,
+ ...options.compilerOptions
+ }
+ })
+ const code = fixLocalImports(restoreNewLines(transpiled.outputText))
+
+ return prettier.format(code, {
+ semi: false,
+ parser: 'babel',
+ singleQuote: true
+ })
+}
+
+/**
+ * Render a source file template for the language set in the context. Will do nothing
+ * it there is no template for the selected language.
+ *
+ * @param templates The JavaScript and TypeScript template to render
+ * @param toFile The target filename without extension (will be added based on language)
+ * @returns The updated context
+ */
+export const renderSource =
+ (
+ template: Callable,
+ toFile: Callable,
+ options?: { force: boolean }
+ ) =>
+ async (ctx: C) => {
+ if (!template) {
+ return ctx
+ }
+
+ const { language } = ctx
+ const fileName = await getCallable(toFile, ctx)
+ const content = language === 'js' ? getJavaScript(await getCallable(template, ctx)) : template
+ const renderer = renderTemplate(content, `${fileName}.${language}`, options)
+
+ return renderer(ctx)
+ }
+
+/**
+ * Returns the TypeScript or transpiled JavaScript source code
+ *
+ * @param template The source template
+ * @returns
+ */
+export const getSource =
+ (template: Callable) =>
+ async (ctx: T) => {
+ const { language } = ctx
+ const source = await getCallable(template, ctx)
+
+ return language === 'js' ? getJavaScript(source) : source
+ }
diff --git a/packages/cli/src/connection/index.ts b/packages/cli/src/connection/index.ts
new file mode 100644
index 0000000000..f94cbb4fcb
--- /dev/null
+++ b/packages/cli/src/connection/index.ts
@@ -0,0 +1,109 @@
+import { generator, runGenerator, prompt, install, mergeJSON, toFile } from '@feathershq/pinion'
+import chalk from 'chalk'
+import { FeathersBaseContext, DatabaseType, getDatabaseAdapter, addVersions } from '../commons'
+
+export interface ConnectionGeneratorContext extends FeathersBaseContext {
+ database: DatabaseType
+ connectionString: string
+ dependencies: string[]
+}
+
+export type ConnectionGeneratorArguments = FeathersBaseContext &
+ Partial>
+
+export const defaultConnectionString = (type: DatabaseType, name: string) => {
+ const connectionStrings = {
+ mongodb: `mongodb://localhost:27017/${name}`,
+ mysql: `mysql://root:@localhost:3306/${name}`,
+ postgresql: `postgres://postgres:@localhost:5432/${name}`,
+ sqlite: `${name}.sqlite`,
+ mssql: `mssql://root:password@localhost:1433/${name}`
+ }
+
+ return connectionStrings[type]
+}
+
+export const prompts = ({ database, connectionString, pkg }: ConnectionGeneratorArguments) => [
+ {
+ name: 'database',
+ type: 'list',
+ when: !database,
+ message: 'Which database are you connecting to?',
+ suffix: chalk.grey(' Other databases can be added at any time'),
+ choices: [
+ { value: 'sqlite', name: 'SQLite' },
+ { value: 'mongodb', name: 'MongoDB' },
+ { value: 'postgresql', name: 'PostgreSQL' },
+ { value: 'mysql', name: 'MySQL/MariaDB' },
+ { value: 'mssql', name: 'Microsoft SQL' }
+ ]
+ },
+ {
+ name: 'connectionString',
+ type: 'input',
+ when: !connectionString,
+ message: 'Enter your database connection string',
+ default: (answers: { name?: string; database: DatabaseType }) =>
+ defaultConnectionString(answers.database, answers.name || pkg.name)
+ }
+]
+
+export const DATABASE_CLIENTS = {
+ mongodb: 'mongodb',
+ sqlite: 'sqlite3',
+ postgresql: 'pg',
+ mysql: 'mysql',
+ mssql: 'tedious'
+}
+
+export const getDatabaseClient = (database: DatabaseType) => DATABASE_CLIENTS[database]
+
+export const generate = (ctx: ConnectionGeneratorArguments) =>
+ generator(ctx)
+ .then(prompt(prompts))
+ .then(
+ runGenerator(
+ __dirname,
+ 'templates',
+ ({ database }) => `${getDatabaseAdapter(database)}.tpl`
+ )
+ )
+ .then(
+ mergeJSON(
+ ({ connectionString, database }) =>
+ getDatabaseAdapter(database) === 'knex'
+ ? {
+ [database]: {
+ client: getDatabaseClient(database),
+ connection: connectionString,
+ ...(database === 'sqlite' ? { useNullAsDefault: true } : {})
+ }
+ }
+ : {
+ [database]: connectionString
+ },
+ toFile('config', 'default.json')
+ )
+ )
+ .then((ctx: ConnectionGeneratorContext) => {
+ const dependencies: string[] = []
+ const adapter = getDatabaseAdapter(ctx.database)
+ const dbClient = getDatabaseClient(ctx.database)
+
+ dependencies.push(`@feathersjs/${adapter}`)
+
+ if (adapter === 'knex') {
+ dependencies.push('knex')
+ }
+
+ dependencies.push(dbClient)
+
+ if (ctx.dependencies) {
+ return {
+ ...ctx,
+ dependencies: [...ctx.dependencies, ...dependencies]
+ }
+ }
+
+ return install(addVersions(dependencies, ctx.dependencyVersions))(ctx)
+ })
diff --git a/packages/cli/src/connection/templates/knex.tpl.ts b/packages/cli/src/connection/templates/knex.tpl.ts
new file mode 100644
index 0000000000..e5ab9c6499
--- /dev/null
+++ b/packages/cli/src/connection/templates/knex.tpl.ts
@@ -0,0 +1,79 @@
+import { generator, toFile, inject, before, mergeJSON } from '@feathershq/pinion'
+import { ConnectionGeneratorContext } from '../index'
+import { getSource, renderSource } from '../../commons'
+
+const template = ({ database }: ConnectionGeneratorContext) =>
+ `import knex from 'knex'
+import type { Knex } from 'knex'
+import type { Application } from './declarations'
+
+declare module './declarations' {
+ interface Configuration {
+ ${database}Client: Knex
+ }
+}
+
+export const ${database} = (app: Application) => {
+ const config = app.get('${database}')
+ const db = knex(config!)
+
+ app.set('${database}Client', db);
+}
+`
+
+const knexfile = ({ lib, language, database }: ConnectionGeneratorContext) => `
+import { app } from './${lib}/app'
+
+// Load our database connection info from the app configuration
+const config = app.get('${database}')
+
+${language === 'js' ? 'export default config' : 'module.exports = config'}
+`
+
+const configurationTemplate = ({ database }: ConnectionGeneratorContext) => ` ${database}: {
+ type: 'object',
+ properties: {
+ client: { type: 'string' },
+ connection: { type: 'string' }
+ }
+ },`
+
+const importTemplate = ({ database }: ConnectionGeneratorContext) =>
+ `import { ${database} } from './${database}'`
+const configureTemplate = ({ database }: ConnectionGeneratorContext) => `app.configure(${database})`
+const toAppFile = toFile(({ lib, language }) => [lib, `app.${language}`])
+
+export const generate = (ctx: ConnectionGeneratorContext) =>
+ generator(ctx)
+ .then(
+ renderSource(
+ template,
+ toFile(({ lib, database }) => [lib, database])
+ )
+ )
+ .then(renderSource(knexfile, toFile('knexfile')))
+ .then(
+ mergeJSON(
+ {
+ scripts: {
+ migrate: 'knex migrate:latest',
+ 'migrate:create': 'knex migrate:create',
+ test: 'cross-env NODE_ENV=test npm run migrate && npm run mocha'
+ }
+ },
+ toFile('package.json')
+ )
+ )
+ .then(
+ inject(
+ configurationTemplate,
+ before('authentication: authenticationSettingsSchema'),
+ toFile(({ lib, language }) => [
+ lib,
+ 'schemas',
+ `configuration.schema.${language}`
+ ])
+ )
+ )
+ .then(inject(getSource(importTemplate), before('import { services } from'), toAppFile))
+ .then(inject(getSource(configureTemplate), before('app.configure(services)'), toAppFile))
diff --git a/packages/cli/src/connection/templates/mongodb.tpl.ts b/packages/cli/src/connection/templates/mongodb.tpl.ts
new file mode 100644
index 0000000000..61a5a2d38d
--- /dev/null
+++ b/packages/cli/src/connection/templates/mongodb.tpl.ts
@@ -0,0 +1,51 @@
+import { generator, toFile, inject, before } from '@feathershq/pinion'
+import { ConnectionGeneratorContext } from '../index'
+import { getSource, renderSource } from '../../commons'
+
+const template = ({}: ConnectionGeneratorContext) =>
+ `import { MongoClient } from 'mongodb'
+import type { Db } from 'mongodb'
+import type { Application } from './declarations'
+
+declare module './declarations' {
+ interface Configuration {
+ mongodbClient: Promise
+ }
+}
+
+export const mongodb = (app: Application) => {
+ const connection = app.get('mongodb') as string
+ const database = connection.substring(connection.lastIndexOf('/') + 1)
+ const mongoClient = MongoClient.connect(connection)
+ .then(client => client.db(database))
+
+ app.set('mongodbClient', mongoClient)
+}
+`
+const configurationTemplate = ({ database }: ConnectionGeneratorContext) =>
+ ` ${database}: { type: 'string' },`
+const importTemplate = "import { mongodb } from './mongodb'"
+const configureTemplate = 'app.configure(mongodb)'
+const toAppFile = toFile(({ lib, language }) => [lib, `app.${language}`])
+
+export const generate = (ctx: ConnectionGeneratorContext) =>
+ generator(ctx)
+ .then(
+ renderSource(
+ template,
+ toFile(({ lib }) => lib, 'mongodb')
+ )
+ )
+ .then(
+ inject(
+ configurationTemplate,
+ before('authentication: authenticationSettingsSchema'),
+ toFile(({ lib, language }) => [
+ lib,
+ 'schemas',
+ `configuration.schema.${language}`
+ ])
+ )
+ )
+ .then(inject(getSource(importTemplate), before('import { services } from'), toAppFile))
+ .then(inject(getSource(configureTemplate), before('app.configure(services)'), toAppFile))
diff --git a/packages/cli/src/hook/index.ts b/packages/cli/src/hook/index.ts
new file mode 100644
index 0000000000..5427b9c040
--- /dev/null
+++ b/packages/cli/src/hook/index.ts
@@ -0,0 +1,45 @@
+import { generator, prompt, runGenerators } from '@feathershq/pinion'
+import _ from 'lodash'
+import { FeathersBaseContext } from '../commons'
+
+export interface HookGeneratorContext extends FeathersBaseContext {
+ name: string
+ camelName: string
+ kebabName: string
+ type: 'regular' | 'around'
+}
+
+export const generate = (ctx: HookGeneratorContext) =>
+ generator(ctx)
+ .then(
+ prompt(({ type, name }) => [
+ {
+ type: 'input',
+ name: 'name',
+ message: 'What is the name of the hook?',
+ when: !name
+ },
+ {
+ name: 'type',
+ type: 'list',
+ when: !type,
+ message: 'What kind of hook is it?',
+ choices: [
+ { value: 'around', name: 'Around' },
+ { value: 'regular', name: 'Before, After or Error' }
+ ]
+ }
+ ])
+ )
+ .then((ctx) => {
+ const { name } = ctx
+ const kebabName = _.kebabCase(name)
+ const camelName = _.camelCase(name)
+
+ return {
+ ...ctx,
+ kebabName,
+ camelName
+ }
+ })
+ .then(runGenerators(__dirname, 'templates'))
diff --git a/packages/cli/src/hook/templates/hook.tpl.ts b/packages/cli/src/hook/templates/hook.tpl.ts
new file mode 100644
index 0000000000..35ce1bb99d
--- /dev/null
+++ b/packages/cli/src/hook/templates/hook.tpl.ts
@@ -0,0 +1,28 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { HookGeneratorContext } from '../index'
+import { renderSource } from '../../commons'
+
+const aroundTemplate = ({ camelName, name }: HookGeneratorContext) => `
+import { HookContext, NextFunction } from '../declarations'
+
+export const ${camelName} = async (context: HookContext, next: NextFunction) => {
+ console.log(\`Running hook ${name} on \${context.path}\.\${context.method}\`)
+ await next()
+}
+`
+
+const regularTemplate = ({
+ camelName
+}: HookGeneratorContext) => `import { HookContext } from '../declarations'
+
+export const ${camelName} = async (context: HookContext) => {
+ console.log(\`Running hook ${name} on \${context.path}\.\${context.method}\`)
+}`
+
+export const generate = (ctx: HookGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ (ctx) => (ctx.type === 'around' ? aroundTemplate(ctx) : regularTemplate(ctx)),
+ toFile(({ lib, kebabName }) => [lib, 'hooks', kebabName])
+ )
+ )
diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts
new file mode 100644
index 0000000000..6bc849aa54
--- /dev/null
+++ b/packages/cli/src/index.ts
@@ -0,0 +1,27 @@
+import { Argv, generator, runGenerator, getContext } from '@feathershq/pinion'
+import { FeathersBaseContext, initializeBaseContext } from './commons'
+
+export const commandRunner = (yarg: any) => {
+ const ctx = getContext({
+ ...yarg.argv
+ })
+
+ return generate(ctx)
+}
+
+export const generate = (ctx: FeathersBaseContext) =>
+ generator(ctx)
+ .then(initializeBaseContext())
+ .then(runGenerator(__dirname, (ctx: FeathersBaseContext) => `${ctx._[1]}`, 'index'))
+
+export const command = (yargs: Argv) =>
+ yargs
+ .command('generate', 'Run a generator', (yarg) =>
+ yarg
+ .command('app', 'Generate a new app', commandRunner)
+ .command('service', 'Generate a service', commandRunner)
+ .command('connection', 'Connect to a different database', commandRunner)
+ .command('hook', 'Generate a hook', commandRunner)
+ )
+ .usage('Usage: $0 [options]')
+ .help()
diff --git a/packages/cli/src/service/index.ts b/packages/cli/src/service/index.ts
new file mode 100644
index 0000000000..ec1b58e79d
--- /dev/null
+++ b/packages/cli/src/service/index.ts
@@ -0,0 +1,150 @@
+import _ from 'lodash'
+import { generator, runGenerator, runGenerators, prompt } from '@feathershq/pinion'
+
+import { FeathersBaseContext, getDatabaseAdapter } from '../commons'
+
+export interface ServiceGeneratorContext extends FeathersBaseContext {
+ /**
+ * The chosen service name
+ */
+ name: string
+ /**
+ * The path the service is registered on
+ */
+ path: string
+ /**
+ * The list of subfolders this service is in
+ */
+ folder: string[]
+ /**
+ * The `camelCase` service name starting with a lowercase letter
+ */
+ camelName: string
+ /**
+ * The `CamelCase` service name starting with an uppercase letter
+ */
+ upperName: string
+ /**
+ * The service class name combined as `CamelCaseService`
+ */
+ className: string
+ /**
+ * A kebab-cased (filename friendly) version of the service name
+ */
+ kebabName: string
+ /**
+ * The actual filename (the last element of the path)
+ */
+ fileName: string
+ /**
+ * Indicates how many file paths we should go up to import other things (e.g. `../../`)
+ */
+ relative: string
+ /**
+ * The chosen service type
+ */
+ type: 'knex' | 'mongodb' | 'custom'
+ /**
+ * Wether this service uses authentication
+ */
+ authentication: boolean
+ /**
+ * Set to true if this service is for an authentication entity
+ */
+ isEntityService?: boolean
+ /**
+ * The name of the schema file
+ */
+ schemaPath: string
+ /**
+ * The name of the resolver file
+ */
+ resolverPath: string
+}
+
+/**
+ * Parameters the generator is called with
+ */
+export type ServiceGeneratorArguments = FeathersBaseContext &
+ Partial>
+
+export const generate = (ctx: ServiceGeneratorArguments) =>
+ generator(ctx)
+ .then(
+ prompt(
+ ({ name, path, type, authentication, isEntityService }) => [
+ {
+ name: 'name',
+ type: 'input',
+ when: !name,
+ message: 'What is the name of your service?'
+ },
+ {
+ name: 'path',
+ type: 'input',
+ when: !path,
+ message: 'Which path should the service be registered on?',
+ default: (answers: ServiceGeneratorArguments) => `${_.kebabCase(answers.name)}`
+ },
+ {
+ name: 'authentication',
+ type: 'confirm',
+ when: authentication === undefined && !isEntityService,
+ message: 'Does this service require authentication?'
+ },
+ {
+ name: 'type',
+ type: 'list',
+ when: !type,
+ message: 'What kind of service is it?',
+ default: getDatabaseAdapter(ctx.feathers.database),
+ choices: [
+ {
+ value: 'knex',
+ name: 'SQL'
+ },
+ {
+ value: 'mongodb',
+ name: 'MongoDB'
+ },
+ {
+ value: 'custom',
+ name: 'A custom service'
+ }
+ ]
+ }
+ ]
+ )
+ )
+ .then(async (ctx) => {
+ const { name, path, type } = ctx
+ const kebabName = _.kebabCase(name)
+ const camelName = _.camelCase(name)
+ const upperName = _.upperFirst(camelName)
+ const className = `${upperName}Service`
+
+ const pathElements = path.split('/').filter((el) => el !== '')
+ const relative = pathElements.map(() => '..').join('/')
+ const folder = _.initial(pathElements)
+ const fileName = _.last(pathElements)
+ const schemaPath = ['schemas', ...folder, `${fileName}.schema`].join('/')
+ const resolverPath = ['resolvers', ...folder, `${fileName}.resolver`].join('/')
+
+ return {
+ name,
+ type,
+ path,
+ folder,
+ fileName,
+ upperName,
+ className,
+ kebabName,
+ camelName,
+ relative,
+ resolverPath,
+ schemaPath,
+ ...ctx
+ }
+ })
+ .then(runGenerators(__dirname, 'templates'))
+ .then(runGenerator(__dirname, 'type', ({ type }) => `${type}.tpl`))
diff --git a/packages/cli/src/service/templates/client.tpl.ts b/packages/cli/src/service/templates/client.tpl.ts
new file mode 100644
index 0000000000..f3a3fd4b18
--- /dev/null
+++ b/packages/cli/src/service/templates/client.tpl.ts
@@ -0,0 +1,27 @@
+import { generator, inject, toFile, when, after } from '@feathershq/pinion'
+import { ServiceGeneratorContext } from '../index'
+
+const schemaImports = ({ upperName, schemaPath }: ServiceGeneratorContext) => `import type {
+ ${upperName}Data,
+ ${upperName}Result,
+ ${upperName}Query,
+} from './${schemaPath}'`
+const declarationTemplate = ({ path, upperName }: ServiceGeneratorContext) =>
+ ` '${path}': Service<${upperName}Data, ${upperName}Result, Params<${upperName}Query>>`
+
+const toClientFile = toFile(({ lib, language }) => [lib, `client.${language}`])
+
+export const generate = async (ctx: ServiceGeneratorContext) =>
+ generator(ctx)
+ .then(
+ when(
+ (ctx) => ctx.language === 'ts',
+ inject(schemaImports, after("from '@feathersjs/feathers'"), toClientFile)
+ )
+ )
+ .then(
+ when(
+ (ctx) => ctx.language === 'ts',
+ inject(declarationTemplate, after('export interface ServiceTypes'), toClientFile)
+ )
+ )
diff --git a/packages/cli/src/service/templates/resolver.tpl.ts b/packages/cli/src/service/templates/resolver.tpl.ts
new file mode 100644
index 0000000000..7750afd74d
--- /dev/null
+++ b/packages/cli/src/service/templates/resolver.tpl.ts
@@ -0,0 +1,78 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { ServiceGeneratorContext } from '../index'
+
+const template = ({ camelName, upperName, relative, schemaPath }: ServiceGeneratorContext) =>
+ `import { resolve } from '@feathersjs/schema'
+import type { HookContext } from '${relative}/declarations'
+
+import type {
+ ${upperName}Data,
+ ${upperName}Patch,
+ ${upperName}Result,
+ ${upperName}Query,
+} from '${relative}/${schemaPath}'
+import {
+ ${camelName}DataSchema,
+ ${camelName}PatchSchema,
+ ${camelName}ResultSchema,
+ ${camelName}QuerySchema
+} from '${relative}/${schemaPath}'
+
+
+// Resolver for the basic data model (e.g. creating new entries)
+export const ${camelName}DataResolver = resolve<${upperName}Data, HookContext>({
+ schema: ${camelName}DataSchema,
+ validate: 'before',
+ properties: {}
+})
+
+
+// Resolver for making partial updates
+export const ${camelName}PatchResolver = resolve<${upperName}Patch, HookContext>({
+ schema: ${camelName}PatchSchema,
+ validate: 'before',
+ properties: {}
+})
+
+
+// Resolver for the data that is being returned
+export const ${camelName}ResultResolver = resolve<${upperName}Result, HookContext>({
+ schema: ${camelName}ResultSchema,
+ validate: false,
+ properties: {}
+})
+
+
+// Resolver for query properties
+export const ${camelName}QueryResolver = resolve<${upperName}Query, HookContext>({
+ schema: ${camelName}QuerySchema,
+ validate: 'before',
+ properties: {}
+})
+
+
+// Export all resolvers in a format that can be used with the resolveAll hook
+export const ${camelName}Resolvers = {
+ result: ${camelName}ResultResolver,
+ data: {
+ create: ${camelName}DataResolver,
+ update: ${camelName}DataResolver,
+ patch: ${camelName}PatchResolver
+ },
+ query: ${camelName}QueryResolver
+}
+`
+
+export const generate = (ctx: ServiceGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ lib, folder, fileName }: ServiceGeneratorContext) => [
+ lib,
+ 'resolvers',
+ ...folder,
+ `${fileName}.resolver`
+ ])
+ )
+ )
diff --git a/packages/cli/src/service/templates/schema.tpl.ts b/packages/cli/src/service/templates/schema.tpl.ts
new file mode 100644
index 0000000000..de5093c8ff
--- /dev/null
+++ b/packages/cli/src/service/templates/schema.tpl.ts
@@ -0,0 +1,80 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { ServiceGeneratorContext } from '../index'
+
+const template = ({ camelName, upperName, type }: ServiceGeneratorContext) =>
+ `import { schema, querySyntax } from '@feathersjs/schema'
+import type { Infer } from '@feathersjs/schema'
+
+// Schema for the basic data model (e.g. creating new entries)
+export const ${camelName}DataSchema = schema({
+ $id: '${upperName}Data',
+ type: 'object',
+ additionalProperties: false,
+ required: [ 'text' ],
+ properties: {
+ text: {
+ type: 'string'
+ }
+ }
+} as const)
+
+export type ${upperName}Data = Infer
+
+
+// Schema for making partial updates
+export const ${camelName}PatchSchema = schema({
+ $id: '${upperName}Patch',
+ type: 'object',
+ additionalProperties: false,
+ required: [],
+ properties: {
+ ...${camelName}DataSchema.properties
+ }
+} as const)
+
+export type ${upperName}Patch = Infer
+
+
+// Schema for the data that is being returned
+export const ${camelName}ResultSchema = schema({
+ $id: '${upperName}Result',
+ type: 'object',
+ additionalProperties: false,
+ required: [ ...${camelName}DataSchema.required, '${type === 'mongodb' ? '_id' : 'id'}' ],
+ properties: {
+ ...${camelName}DataSchema.properties,
+ ${type === 'mongodb' ? '_id' : 'id'}: {
+ type: 'string'
+ }
+ }
+} as const)
+
+export type ${upperName}Result = Infer
+
+
+// Schema for allowed query properties
+export const ${camelName}QuerySchema = schema({
+ $id: '${upperName}Query',
+ type: 'object',
+ additionalProperties: false,
+ properties: {
+ ...querySyntax(${camelName}ResultSchema.properties)
+ }
+} as const)
+
+export type ${upperName}Query = Infer
+`
+
+export const generate = (ctx: ServiceGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ lib, folder, fileName }: ServiceGeneratorContext) => [
+ lib,
+ 'schemas',
+ ...folder,
+ `${fileName}.schema`
+ ])
+ )
+ )
diff --git a/packages/cli/src/service/templates/service.tpl.ts b/packages/cli/src/service/templates/service.tpl.ts
new file mode 100644
index 0000000000..ab9093f9e3
--- /dev/null
+++ b/packages/cli/src/service/templates/service.tpl.ts
@@ -0,0 +1,117 @@
+import { generator, inject, prepend, toFile, after } from '@feathershq/pinion'
+import { getSource, renderSource } from '../../commons'
+import { ServiceGeneratorContext } from '../index'
+
+const template = ({
+ relative,
+ path,
+ className,
+ schemaPath,
+ resolverPath,
+ camelName,
+ upperName,
+ isEntityService,
+ authentication
+}: ServiceGeneratorContext) =>
+ `import { resolveAll } from '@feathersjs/schema'
+${isEntityService || authentication ? `import { authenticate } from '@feathersjs/authentication'` : ''}
+import type { Application } from '${relative}/declarations'
+import type {
+ ${upperName}Data,
+ ${upperName}Result,
+ ${upperName}Query,
+} from '${relative}/${schemaPath}'
+import { ${camelName}Resolvers } from '${relative}/${resolverPath}'
+
+export const hooks = {
+ around: {
+ all: [${
+ authentication
+ ? `
+ authenticate('jwt'),`
+ : ''
+ } ${
+ !isEntityService
+ ? `
+ resolveAll(${camelName}Resolvers)`
+ : ''
+ }
+ ]${
+ isEntityService
+ ? `,
+ get: [
+ authenticate('jwt'),
+ resolveAll(${camelName}Resolvers)
+ ],
+ find: [
+ authenticate('jwt'),
+ resolveAll(${camelName}Resolvers)
+ ],
+ create: [
+ resolveAll(${camelName}Resolvers)
+ ],
+ patch: [
+ authenticate('jwt'),
+ resolveAll(${camelName}Resolvers)
+ ],
+ update: [
+ authenticate('jwt'),
+ resolveAll(${camelName}Resolvers)
+ ],
+ remove: [
+ authenticate('jwt'),
+ resolveAll(${camelName}Resolvers)
+ ]`
+ : ''
+ }
+ },
+ before: {},
+ after: {},
+ error: {}
+}
+
+// A configure function that registers the service and its hooks via \`app.configure\`
+export function ${camelName} (app: Application) {
+ const options = { // Service options will go here
+ }
+
+ // Register our service on the Feathers application
+ app.use('${path}', new ${className}(options), {
+ // A list of all methods this service exposes externally
+ methods: ['find', 'get', 'create', 'update', 'patch', 'remove'],
+ // You can add additional custom events to be sent to clients here
+ events: []
+ })
+ // Initialize hooks
+ app.service('${path}').hooks(hooks)
+}
+
+// Add this service to the service type index
+declare module '${relative}/declarations' {
+ interface ServiceTypes {
+ '${path}': ${className}
+ }
+}
+`
+
+const importTemplate = ({ camelName, path }: ServiceGeneratorContext) =>
+ `import { ${camelName} } from './${path}'`
+
+const configureTemplate = ({ camelName }: ServiceGeneratorContext) => ` app.configure(${camelName})`
+
+const toServiceIndex = toFile(({ lib, language }: ServiceGeneratorContext) => [
+ lib,
+ 'services',
+ `index.${language}`
+])
+
+export const generate = (ctx: ServiceGeneratorContext) =>
+ generator(ctx)
+ .then(
+ renderSource(
+ template,
+ toFile(({ lib, folder, fileName }) => [lib, 'services', ...folder, fileName])
+ )
+ )
+ .then(inject(getSource(importTemplate), prepend(), toServiceIndex))
+ .then(inject(configureTemplate, after('export const services'), toServiceIndex))
diff --git a/packages/cli/src/service/templates/test.tpl.ts b/packages/cli/src/service/templates/test.tpl.ts
new file mode 100644
index 0000000000..e86ac195b3
--- /dev/null
+++ b/packages/cli/src/service/templates/test.tpl.ts
@@ -0,0 +1,29 @@
+import { generator, toFile } from '@feathershq/pinion'
+import { renderSource } from '../../commons'
+import { ServiceGeneratorContext } from '../index'
+
+const template = ({ relative, lib, path, name }: ServiceGeneratorContext) =>
+ `import assert from 'assert'
+import { app } from '../${relative}/${lib}/app'
+
+describe('${name} service', () => {
+ it('registered the service', () => {
+ const service = app.service('${path}')
+
+ assert.ok(service, 'Registered the service')
+ })
+})
+`
+
+export const generate = (ctx: ServiceGeneratorContext) =>
+ generator(ctx).then(
+ renderSource(
+ template,
+ toFile(({ test, folder, kebabName }) => [
+ test,
+ 'services',
+ ...folder,
+ `${kebabName}.test`
+ ])
+ )
+ )
diff --git a/packages/cli/src/service/type/custom.tpl.ts b/packages/cli/src/service/type/custom.tpl.ts
new file mode 100644
index 0000000000..fe47fb7f06
--- /dev/null
+++ b/packages/cli/src/service/type/custom.tpl.ts
@@ -0,0 +1,81 @@
+import { generator, inject, toFile, after, before, prepend } from '@feathershq/pinion'
+import { getSource } from '../../commons'
+import { ServiceGeneratorContext } from '../index'
+
+export const template = ({ className, upperName }: ServiceGeneratorContext) =>
+ `export interface ${className}Options {
+ app: Application
+}
+
+export interface ${upperName}Params extends Params<${upperName}Query> {
+
+}
+
+// This is a skeleton for a custom service class. Remove or add the methods you need here
+export class ${className} {
+ constructor (public options: ${className}Options) {
+ }
+
+ async find (_params?: ${upperName}Params): Promise<${upperName}Result[]> {
+ return []
+ }
+
+ async get (id: Id, _params?: ${upperName}Params): Promise<${upperName}Result> {
+ return {
+ id: \`\${id}\`,
+ text: \`A new message with ID: \${id}!\`
+ };
+ }
+
+ async create (data: ${upperName}Data, params?: ${upperName}Params): Promise<${upperName}Result>
+ async create (data: ${upperName}Data[], params?: ${upperName}Params): Promise<${upperName}Result[]>
+ async create (data: ${upperName}Data|${upperName}Data[], params?: ${upperName}Params): Promise<${upperName}Result|${upperName}Result[]> {
+ if (Array.isArray(data)) {
+ return Promise.all(data.map(current => this.create(current, params)));
+ }
+
+ return {
+ id: 'created',
+ ...data
+ };
+ }
+
+ async update (id: NullableId, data: ${upperName}Data, _params?: ${upperName}Params): Promise<${upperName}Result> {
+ return {
+ id: \`\${id}\`,
+ ...data
+ };
+ }
+
+ async patch (id: NullableId, data: ${upperName}Data, _params?: ${upperName}Params): Promise<${upperName}Result> {
+ return {
+ id: \`\${id}\`,
+ ...data
+ };
+ }
+
+ async remove (id: NullableId, _params?: ${upperName}Params): Promise<${upperName}Result> {
+ return {
+ id: \`\${id}\`,
+ text: 'removed'
+ };
+ }
+}
+`
+
+export const importTemplate = "import type { Id, NullableId, Params } from '@feathersjs/feathers'"
+
+const optionTemplate = ({}: ServiceGeneratorContext) => ` app`
+
+const toServiceFile = toFile(({ lib, language, folder, fileName }) => [
+ lib,
+ 'services',
+ ...folder,
+ `${fileName}.${language}`
+])
+
+export const generate = (ctx: ServiceGeneratorContext) =>
+ generator(ctx)
+ .then(inject(getSource(template), before('export const hooks ='), toServiceFile))
+ .then(inject(getSource(importTemplate), prepend(), toServiceFile))
+ .then(inject(optionTemplate, after('const options ='), toServiceFile))
diff --git a/packages/cli/src/service/type/knex.tpl.ts b/packages/cli/src/service/type/knex.tpl.ts
new file mode 100644
index 0000000000..268a8fc035
--- /dev/null
+++ b/packages/cli/src/service/type/knex.tpl.ts
@@ -0,0 +1,62 @@
+import { generator, inject, toFile, before, after, prepend } from '@feathershq/pinion'
+import { getSource, renderSource } from '../../commons'
+import { ServiceGeneratorContext } from '../index'
+
+const migrationTemplate = ({ kebabName }: ServiceGeneratorContext) => `import type { Knex } from 'knex'
+
+export async function up(knex: Knex): Promise {
+ await knex.schema.createTable('${kebabName}', table => {
+ table.increments('id')
+ table.string('text')
+ })
+}
+
+export async function down(knex: Knex): Promise {
+ await knex.schema.dropTable('${kebabName}')
+}
+`
+
+export const importTemplate = `import { KnexService } from \'@feathersjs/knex\'
+import type { KnexAdapterParams } from \'@feathersjs/knex\'`
+
+export const classCode = ({ className, upperName }: ServiceGeneratorContext) =>
+ `export interface ${upperName}Params extends KnexAdapterParams<${upperName}Query> {
+}
+
+// By default calls the standard Knex adapter service methods but can be customized with your own functionality.
+export class ${className} extends KnexService<${upperName}Result, ${upperName}Data, ${upperName}Params> {
+}
+`
+
+export const optionTemplate = ({ kebabName, feathers }: ServiceGeneratorContext) =>
+ ` paginate: app.get('paginate'),
+ Model: app.get('${feathers.database}Client'),
+ name: '${kebabName}'`
+
+const toServiceFile = toFile(({ lib, folder, fileName, language }) => [
+ lib,
+ 'services',
+ ...folder,
+ `${fileName}.${language}`
+])
+
+export const generate = (ctx: ServiceGeneratorContext) =>
+ generator(ctx)
+ .then(
+ inject(getSource(classCode), before('export const hooks ='), toServiceFile)
+ )
+ .then(inject(getSource(importTemplate), prepend(), toServiceFile))
+ .then(inject(optionTemplate, after('const options ='), toServiceFile))
+ .then(
+ renderSource(
+ migrationTemplate,
+ toFile('migrations', ({ kebabName }) => {
+ const now = new Date()
+ const migrationDate =
+ `${now.getUTCFullYear()}${now.getUTCMonth()}${now.getUTCDay()}` +
+ `${now.getUTCHours()}${now.getUTCMinutes()}${now.getUTCSeconds()}`
+
+ return `${migrationDate}_${kebabName}`
+ })
+ )
+ )
diff --git a/packages/cli/src/service/type/mongodb.tpl.ts b/packages/cli/src/service/type/mongodb.tpl.ts
new file mode 100644
index 0000000000..b4d9959f72
--- /dev/null
+++ b/packages/cli/src/service/type/mongodb.tpl.ts
@@ -0,0 +1,34 @@
+import { generator, inject, toFile, before, after, prepend } from '@feathershq/pinion'
+import { getSource } from '../../commons'
+import { ServiceGeneratorContext } from '../index'
+
+export const importTemplate = `import { MongoDBService } from \'@feathersjs/mongodb\'
+import type { MongoDBAdapterParams } from \'@feathersjs/mongodb\'`
+
+export const classCode = ({ className, upperName }: ServiceGeneratorContext) =>
+ `export interface ${upperName}Params extends MongoDBAdapterParams<${upperName}Query> {
+}
+
+// By default calls the standard MongoDB adapter service methods but can be customized with your own functionality.
+export class ${className} extends MongoDBService<${upperName}Result, ${upperName}Data, ${upperName}Params> {
+}
+`
+
+const optionTemplate = ({ kebabName }: ServiceGeneratorContext) =>
+ ` paginate: app.get('paginate'),
+ Model: app.get('mongodbClient').then(db => db.collection('${kebabName}'))`
+
+const toServiceFile = toFile(({ lib, folder, fileName, language }) => [
+ lib,
+ 'services',
+ ...folder,
+ `${fileName}.${language}`
+])
+
+export const generate = (ctx: ServiceGeneratorContext) =>
+ generator(ctx)
+ .then(
+ inject(getSource(classCode), before('export const hooks ='), toServiceFile)
+ )
+ .then(inject(getSource(importTemplate), prepend(), toServiceFile))
+ .then(inject(optionTemplate, after('const options ='), toServiceFile))
diff --git a/packages/cli/test/commons.test.ts b/packages/cli/test/commons.test.ts
new file mode 100644
index 0000000000..92eee4f6d0
--- /dev/null
+++ b/packages/cli/test/commons.test.ts
@@ -0,0 +1,35 @@
+import { strictEqual } from 'assert'
+import { getJavaScript } from '../src/commons'
+
+describe('common tests', () => {
+ it('getJavaScript returns transpiled and prettified JavaScript', () => {
+ const transpiled = getJavaScript(
+ `import bla from 'bla'
+import something from './file'
+
+type X = { name: string }
+
+function test (arg: X) {
+ bla(something)
+}
+
+// This is a comment
+const otherThing: string = "Hello"
+`
+ )
+
+ strictEqual(
+ transpiled,
+ `import bla from 'bla'
+import something from './file.js'
+
+function test(arg) {
+ bla(something)
+}
+
+// This is a comment
+const otherThing = 'Hello'
+`
+ )
+ })
+})
diff --git a/packages/cli/test/generators.test.ts b/packages/cli/test/generators.test.ts
new file mode 100644
index 0000000000..59599cd554
--- /dev/null
+++ b/packages/cli/test/generators.test.ts
@@ -0,0 +1,120 @@
+/* eslint-disable @typescript-eslint/prefer-for-of */
+import os from 'os'
+import path from 'path'
+import { mkdtemp } from 'fs/promises'
+import assert from 'assert'
+import { getContext } from '@feathershq/pinion'
+
+import { AppGeneratorContext } from '../src/app'
+import { generate } from '../lib'
+import { FeathersBaseContext } from '../src/commons'
+import { ConnectionGeneratorArguments } from '../src/connection'
+import { ServiceGeneratorArguments } from '../src/service'
+import { combinate, dependencyVersions } from './utils'
+
+const matrix = {
+ language: ['js', 'ts'] as const,
+ framework: ['koa', 'express'] as const
+}
+
+const defaultCombination = {
+ language: process.env.FEATHERS_LANGUAGE || 'ts',
+ framework: process.env.FEATHERS_FRAMEWORK || 'koa'
+}
+
+const combinations =
+ process.version > 'v16.0.0' ? (process.env.CI ? combinate(matrix as any) : [defaultCombination]) : []
+
+describe('@feathersjs/cli', () => {
+ for (const { language, framework } of combinations) {
+ describe(`${language} ${framework} app`, () => {
+ const name = `feathers_${language}_${framework}`
+
+ let context: FeathersBaseContext
+ let cwd: string
+
+ before(async () => {
+ cwd = await mkdtemp(path.join(os.tmpdir(), name + '-'))
+ console.log(cwd)
+ context = await generate(
+ getContext(
+ {
+ name,
+ framework,
+ language,
+ dependencyVersions,
+ lib: 'src',
+ description: 'A Feathers test app',
+ packager: 'npm',
+ database: 'sqlite',
+ connectionString: `${name}.sqlite`,
+ transports: ['rest', 'websockets'],
+ authStrategies: ['local', 'github'],
+ _: ['generate', 'app']
+ },
+ { cwd }
+ )
+ )
+ })
+
+ it('generated app with SQLite and passes tests', async () => {
+ const testResult = await context.pinion.exec('npm', ['test'], { cwd })
+
+ assert.ok(context)
+ assert.strictEqual(testResult, 0)
+ })
+
+ it('generates a MongoDB connection and service and passes tests', async () => {
+ const connectionContext = await generate(
+ getContext(
+ {
+ dependencyVersions,
+ database: 'mongodb' as const,
+ connectionString: `mongodb://localhost:27017/${name}`,
+ _: ['generate', 'connection']
+ },
+ { cwd }
+ )
+ )
+ const mongoServiceContext = await generate(
+ getContext(
+ {
+ dependencyVersions,
+ name: 'testing',
+ path: 'path/to/test',
+ authentication: true,
+ type: 'mongodb',
+ _: ['generate', 'service']
+ },
+ { cwd }
+ )
+ )
+ const testResult = await context.pinion.exec('npm', ['test'], { cwd })
+
+ assert.ok(connectionContext)
+ assert.ok(mongoServiceContext)
+ assert.strictEqual(testResult, 0)
+ })
+
+ it('generates a custom service and passes tests', async () => {
+ const customServiceContext = await generate(
+ getContext(
+ {
+ dependencyVersions,
+ name: 'Custom Service',
+ path: 'custom',
+ authentication: false,
+ type: 'custom',
+ _: ['generate', 'service']
+ },
+ { cwd }
+ )
+ )
+ const testResult = await context.pinion.exec('npm', ['test'], { cwd })
+
+ assert.ok(customServiceContext)
+ assert.strictEqual(testResult, 0)
+ })
+ })
+ }
+})
diff --git a/packages/cli/test/utils.ts b/packages/cli/test/utils.ts
new file mode 100644
index 0000000000..16dc2c6764
--- /dev/null
+++ b/packages/cli/test/utils.ts
@@ -0,0 +1,29 @@
+import path from 'path'
+import pkg from '../package.json'
+import { DependencyVersions } from '../src/commons'
+
+export function combinate>(obj: O) {
+ let combos: { [k in keyof O]: O[k][number] }[] = []
+ for (const key of Object.keys(obj)) {
+ const values = obj[key]
+ const all: any[] = []
+ for (let i = 0; i < values.length; i++) {
+ for (let j = 0; j < (combos.length || 1); j++) {
+ const newCombo = { ...combos[j], [key]: values[i] }
+ all.push(newCombo)
+ }
+ }
+ combos = all
+ }
+ return combos
+}
+
+export const dependencyVersions = Object.keys(pkg.devDependencies as any)
+ .filter((dep) => dep.startsWith('@feathersjs/'))
+ .reduce((acc, dep) => {
+ const [, name] = dep.split('/')
+
+ acc[dep] = `file://${path.join(__dirname, '..', '..', name)}`
+
+ return acc
+ }, {} as DependencyVersions)
diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json
new file mode 100644
index 0000000000..3e7a45e4a0
--- /dev/null
+++ b/packages/cli/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "extends": "../../tsconfig",
+ "include": [
+ "src/**/*.ts"
+ ],
+ "compilerOptions": {
+ "outDir": "lib",
+ "resolveJsonModule": true
+ }
+}
diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md
index ddd5d7e500..f8c78211a8 100644
--- a/packages/client/CHANGELOG.md
+++ b/packages/client/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+**Note:** Version bump only for package @feathersjs/client
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/client
diff --git a/packages/client/package.json b/packages/client/package.json
index 48fcc0be89..0f4a889f86 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/client",
"description": "A module that consolidates Feathers client modules for REST (jQuery, Request, Superagent) and Websocket (Socket.io, Primus) connections",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"repository": {
"type": "git",
"url": "https://github.com/feathersjs/feathers.git",
@@ -49,19 +49,19 @@
"IE 11"
],
"dependencies": {
- "@feathersjs/authentication-client": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
- "@feathersjs/rest-client": "^5.0.0-pre.23",
- "@feathersjs/socketio-client": "^5.0.0-pre.23"
+ "@feathersjs/authentication-client": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
+ "@feathersjs/rest-client": "^5.0.0-pre.24",
+ "@feathersjs/socketio-client": "^5.0.0-pre.24"
},
"devDependencies": {
"@babel/core": "^7.18.2",
"@babel/preset-env": "^7.18.2",
- "@feathersjs/express": "^5.0.0-pre.23",
- "@feathersjs/memory": "^5.0.0-pre.23",
- "@feathersjs/socketio": "^5.0.0-pre.23",
- "@feathersjs/tests": "^5.0.0-pre.23",
+ "@feathersjs/express": "^5.0.0-pre.24",
+ "@feathersjs/memory": "^5.0.0-pre.24",
+ "@feathersjs/socketio": "^5.0.0-pre.24",
+ "@feathersjs/tests": "^5.0.0-pre.24",
"babel-loader": "^8.2.5",
"mocha": "^10.0.0",
"mocha-puppeteer": "^0.14.0",
@@ -75,5 +75,5 @@
"webpack-cli": "^4.9.2",
"webpack-merge": "^5.8.0"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/commons/CHANGELOG.md b/packages/commons/CHANGELOG.md
index f41408b7cf..e5e9e0590d 100644
--- a/packages/commons/CHANGELOG.md
+++ b/packages/commons/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+**Note:** Version bump only for package @feathersjs/commons
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/commons
diff --git a/packages/commons/package.json b/packages/commons/package.json
index 61cc49ccb2..85585ea7e4 100644
--- a/packages/commons/package.json
+++ b/packages/commons/package.json
@@ -1,6 +1,6 @@
{
"name": "@feathersjs/commons",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"description": "Shared Feathers utility functions",
"homepage": "https://feathersjs.com",
"keywords": [
@@ -58,5 +58,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/configuration/CHANGELOG.md b/packages/configuration/CHANGELOG.md
index 386df13605..1dd66b9431 100644
--- a/packages/configuration/CHANGELOG.md
+++ b/packages/configuration/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+**Note:** Version bump only for package @feathersjs/configuration
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/configuration
diff --git a/packages/configuration/package.json b/packages/configuration/package.json
index 4af99e5cac..17e6a47491 100644
--- a/packages/configuration/package.json
+++ b/packages/configuration/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/configuration",
"description": "A small configuration module for your Feathers application.",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -57,9 +57,9 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
- "@feathersjs/schema": "^5.0.0-pre.23",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
+ "@feathersjs/schema": "^5.0.0-pre.24",
"@types/config": "^0.0.41",
"config": "^3.3.7"
},
@@ -71,5 +71,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md
index 60e3e5b6ed..f2284948bb 100644
--- a/packages/errors/CHANGELOG.md
+++ b/packages/errors/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+**Note:** Version bump only for package @feathersjs/errors
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/errors
diff --git a/packages/errors/package.json b/packages/errors/package.json
index fd1f0e9420..c99fed58b2 100644
--- a/packages/errors/package.json
+++ b/packages/errors/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/errors",
"description": "Common error types for Feathers apps",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -48,7 +48,7 @@
"*.js"
],
"devDependencies": {
- "@feathersjs/feathers": "^5.0.0-pre.23",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
"mocha": "^10.0.0",
@@ -56,5 +56,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/express/CHANGELOG.md b/packages/express/CHANGELOG.md
index acba6ae337..33435fe612 100644
--- a/packages/express/CHANGELOG.md
+++ b/packages/express/CHANGELOG.md
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Bug Fixes
+
+* **authentication:** Add safe dispatch data for authentication requests ([#2662](https://github.com/feathersjs/feathers/issues/2662)) ([d8104a1](https://github.com/feathersjs/feathers/commit/d8104a19ee9181e6a5ea81014af29ff9a3c28a8a))
+
+
+### Features
+
+* **cli:** Add support for JavaScript to the new CLI ([#2668](https://github.com/feathersjs/feathers/issues/2668)) ([ebac587](https://github.com/feathersjs/feathers/commit/ebac587f7d00dc7607c3f546352d79f79b89a5d4))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
diff --git a/packages/express/package.json b/packages/express/package.json
index e5fa48897f..568e732ef2 100644
--- a/packages/express/package.json
+++ b/packages/express/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/express",
"description": "Feathers Express framework bindings and REST provider",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -51,18 +51,18 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/authentication": "^5.0.0-pre.23",
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
- "@feathersjs/transport-commons": "^5.0.0-pre.23",
+ "@feathersjs/authentication": "^5.0.0-pre.24",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
+ "@feathersjs/transport-commons": "^5.0.0-pre.24",
"@types/express": "^4.17.13",
"@types/express-serve-static-core": "^4.17.28",
"express": "^4.18.1"
},
"devDependencies": {
- "@feathersjs/authentication-local": "^5.0.0-pre.23",
- "@feathersjs/tests": "^5.0.0-pre.23",
+ "@feathersjs/authentication-local": "^5.0.0-pre.24",
+ "@feathersjs/tests": "^5.0.0-pre.24",
"@types/lodash": "^4.14.182",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
@@ -73,5 +73,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/express/src/index.ts b/packages/express/src/index.ts
index 40c9e422b2..4b8fef2408 100644
--- a/packages/express/src/index.ts
+++ b/packages/express/src/index.ts
@@ -3,23 +3,33 @@ import { Application as FeathersApplication, defaultServiceMethods } from '@feat
import { routing } from '@feathersjs/transport-commons'
import { createDebug } from '@feathersjs/commons'
-import { Application } from './declarations'
+import { rest, RestOptions, formatter } from './rest'
+import { errorHandler, notFound, ErrorHandlerOptions } from './handlers'
+import { Application, ExpressOverrides } from './declarations'
+import { AuthenticationSettings, authenticate, parseAuthentication } from './authentication'
+import { default as original, static as serveStatic, json, raw, text, urlencoded, query } from 'express'
export {
- default as original,
- static,
- static as serveStatic,
+ original,
+ serveStatic,
+ serveStatic as static,
json,
raw,
text,
urlencoded,
- query
-} from 'express'
-
-export * from './authentication'
-export * from './declarations'
-export * from './handlers'
-export * from './rest'
+ query,
+ rest,
+ RestOptions,
+ formatter,
+ errorHandler,
+ notFound,
+ Application,
+ ErrorHandlerOptions,
+ ExpressOverrides,
+ AuthenticationSettings,
+ parseAuthentication,
+ authenticate
+}
const debug = createDebug('@feathersjs/express')
diff --git a/packages/express/test/authentication.test.ts b/packages/express/test/authentication.test.ts
index 44d215b2ad..9a342f39de 100644
--- a/packages/express/test/authentication.test.ts
+++ b/packages/express/test/authentication.test.ts
@@ -67,8 +67,7 @@ describe('@feathersjs/express/authentication', () => {
it('successful local authentication', () => {
assert.ok(authResult.accessToken)
assert.deepStrictEqual(omit(authResult.authentication, 'payload'), {
- strategy: 'local',
- accessToken: authResult.accessToken
+ strategy: 'local'
})
assert.strictEqual(authResult.user.email, email)
assert.strictEqual(authResult.user.password, undefined)
diff --git a/packages/feathers/CHANGELOG.md b/packages/feathers/CHANGELOG.md
index b2c135eba6..aded29f2e7 100644
--- a/packages/feathers/CHANGELOG.md
+++ b/packages/feathers/CHANGELOG.md
@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Features
+
+* **authentication-local:** Add passwordHash property resolver ([#2660](https://github.com/feathersjs/feathers/issues/2660)) ([b41279b](https://github.com/feathersjs/feathers/commit/b41279b55eea3771a6fa4983a37be2413287bbc6))
+* **cli:** Add typed client to a generated app ([#2669](https://github.com/feathersjs/feathers/issues/2669)) ([5b801b5](https://github.com/feathersjs/feathers/commit/5b801b5017ddc3eaa95622b539f51d605916bc86))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
diff --git a/packages/feathers/package.json b/packages/feathers/package.json
index a306240dcf..7eb8c5d0c6 100644
--- a/packages/feathers/package.json
+++ b/packages/feathers/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/feathers",
"description": "A framework for real-time applications and REST API with JavaScript and TypeScript",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "http://feathersjs.com",
"repository": {
"type": "git",
@@ -42,8 +42,8 @@
"*.js"
],
"scripts": {
- "write-version": "node -e \"console.log('export default \\'' + require('./package.json').version + '\\';')\" > src/version.ts",
- "reset-version": "node -e \"console.log('export default \\'development\\';')\" > src/version.ts",
+ "write-version": "node -e \"console.log('export default \\'' + require('./package.json').version + '\\'')\" > src/version.ts",
+ "reset-version": "node -e \"console.log('export default \\'development\\'')\" > src/version.ts",
"prepublish": "npm run compile",
"version": "npm run write-version",
"publish": "npm run reset-version",
@@ -57,7 +57,7 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/commons": "^5.0.0-pre.23",
+ "@feathersjs/commons": "^5.0.0-pre.24",
"@feathersjs/hooks": "^0.7.5",
"events": "^3.3.0"
},
@@ -69,5 +69,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/feathers/src/declarations.ts b/packages/feathers/src/declarations.ts
index a63416bac0..b03e613a25 100644
--- a/packages/feathers/src/declarations.ts
+++ b/packages/feathers/src/declarations.ts
@@ -6,6 +6,9 @@ type OptionalPick = Pick>
export type { NextFunction }
+/**
+ * The object returned from `.find` call by standard database adapters
+ */
export interface Paginated {
total: number
limit: number
@@ -13,6 +16,9 @@ export interface Paginated {
data: T[]
}
+/**
+ * Options that can be passed when registering a service via `app.use(name, service, options)`
+ */
export interface ServiceOptions {
events?: string[]
methods?: string[]
@@ -89,6 +95,21 @@ export type CustomMethods = {
[K in keyof T]: (data: T[K][0], params?: Params) => Promise
}
+/**
+ * An interface usually use by transport clients that represents a e.g. HTTP or websocket
+ * connection that can be configured on the application.
+ */
+export type TransportConnection = {
+ (app: Application): void
+ Service: any
+ service: (
+ name: L
+ ) => keyof any extends keyof Services ? ServiceInterface : Services[L]
+}
+
+/**
+ * The interface for a custom service method. Can e.g. be used to type client side services.
+ */
export type CustomMethod = (data: T, params?: P) => Promise
export type ServiceMixin = (service: FeathersService, path: string, options: ServiceOptions) => void
diff --git a/packages/knex/CHANGELOG.md b/packages/knex/CHANGELOG.md
new file mode 100644
index 0000000000..caa607c667
--- /dev/null
+++ b/packages/knex/CHANGELOG.md
@@ -0,0 +1,11 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Features
+
+* **knex:** Add KnexJS SQL database adapter to core ([#2671](https://github.com/feathersjs/feathers/issues/2671)) ([9380fff](https://github.com/feathersjs/feathers/commit/9380fff58596e8bb90b8bb098d2795b7eadfec20))
diff --git a/packages/knex/LICENSE b/packages/knex/LICENSE
new file mode 100644
index 0000000000..59604f46f3
--- /dev/null
+++ b/packages/knex/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2022 Feathers
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
diff --git a/_templates/package/new/README.md.t b/packages/knex/README.md
similarity index 51%
rename from _templates/package/new/README.md.t
rename to packages/knex/README.md
index ecf2413ffb..4e9adac6a5 100644
--- a/_templates/package/new/README.md.t
+++ b/packages/knex/README.md
@@ -1,18 +1,14 @@
----
-to: packages/<%= name %>/README.md
----
-
-# @feathersjs/<%= name %>
+# @feathersjs/knex
[](https://github.com/feathersjs/feathers/actions?query=workflow%3ACI)
-[](https://www.npmjs.com/package/@feathersjs/<%= name %>)
+[](https://www.npmjs.com/package/@feathersjs/mongodb)
-> <%= description %>
+> Feathers SQL service adapter using KnexJS
## Installation
```
-npm install @feathersjs/<%= name %> --save
+npm install @feathersjs/knex --save
```
## Documentation
@@ -21,6 +17,6 @@ Refer to the [Feathers documentation](https://docs.feathersjs.com) for more deta
## License
-Copyright (c) 2021 [Feathers contributors](https://github.com/feathersjs/feathers/graphs/contributors)
+Copyright (c) 2022 [Feathers contributors](https://github.com/feathersjs/feathers/graphs/contributors)
Licensed under the [MIT license](LICENSE).
diff --git a/_templates/package/new/package.json.t b/packages/knex/package.json
similarity index 59%
rename from _templates/package/new/package.json.t
rename to packages/knex/package.json
index a9a0e96d66..b1a179017e 100644
--- a/_templates/package/new/package.json.t
+++ b/packages/knex/package.json
@@ -1,11 +1,7 @@
----
-to: packages/<%= name %>/package.json
----
-
{
- "name": "@feathersjs/<%= name %>",
- "description": "<%= description %>",
- "version": "0.0.0",
+ "name": "@feathersjs/knex",
+ "description": "Feathers SQL service adapter using KnexJS",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"keywords": [
@@ -31,7 +27,7 @@ to: packages/<%= name %>/package.json
"url": "https://github.com/feathersjs/feathers/issues"
},
"engines": {
- "node": ">= 12"
+ "node": ">= 14"
},
"files": [
"CHANGELOG.md",
@@ -43,7 +39,6 @@ to: packages/<%= name %>/package.json
"*.js"
],
"scripts": {
- "prepublish": "npm run compile",
"compile": "shx rm -rf lib/ && tsc",
"test": "mocha --config ../../.mocharc.json --recursive test/**.test.ts test/**/*.test.ts"
},
@@ -54,12 +49,23 @@ to: packages/<%= name %>/package.json
"access": "public"
},
"dependencies": {
+ "@feathersjs/adapter-commons": "^5.0.0-pre.24",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24"
+ },
+ "peerDependencies": {
+ "knex": "^2.1.0"
},
"devDependencies": {
- "@types/mocha": "^8.2.2",
- "@types/node": "^14.14.37",
- "mocha": "^8.3.2",
- "shx": "^0.3.3",
- "typescript": "^4.2.3"
- }
+ "@feathersjs/adapter-tests": "^5.0.0-pre.24",
+ "@types/mocha": "^9.1.1",
+ "@types/node": "^17.0.40",
+ "knex": "^2.1.0",
+ "mocha": "^10.0.0",
+ "shx": "^0.3.4",
+ "sqlite3": "^5.0.8",
+ "typescript": "^4.7.3"
+ },
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/knex/src/adapter.ts b/packages/knex/src/adapter.ts
new file mode 100644
index 0000000000..b5de594a12
--- /dev/null
+++ b/packages/knex/src/adapter.ts
@@ -0,0 +1,314 @@
+import { Id, NullableId, Paginated, Query } from '@feathersjs/feathers'
+import { _ } from '@feathersjs/commons'
+import { AdapterBase, PaginationOptions, filterQuery } from '@feathersjs/adapter-commons'
+import { NotFound } from '@feathersjs/errors'
+import { Knex } from 'knex'
+
+import { errorHandler } from './error-handler'
+import { KnexAdapterOptions, KnexAdapterParams } from './declarations'
+const METHODS = {
+ $ne: 'whereNot',
+ $in: 'whereIn',
+ $nin: 'whereNotIn',
+ $or: 'orWhere',
+ $and: 'andWhere'
+}
+
+const OPERATORS = {
+ $lt: '<',
+ $lte: '<=',
+ $gt: '>',
+ $gte: '>=',
+ $like: 'like',
+ $notlike: 'not like',
+ $ilike: 'ilike'
+}
+
+export class KnexAdapter<
+ T,
+ D = Partial,
+ P extends KnexAdapterParams = KnexAdapterParams
+> extends AdapterBase {
+ table: string
+ schema?: string
+
+ constructor(options: KnexAdapterOptions) {
+ if (!options || !options.Model) {
+ throw new Error('You must provide a Model (the initialized knex object)')
+ }
+
+ if (typeof options.name !== 'string') {
+ throw new Error('No table name specified.')
+ }
+
+ super({
+ id: 'id',
+ ...options,
+ filters: {
+ ...options.filters,
+ $and: (value: any) => value
+ },
+ operators: [...(options.operators || []), '$like', '$notlike', '$ilike', '$and', '$or']
+ })
+
+ this.table = options.name
+ this.schema = options.schema
+ }
+
+ get Model() {
+ return this.options.Model
+ }
+
+ get fullName() {
+ return this.schema ? `${this.schema}.${this.table}` : this.table
+ }
+
+ db(params?: P) {
+ const { Model, table, schema } = this
+
+ if (params && params.transaction && params.transaction.trx) {
+ const { trx } = params.transaction
+ // debug('ran %s with transaction %s', fullName, id)
+ return schema ? (trx.withSchema(schema).table(table) as Knex.QueryBuilder) : trx(table)
+ }
+ return schema ? (Model.withSchema(schema).table(table) as Knex.QueryBuilder) : Model(table)
+ }
+
+ knexify(knexQuery: Knex.QueryBuilder, query: Query = {}, parentKey?: string): Knex.QueryBuilder {
+ const knexify = this.knexify.bind(this)
+
+ return Object.keys(query || {}).reduce((currentQuery, key) => {
+ const value = query[key]
+
+ if (_.isObject(value)) {
+ return knexify(currentQuery, value, key)
+ }
+
+ const column = parentKey || key
+ const method = METHODS[key as keyof typeof METHODS]
+
+ if (method) {
+ if (key === '$or' || key === '$and') {
+ // This will create a nested query
+ currentQuery.where(function (this: any) {
+ for (const condition of value) {
+ this[method](function (this: Knex.QueryBuilder) {
+ knexify(this, condition)
+ })
+ }
+ })
+
+ return currentQuery
+ }
+
+ return (currentQuery as any)[method](column, value)
+ }
+
+ const operator = OPERATORS[key as keyof typeof OPERATORS] || '='
+
+ return operator === '='
+ ? currentQuery.where(column, value)
+ : currentQuery.where(column, operator, value)
+ }, knexQuery)
+ }
+
+ createQuery(params: P) {
+ const { table, id } = this
+ const { filters, query } = this.filterQuery(params)
+ const builder = this.db(params)
+
+ // $select uses a specific find syntax, so it has to come first.
+ if (filters.$select) {
+ // always select the id field, but make sure we only select it once
+ builder.select(...new Set([...filters.$select, `${table}.${id}`]))
+ } else {
+ builder.select(`${table}.*`)
+ }
+
+ // build up the knex query out of the query params, include $and and $or filters
+ this.knexify(builder, {
+ ...query,
+ ..._.pick(filters, '$and', '$or')
+ })
+
+ // Handle $sort
+ if (filters.$sort) {
+ return Object.keys(filters.$sort).reduce(
+ (currentQuery, key) => currentQuery.orderBy(key, filters.$sort[key] === 1 ? 'asc' : 'desc'),
+ builder
+ )
+ }
+
+ return builder
+ }
+
+ filterQuery(params: P) {
+ const options = this.getOptions(params)
+ const { filters, query } = filterQuery(params?.query || {}, options)
+
+ return { filters, query, paginate: options.paginate }
+ }
+
+ async $find(params?: P & { paginate?: PaginationOptions }): Promise>
+ async $find(params?: P & { paginate: false }): Promise
+ async $find(params?: P): Promise | T[]>
+ async $find(params: P = {} as P): Promise | T[]> {
+ const { filters, paginate } = this.filterQuery(params)
+ const builder = params.knex ? params.knex.clone() : this.createQuery(params)
+ const countBuilder = builder.clone().count(`${this.table}.${this.id} as total`)
+
+ // Handle $limit
+ if (filters.$limit) {
+ builder.limit(filters.$limit)
+ }
+
+ // Handle $skip
+ if (filters.$skip) {
+ builder.offset(filters.$skip)
+ }
+
+ // provide default sorting if its not set
+ if (!filters.$sort) {
+ builder.orderBy(`${this.table}.${this.id}`, 'asc')
+ }
+
+ const data = filters.$limit === 0 ? [] : await builder
+
+ if (paginate && paginate.default) {
+ return {
+ total: await countBuilder.then((count) => (count[0] ? count[0].total : 0)),
+ limit: filters.$limit,
+ skip: filters.$skip || 0,
+ data
+ }
+ }
+
+ return data
+ }
+
+ async _findOrGet(id: NullableId, params?: P) {
+ const findParams = {
+ ...params,
+ paginate: false,
+ query: {
+ ...params?.query,
+ ...(id !== null ? { [`${this.table}.${this.id}`]: id } : {})
+ }
+ }
+
+ return this.$find(findParams as any) as any as Promise
+ }
+
+ async $get(id: Id, params: P = {} as P): Promise {
+ const data = await this._findOrGet(id, params)
+
+ if (data.length !== 1) {
+ throw new NotFound(`No record found for id '${id}'`)
+ }
+
+ return data[0]
+ }
+
+ async $create(data: Partial, params?: P): Promise
+ async $create(data: Partial[], params?: P): Promise
+ async $create(data: Partial | Partial[], _params?: P): Promise
+ async $create(_data: Partial | Partial[], params: P = {} as P): Promise {
+ const data = _data as any
+
+ if (Array.isArray(data)) {
+ return Promise.all(data.map((current) => this.$create(current, params)))
+ }
+
+ const client = this.db(params).client.config.client
+ const returning = client === 'pg' || client === 'oracledb' || client === 'mssql' ? [this.id] : []
+ const rows: any = await this.db(params).insert(data, returning).catch(errorHandler)
+ const id = data[this.id] || rows[0][this.id] || rows[0]
+
+ if (!id) {
+ return rows as T[]
+ }
+
+ return this.$get(id, params)
+ }
+
+ async $patch(id: null, data: Partial, params?: P): Promise
+ async $patch(id: Id, data: Partial, params?: P): Promise
+ async $patch(id: NullableId, data: Partial, _params?: P): Promise
+ async $patch(id: NullableId, raw: Partial, params: P = {} as P): Promise {
+ const data = _.omit(raw, this.id)
+ const results = await this._findOrGet(id, {
+ ...params,
+ query: {
+ ...params?.query,
+ $select: [`${this.table}.${this.id}`]
+ }
+ })
+ const idList = results.map((current: any) => current[this.id])
+ const updateParams = {
+ ...params,
+ query: {
+ [`${this.table}.${this.id}`]: { $in: idList },
+ ...(params?.query?.$select ? { $select: params?.query?.$select } : {})
+ }
+ }
+ const builder = this.createQuery(updateParams)
+
+ await builder.update(data)
+
+ const items = await this._findOrGet(null, updateParams)
+
+ if (id !== null) {
+ if (items.length === 1) {
+ return items[0]
+ } else {
+ throw new NotFound(`No record found for id '${id}'`)
+ }
+ }
+
+ return items
+ }
+
+ async $update(id: Id, _data: D, params: P = {} as P): Promise {
+ const data = _.omit(_data, this.id)
+ const oldData = await this.$get(id, params)
+ const newObject = Object.keys(oldData).reduce((result: any, key) => {
+ if (key !== this.id) {
+ // We don't want the id field to be changed
+ result[key] = data[key] === undefined ? null : data[key]
+ }
+
+ return result
+ }, {})
+
+ await this.db(params).update(newObject, '*').where(this.id, id)
+
+ return this.$get(id, params)
+ }
+
+ async $remove(id: null, params?: P): Promise
+ async $remove(id: Id, params?: P): Promise
+ async $remove(id: NullableId, _params?: P): Promise
+ async $remove(id: NullableId, params: P = {} as P): Promise {
+ const items = await this._findOrGet(id, params)
+ const { query } = this.filterQuery(params)
+ const q = this.db(params)
+ const idList = items.map((current: any) => current[this.id])
+
+ query[this.id] = { $in: idList }
+
+ // build up the knex query out of the query params
+ this.knexify(q, query)
+
+ await q.del().catch(errorHandler)
+
+ if (id !== null) {
+ if (items.length === 1) {
+ return items[0]
+ }
+
+ throw new NotFound(`No record found for id '${id}'`)
+ }
+
+ return items
+ }
+}
diff --git a/packages/knex/src/declarations.ts b/packages/knex/src/declarations.ts
new file mode 100644
index 0000000000..4e30ba6a0a
--- /dev/null
+++ b/packages/knex/src/declarations.ts
@@ -0,0 +1,23 @@
+import { Knex } from 'knex'
+import { AdapterServiceOptions, AdapterParams, AdapterQuery } from '@feathersjs/adapter-commons'
+
+export interface KnexAdapterOptions extends AdapterServiceOptions {
+ Model: Knex
+ name: string
+ schema?: string
+}
+
+export interface KnexAdapterTransaction {
+ starting: boolean
+ parent?: KnexAdapterTransaction
+ committed?: any
+ resolve?: any
+ trx?: Knex.Transaction
+ id?: number
+ promise?: Promise
+}
+
+export interface KnexAdapterParams extends AdapterParams> {
+ knex?: Knex.QueryBuilder
+ transaction?: KnexAdapterTransaction
+}
diff --git a/packages/knex/src/error-handler.ts b/packages/knex/src/error-handler.ts
new file mode 100644
index 0000000000..62662a7702
--- /dev/null
+++ b/packages/knex/src/error-handler.ts
@@ -0,0 +1,95 @@
+import { errors } from '@feathersjs/errors'
+
+export const ERROR = Symbol('@feathersjs/knex/error')
+
+export function errorHandler(error: any) {
+ const { message } = error
+ let feathersError = error
+
+ if (error.sqlState && error.sqlState.length) {
+ // remove SQLSTATE marker (#) and pad/truncate SQLSTATE to 5 chars
+ const sqlState = ('00000' + error.sqlState.replace('#', '')).slice(-5)
+
+ switch (sqlState.slice(0, 2)) {
+ case '02':
+ feathersError = new errors.NotFound(message)
+ break
+ case '28':
+ feathersError = new errors.Forbidden(message)
+ break
+ case '08':
+ case '0A':
+ case '0K':
+ feathersError = new errors.Unavailable(message)
+ break
+ case '20':
+ case '21':
+ case '22':
+ case '23':
+ case '24':
+ case '25':
+ case '40':
+ case '42':
+ case '70':
+ feathersError = new errors.BadRequest(message)
+ break
+ default:
+ feathersError = new errors.GeneralError(message)
+ }
+ } else if (error.code === 'SQLITE_ERROR') {
+ // NOTE (EK): Error codes taken from
+ // https://www.sqlite.org/c3ref/c_abort.html
+ switch (error.errno) {
+ case 1:
+ case 8:
+ case 18:
+ case 19:
+ case 20:
+ feathersError = new errors.BadRequest(message)
+ break
+ case 2:
+ feathersError = new errors.Unavailable(message)
+ break
+ case 3:
+ case 23:
+ feathersError = new errors.Forbidden(message)
+ break
+ case 12:
+ feathersError = new errors.NotFound(message)
+ break
+ default:
+ feathersError = new errors.GeneralError(message)
+ break
+ }
+ } else if (typeof error.code === 'string' && error.severity && error.routine) {
+ // NOTE: Error codes taken from
+ // https://www.postgresql.org/docs/9.6/static/errcodes-appendix.html
+ // Omit query information
+ const messages = error.message.split('-')
+ error.message = messages[messages.length - 1]
+
+ switch (error.code.slice(0, 2)) {
+ case '22':
+ case '23':
+ feathersError = new errors.BadRequest(message)
+ break
+ case '28':
+ feathersError = new errors.Forbidden(message)
+ break
+ case '3D':
+ case '3F':
+ case '42':
+ feathersError = new errors.Unprocessable(message)
+ break
+ default:
+ feathersError = new errors.GeneralError(message)
+ break
+ }
+ } else if (!(error instanceof errors.FeathersError)) {
+ feathersError = new errors.GeneralError(message)
+ }
+
+ feathersError[ERROR] = error
+
+ throw feathersError
+}
diff --git a/packages/knex/src/hooks.ts b/packages/knex/src/hooks.ts
new file mode 100644
index 0000000000..1ef169570c
--- /dev/null
+++ b/packages/knex/src/hooks.ts
@@ -0,0 +1,101 @@
+import { createDebug } from '@feathersjs/commons'
+import { HookContext } from '@feathersjs/feathers'
+import { Knex } from 'knex'
+import { KnexAdapterTransaction } from './declarations'
+
+const debug = createDebug('feathers-knex-transaction')
+
+const ROLLBACK = { rollback: true }
+
+export const getKnex = (context: HookContext): Knex => {
+ const knex = context.service.Model
+
+ return knex && typeof knex.transaction === 'function' ? knex : undefined
+}
+
+export const start =
+ () =>
+ async (context: HookContext): Promise => {
+ const { transaction } = context.params
+ const parent = transaction
+ const knex: Knex = transaction ? transaction.trx : getKnex(context)
+
+ if (!knex) {
+ return
+ }
+
+ return new Promise((resolve, reject) => {
+ const transaction: KnexAdapterTransaction = {
+ starting: true
+ }
+
+ if (parent) {
+ transaction.parent = parent
+ transaction.committed = parent.committed
+ } else {
+ transaction.committed = new Promise((resolve) => {
+ transaction.resolve = resolve
+ })
+ }
+
+ transaction.starting = true
+ transaction.promise = knex
+ .transaction((trx) => {
+ transaction.trx = trx
+ transaction.id = Date.now()
+
+ context.params = { ...context.params, transaction }
+
+ debug('started a new transaction %s', transaction.id)
+
+ resolve()
+ })
+ .catch((error) => {
+ if (transaction.starting) {
+ reject(error)
+ } else if (error !== ROLLBACK) {
+ throw error
+ }
+ })
+ })
+ }
+
+export const end = () => (context: HookContext) => {
+ const { transaction } = context.params
+
+ if (!transaction) {
+ return
+ }
+
+ const { trx, id, promise, parent } = transaction
+
+ context.params = { ...context.params, transaction: parent }
+ transaction.starting = false
+
+ return trx
+ .commit()
+ .then(() => promise)
+ .then(() => transaction.resolve && transaction.resolve(true))
+ .then(() => debug('ended transaction %s', id))
+ .then(() => context)
+}
+
+export const rollback = () => (context: HookContext) => {
+ const { transaction } = context.params
+
+ if (!transaction) {
+ return
+ }
+
+ const { trx, id, promise, parent } = transaction
+
+ context.params = { ...context.params, transaction: parent }
+ transaction.starting = false
+
+ return trx
+ .rollback(ROLLBACK)
+ .then(() => promise)
+ .then(() => transaction.resolve && transaction.resolve(false))
+ .then(() => debug('rolled back transaction %s', id))
+ .then(() => context)
+}
diff --git a/packages/knex/src/index.ts b/packages/knex/src/index.ts
new file mode 100644
index 0000000000..1fef087153
--- /dev/null
+++ b/packages/knex/src/index.ts
@@ -0,0 +1,47 @@
+import { PaginationOptions } from '@feathersjs/adapter-commons'
+import { Paginated, ServiceMethods, Id, NullableId } from '@feathersjs/feathers'
+import { KnexAdapter } from './adapter'
+import { KnexAdapterParams } from './declarations'
+
+export * from './declarations'
+export * from './adapter'
+export * from './error-handler'
+export * as transaction from './hooks'
+
+export class KnexService, P extends KnexAdapterParams = KnexAdapterParams>
+ extends KnexAdapter
+ implements ServiceMethods, D, P>
+{
+ async find(params?: P & { paginate?: PaginationOptions }): Promise>
+ async find(params?: P & { paginate: false }): Promise
+ async find(params?: P): Promise | T[]>
+ async find(params?: P): Promise | T[]> {
+ return this._find(params) as any
+ }
+
+ async get(id: Id, params?: P): Promise {
+ return this._get(id, params)
+ }
+
+ async create(data: Partial, params?: P): Promise
+ async create(data: Partial[], params?: P): Promise
+ async create(data: Partial | Partial[], params?: P): Promise {
+ return this._create(data, params)
+ }
+
+ async update(id: Id, data: D, params?: P): Promise {
+ return this._update(id, data, params)
+ }
+
+ async patch(id: Id, data: Partial, params?: P): Promise
+ async patch(id: null, data: Partial, params?: P): Promise
+ async patch(id: NullableId, data: Partial, params?: P): Promise {
+ return this._patch(id, data, params)
+ }
+
+ async remove(id: Id, params?: P): Promise
+ async remove(id: null, params?: P): Promise
+ async remove(id: NullableId, params?: P): Promise {
+ return this._remove(id, params)
+ }
+}
diff --git a/packages/knex/test/connection.ts b/packages/knex/test/connection.ts
new file mode 100644
index 0000000000..d635b77dbb
--- /dev/null
+++ b/packages/knex/test/connection.ts
@@ -0,0 +1,32 @@
+export default (DB: string) => {
+ if (DB === 'mysql') {
+ return {
+ client: 'mysql',
+ connection: {
+ host: '127.0.0.1',
+ user: 'root',
+ password: '',
+ database: 'feathers_knex'
+ }
+ }
+ }
+
+ if (DB === 'postgres') {
+ return {
+ client: 'postgresql',
+ connection: {
+ host: 'localhost',
+ database: 'sequelize',
+ user: 'postgres',
+ password: 'password'
+ }
+ }
+ }
+
+ return {
+ client: 'sqlite3',
+ connection: {
+ filename: './db.sqlite'
+ }
+ }
+}
diff --git a/packages/knex/test/index.test.ts b/packages/knex/test/index.test.ts
new file mode 100644
index 0000000000..62045197a3
--- /dev/null
+++ b/packages/knex/test/index.test.ts
@@ -0,0 +1,612 @@
+import knex, { Knex } from 'knex'
+import assert from 'assert'
+import { feathers, HookContext, Service } from '@feathersjs/feathers'
+import adapterTests from '@feathersjs/adapter-tests'
+import { errors } from '@feathersjs/errors'
+
+import connection from './connection'
+import { KnexService, transaction } from '../src/index'
+
+const testSuite = adapterTests([
+ '.options',
+ '.events',
+ '._get',
+ '._find',
+ '._create',
+ '._update',
+ '._patch',
+ '._remove',
+ '.$get',
+ '.$find',
+ '.$create',
+ '.$update',
+ '.$patch',
+ '.$remove',
+ '.get',
+ '.get + $select',
+ '.get + id + query',
+ '.get + NotFound',
+ '.get + id + query id',
+ '.find',
+ '.remove',
+ '.remove + $select',
+ '.remove + id + query',
+ '.remove + multi',
+ '.remove + multi no pagination',
+ '.remove + id + query id',
+ '.update',
+ '.update + $select',
+ '.update + id + query',
+ '.update + NotFound',
+ '.update + query + NotFound',
+ '.update + id + query id',
+ '.patch',
+ '.patch + $select',
+ '.patch + id + query',
+ '.patch multiple',
+ '.patch multiple no pagination',
+ '.patch multi query same',
+ '.patch multi query changed',
+ '.patch + NotFound',
+ '.patch + query + NotFound',
+ '.patch + id + query id',
+ '.create',
+ '.create + $select',
+ '.create multi',
+ 'internal .find',
+ 'internal .get',
+ 'internal .create',
+ 'internal .update',
+ 'internal .patch',
+ 'internal .remove',
+ '.find + equal',
+ '.find + equal multiple',
+ '.find + $sort',
+ '.find + $sort + string',
+ '.find + $limit',
+ '.find + $limit 0',
+ '.find + $skip',
+ '.find + $select',
+ '.find + $or',
+ '.find + $in',
+ '.find + $nin',
+ '.find + $lt',
+ '.find + $lte',
+ '.find + $gt',
+ '.find + $gte',
+ '.find + $ne',
+ '.find + $gt + $lt + $sort',
+ '.find + $or nested + $sort',
+ 'params.adapter + paginate',
+ 'params.adapter + multi',
+ '.find + paginate',
+ '.find + paginate + query',
+ '.find + paginate + $limit + $skip',
+ '.find + paginate + $limit 0',
+ '.find + paginate + params'
+])
+
+const TYPE = process.env.DB || 'sqlite'
+const db = knex(connection(TYPE) as any)
+
+// Create a public database to mimic a "schema"
+const schemaName = 'public'
+
+function clean() {
+ return Promise.all([
+ db.schema.dropTableIfExists(people.fullName).then(() => {
+ return db.schema.createTable(people.fullName, (table) => {
+ table.increments('id')
+ table.string('name').notNullable()
+ table.integer('age')
+ table.integer('time')
+ table.boolean('created')
+ return table
+ })
+ }),
+ db.schema.dropTableIfExists(peopleId.fullName).then(() => {
+ return db.schema.createTable(peopleId.fullName, (table) => {
+ table.increments('customid')
+ table.string('name')
+ table.integer('age')
+ table.integer('time')
+ table.boolean('created')
+ return table
+ })
+ }),
+ db.schema.dropTableIfExists(users.fullName).then(() => {
+ return db.schema.createTable(users.fullName, (table) => {
+ table.increments('id')
+ table.string('name')
+ table.integer('age')
+ table.integer('time')
+ table.boolean('created')
+ return table
+ })
+ })
+ ])
+}
+
+type Person = {
+ id: number
+ name: string
+ age: number | null
+ time: string
+ create: boolean
+}
+
+type ServiceTypes = {
+ people: KnexService
+ 'people-customid': KnexService
+ users: KnexService
+}
+
+const people = new KnexService({
+ Model: db,
+ name: 'people',
+ events: ['testing']
+})
+
+const peopleId = new KnexService({
+ Model: db,
+ id: 'customid',
+ name: 'people-customid',
+ events: ['testing']
+})
+
+const users = new KnexService({
+ Model: db,
+ name: 'users',
+ events: ['testing']
+})
+
+describe('Feathers Knex Service', () => {
+ const app = feathers()
+ .hooks({
+ before: [transaction.start()],
+ after: [transaction.end()],
+ error: [transaction.rollback()]
+ })
+ .use('people', people)
+ .use('people-customid', peopleId)
+ .use('users', users)
+ const peopleService = app.service('people')
+
+ before(() => {
+ if (TYPE === 'sqlite') {
+ // Attach the public database to mimic a "schema"
+ db.schema.raw(`attach database '${schemaName}.sqlite' as ${schemaName}`)
+ }
+ })
+ before(clean)
+ after(clean)
+
+ describe('$like method', () => {
+ let charlie: Person
+
+ beforeEach(async () => {
+ charlie = await peopleService.create({
+ name: 'Charlie Brown',
+ age: 10
+ })
+ })
+
+ afterEach(() => peopleService.remove(charlie.id))
+
+ it('$like in query', async () => {
+ const data = await peopleService.find({
+ paginate: false,
+ query: { name: { $like: '%lie%' } }
+ })
+
+ assert.strictEqual(data[0].name, 'Charlie Brown')
+ })
+ })
+
+ describe('$notlike method', () => {
+ let hasMatch: Person
+ let hasNoMatch: Person
+
+ beforeEach(async () => {
+ hasMatch = await peopleService.create({
+ name: 'XYZabcZYX'
+ })
+ hasNoMatch = await peopleService.create({
+ name: 'XYZZYX'
+ })
+ })
+
+ afterEach(() => {
+ peopleService.remove(hasMatch.id)
+ peopleService.remove(hasNoMatch.id)
+ })
+
+ it('$notlike in query', async () => {
+ const data = await peopleService.find({
+ paginate: false,
+ query: { name: { $notlike: '%abc%' } }
+ })
+
+ assert.strictEqual(data.length, 1)
+ assert.strictEqual(data[0].name, 'XYZZYX')
+ })
+ })
+
+ describe('adapter specifics', () => {
+ let daves: Person[]
+
+ beforeEach(async () => {
+ daves = await Promise.all([
+ peopleService.create({
+ name: 'Ageless',
+ age: null
+ }),
+ peopleService.create({
+ name: 'Dave',
+ age: 32
+ }),
+ peopleService.create({
+ name: 'Dada',
+ age: 1
+ })
+ ])
+ })
+
+ afterEach(async () => {
+ try {
+ await peopleService.remove(daves[0].id)
+ await peopleService.remove(daves[1].id)
+ await peopleService.remove(daves[2].id)
+ } catch (error: unknown) {}
+ })
+
+ it('$or works properly (#120)', async () => {
+ const data = await peopleService.find({
+ paginate: false,
+ query: {
+ name: 'Dave',
+ $or: [
+ {
+ age: 1
+ },
+ {
+ age: 32
+ }
+ ]
+ }
+ })
+
+ assert.strictEqual(data.length, 1)
+ assert.strictEqual(data[0].name, 'Dave')
+ assert.strictEqual(data[0].age, 32)
+ })
+
+ it('$and works properly', async () => {
+ const data = await peopleService.find({
+ paginate: false,
+ query: {
+ $and: [
+ {
+ $or: [{ name: 'Dave' }, { name: 'Dada' }]
+ },
+ {
+ age: { $lt: 23 }
+ }
+ ]
+ }
+ })
+
+ assert.strictEqual(data.length, 1)
+ assert.strictEqual(data[0].name, 'Dada')
+ assert.strictEqual(data[0].age, 1)
+ })
+
+ it('where conditions support NULL values properly', async () => {
+ const data = await peopleService.find({
+ paginate: false,
+ query: {
+ age: null
+ }
+ })
+
+ assert.strictEqual(data.length, 1)
+ assert.strictEqual(data[0].name, 'Ageless')
+ assert.strictEqual(data[0].age, null)
+ })
+
+ it('where conditions support NOT NULL case properly', async () => {
+ const data = await peopleService.find({
+ paginate: false,
+ query: {
+ age: { $ne: null }
+ }
+ })
+
+ assert.strictEqual(data.length, 2)
+ assert.notStrictEqual(data[0].name, 'Ageless')
+ assert.notStrictEqual(data[0].age, null)
+ assert.notStrictEqual(data[1].name, 'Ageless')
+ assert.notStrictEqual(data[1].age, null)
+ })
+
+ it('where conditions support NULL values within AND conditions', async () => {
+ const data = await peopleService.find({
+ paginate: false,
+ query: {
+ age: null,
+ name: 'Ageless'
+ }
+ })
+
+ assert.strictEqual(data.length, 1)
+ assert.strictEqual(data[0].name, 'Ageless')
+ assert.strictEqual(data[0].age, null)
+ })
+
+ it('where conditions support NULL values within OR conditions', async () => {
+ const data = await peopleService.find({
+ paginate: false,
+ query: {
+ $or: [
+ {
+ age: null
+ },
+ {
+ name: 'Dada'
+ }
+ ]
+ }
+ })
+
+ assert.strictEqual(data.length, 2)
+ assert.notStrictEqual(data[0].name, 'Dave')
+ assert.notStrictEqual(data[0].age, 32)
+ assert.notStrictEqual(data[1].name, 'Dave')
+ assert.notStrictEqual(data[1].age, 32)
+ })
+
+ it('attaches the SQL error', async () => {
+ await assert.rejects(() => peopleService.create({}), {
+ name: 'GeneralError'
+ })
+ })
+ })
+
+ describe('hooks', () => {
+ afterEach(async () => {
+ await db('people').truncate()
+ })
+
+ it('does reject on problem with commit', async () => {
+ const app = feathers()
+
+ app.hooks({
+ before: transaction.start(),
+ after: [
+ (context: HookContext) => {
+ const client = context.params.transaction.trx.client
+ const query = client.query
+
+ client.query = (conn: any, sql: any) => {
+ let result = query.call(client, conn, sql)
+
+ if (sql === 'COMMIT;') {
+ result = result.then(() => {
+ throw new TypeError('Deliberate')
+ })
+ }
+
+ return result
+ }
+ },
+ transaction.end()
+ ],
+ error: transaction.rollback()
+ })
+
+ app.use('/people', people)
+
+ await assert.rejects(() => app.service('/people').create({ name: 'Foo' }), {
+ message: 'Deliberate'
+ })
+ })
+
+ it('does commit, rollback, nesting', async () => {
+ const app = feathers<{
+ people: typeof people
+ test: Pick & { Model: Knex }
+ }>()
+
+ app.hooks({
+ before: transaction.start(),
+ after: transaction.end(),
+ error: transaction.rollback()
+ })
+
+ app.use('people', people)
+
+ app.use('test', {
+ Model: db,
+ create: async (data: any, params) => {
+ const created = await app.service('people').create({ name: 'Foo' }, { ...params })
+
+ if (data.throw) {
+ throw new TypeError('Deliberate')
+ }
+
+ return created
+ }
+ })
+
+ await assert.rejects(() => app.service('test').create({ throw: true }), {
+ message: 'Deliberate'
+ })
+
+ assert.strictEqual((await app.service('people').find({ paginate: false })).length, 0)
+
+ await app.service('test').create({})
+
+ assert.strictEqual((await app.service('people').find({ paginate: false })).length, 1)
+ })
+
+ it('does use savepoints for nested calls', async () => {
+ const app = feathers<{
+ people: typeof people
+ success: Pick & { Model: Knex }
+ fail: Pick & { Model: Knex }
+ test: Pick & { Model: Knex }
+ }>()
+
+ app.hooks({
+ before: transaction.start(),
+ after: transaction.end(),
+ error: transaction.rollback()
+ })
+
+ app.use('people', people)
+
+ app.use('success', {
+ Model: db,
+ create: async (_data, params) => {
+ return app.service('people').create({ name: 'Success' }, { ...params })
+ }
+ })
+
+ app.use('fail', {
+ Model: db,
+ create: async (_data, params) => {
+ await app.service('people').create({ name: 'Fail' }, { ...params })
+ throw new TypeError('Deliberate')
+ }
+ })
+
+ app.use('test', {
+ Model: db,
+ create: async (_data, params) => {
+ await app.service('success').create({}, { ...params })
+ await app
+ .service('fail')
+ .create({}, { ...params })
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
+ .catch(() => {})
+ return []
+ }
+ })
+
+ await app.service('test').create({})
+
+ const created = await app.service('people').find({ paginate: false })
+
+ assert.strictEqual(created.length, 1)
+ assert.ok(created[0].name)
+ })
+
+ it('allows waiting for transaction to complete', async () => {
+ const app = feathers<{
+ people: typeof people
+ test: Pick & { Model: Knex }
+ }>()
+
+ let seq: string[] = []
+
+ app.hooks({
+ before: [
+ transaction.start(),
+ (context: HookContext) => {
+ seq.push(`${context.path}: waiting for trx to be committed`)
+ context.params.transaction.committed.then((success: any) => {
+ seq.push(`${context.path}: committed ${success}`)
+ })
+ },
+ async (context: HookContext) => {
+ seq.push(`${context.path}: another hook`)
+ }
+ ],
+ after: [
+ transaction.end(),
+ (context: HookContext) => {
+ seq.push(`${context.path}: trx ended`)
+ }
+ ],
+ error: [
+ transaction.rollback(),
+ (context: HookContext) => {
+ seq.push(`${context.path}: trx rolled back`)
+ }
+ ]
+ })
+
+ app.use('people', people)
+
+ app.use('test', {
+ Model: db,
+ create: async (data: any, params) => {
+ const peeps = await app.service('people').create({ name: 'Foo' }, { ...params })
+
+ if (data.throw) {
+ throw new TypeError('Deliberate')
+ }
+ return peeps
+ }
+ })
+
+ assert.deepStrictEqual(seq, [])
+
+ await assert.rejects(() => app.service('test').create({ throw: true }), {
+ message: 'Deliberate'
+ })
+
+ assert.deepStrictEqual(seq, [
+ 'test: waiting for trx to be committed',
+ 'test: another hook',
+ 'people: waiting for trx to be committed',
+ 'people: another hook',
+ 'people: trx ended',
+ 'test: committed false',
+ 'people: committed false',
+ 'test: trx rolled back'
+ ])
+
+ seq = []
+
+ assert.strictEqual((await app.service('people').find({ paginate: false })).length, 0)
+
+ assert.deepStrictEqual(seq, [
+ 'people: waiting for trx to be committed',
+ 'people: another hook',
+ 'people: committed true',
+ 'people: trx ended'
+ ])
+
+ seq = []
+
+ await app.service('test').create({})
+
+ assert.deepStrictEqual(seq, [
+ 'test: waiting for trx to be committed',
+ 'test: another hook',
+ 'people: waiting for trx to be committed',
+ 'people: another hook',
+ 'people: trx ended',
+ 'test: committed true',
+ 'people: committed true',
+ 'test: trx ended'
+ ])
+
+ seq = []
+
+ assert.strictEqual((await app.service('people').find({ paginate: false })).length, 1)
+
+ assert.deepStrictEqual(seq, [
+ 'people: waiting for trx to be committed',
+ 'people: another hook',
+ 'people: committed true',
+ 'people: trx ended'
+ ])
+ })
+ })
+
+ testSuite(app, errors, 'users')
+ testSuite(app, errors, 'people')
+ testSuite(app, errors, 'people-customid', 'customid')
+})
diff --git a/packages/knex/test/overrides.test.ts b/packages/knex/test/overrides.test.ts
new file mode 100644
index 0000000000..076dc3c6b4
--- /dev/null
+++ b/packages/knex/test/overrides.test.ts
@@ -0,0 +1,125 @@
+import knex from 'knex'
+import assert from 'assert'
+import { feathers, Paginated } from '@feathersjs/feathers'
+import { KnexAdapterParams, KnexService, transaction } from '../src'
+import { PaginationOptions } from '@feathersjs/adapter-commons'
+
+// const { transaction } = service.hooks
+
+const db = knex({
+ client: 'sqlite3',
+ connection: {
+ filename: './db.sqlite'
+ }
+})
+
+const schemaName = 'overrides'
+
+knex({
+ client: 'sqlite3',
+ connection: {
+ filename: `./${schemaName}.sqlite`
+ }
+})
+
+type Animal = {
+ id: number
+ ancestor_id: number
+ ancestor_name: string
+ name: string
+}
+
+/**
+ * Override the _find() method to manipulate the knex query, and
+ * introduce ambiguity by the table to itself.
+ */
+class AnimalService extends KnexService {
+ async $find(params?: P & { paginate?: PaginationOptions }): Promise>
+ async $find(params?: P & { paginate: false }): Promise
+ async $find(params?: P): Promise | T[]>
+ async $find(params: P = {} as P): Promise | T[]> {
+ const knexQuery = this.createQuery(params)
+ knexQuery
+ .select('ancestors.name as ancestor_name')
+ .leftJoin('animals as ancestors', 'ancestors.id', '=', 'animals.ancestor_id')
+ params.knex = knexQuery
+ return super.$find(params)
+ }
+}
+
+const animals = new AnimalService({
+ Model: db,
+ name: 'animals',
+ events: ['testing']
+})
+
+function clean() {
+ return db.schema.dropTableIfExists(animals.fullName).then(() => {
+ return db.schema.createTable(animals.fullName, (table) => {
+ table.increments('id')
+ table.integer('ancestor_id')
+ table.string('name').notNullable()
+ return table
+ })
+ })
+}
+
+describe('Feathers Knex Overridden Method With Self-Join', () => {
+ let ancestor: Animal
+ let animal: Animal
+
+ const app = feathers<{ animals: AnimalService }>()
+ .hooks({
+ before: [transaction.start()],
+ after: [transaction.end()],
+ error: [transaction.rollback()]
+ })
+ .use('animals', animals)
+ const animalService = app.service('animals')
+
+ before(() => {
+ return db.schema.raw(`attach database '${schemaName}.sqlite' as ${schemaName}`)
+ })
+ before(clean)
+ after(clean)
+
+ beforeEach(async () => {
+ ancestor = await animalService.create({
+ name: 'Ape'
+ })
+ animal = await animalService.create({
+ ancestor_id: ancestor.id,
+ name: 'Human'
+ })
+ })
+
+ it('finds properly', async () => {
+ const foundAnimals = await animalService.find({
+ paginate: false,
+ query: {
+ $limit: 1,
+ ancestor_name: 'Ape'
+ }
+ })
+ assert.strictEqual(foundAnimals[0].id, animal.id)
+ assert.strictEqual(foundAnimals[0].name, 'Human')
+ assert.strictEqual(foundAnimals[0].ancestor_name, 'Ape')
+ })
+
+ /**
+ * Previously, any query modified to include joins with ambiguous primary keys
+ * would yield an ambiguous column errors:
+ * BadRequest: select `animals`.*
+ * from `animals`
+ * left join `animals` as `ancestors` on `ancestors`.`id` = `animals`.`ancestor_id`
+ * where `id` in (2) - SQLITE_ERROR: ambiguous column name: id
+ *
+ * The fix involves explicitly specifying the table to query in the _patch() method
+ */
+ it('patches without ambiguous query', async () => {
+ const newName = 'Homo Sapiens'
+ const patchedAnimal = await animalService.patch(animal.id, { name: newName })
+
+ assert.strictEqual(patchedAnimal.name, newName)
+ })
+})
diff --git a/_templates/package/new/tsconfig.json.t b/packages/knex/tsconfig.json
similarity index 72%
rename from _templates/package/new/tsconfig.json.t
rename to packages/knex/tsconfig.json
index 2bd96b2c60..316fd41336 100644
--- a/_templates/package/new/tsconfig.json.t
+++ b/packages/knex/tsconfig.json
@@ -1,7 +1,3 @@
----
-to: packages/<%= name %>/tsconfig.json
----
-
{
"extends": "../../tsconfig",
"include": [
diff --git a/packages/koa/CHANGELOG.md b/packages/koa/CHANGELOG.md
index 1c17ec22e4..ae22ecfde5 100644
--- a/packages/koa/CHANGELOG.md
+++ b/packages/koa/CHANGELOG.md
@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Features
+
+* **cli:** Add support for JavaScript to the new CLI ([#2668](https://github.com/feathersjs/feathers/issues/2668)) ([ebac587](https://github.com/feathersjs/feathers/commit/ebac587f7d00dc7607c3f546352d79f79b89a5d4))
+* **cli:** Initial Feathers v5 CLI and Pinion generator ([#2578](https://github.com/feathersjs/feathers/issues/2578)) ([7f59ae7](https://github.com/feathersjs/feathers/commit/7f59ae7f1471895ba8a82aa4702f1a23f71b7682))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/koa
diff --git a/packages/koa/package.json b/packages/koa/package.json
index 7d6e45569d..07dd589874 100644
--- a/packages/koa/package.json
+++ b/packages/koa/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/koa",
"description": "Feathers KoaJS framework bindings and REST provider",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -48,10 +48,10 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/authentication": "^5.0.0-pre.23",
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/transport-commons": "^5.0.0-pre.23",
+ "@feathersjs/authentication": "^5.0.0-pre.24",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/transport-commons": "^5.0.0-pre.24",
"@types/koa": "^2.13.4",
"@types/koa-bodyparser": "^4.3.7",
"@types/koa-qs": "^2.0.0",
@@ -61,10 +61,10 @@
"koa-qs": "^3.0.0"
},
"devDependencies": {
- "@feathersjs/authentication-local": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
- "@feathersjs/memory": "^5.0.0-pre.23",
- "@feathersjs/tests": "^5.0.0-pre.23",
+ "@feathersjs/authentication-local": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
+ "@feathersjs/memory": "^5.0.0-pre.24",
+ "@feathersjs/tests": "^5.0.0-pre.24",
"@types/koa-compose": "^3.2.5",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
@@ -74,5 +74,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/koa/src/index.ts b/packages/koa/src/index.ts
index 74681218c9..7047422696 100644
--- a/packages/koa/src/index.ts
+++ b/packages/koa/src/index.ts
@@ -3,12 +3,10 @@ import koaQs from 'koa-qs'
import { Application as FeathersApplication } from '@feathersjs/feathers'
import { routing } from '@feathersjs/transport-commons'
import { createDebug } from '@feathersjs/commons'
-
+import bodyParser from 'koa-bodyparser'
import { Application } from './declarations'
-export { default as Koa } from 'koa'
-export { default as bodyParser } from 'koa-bodyparser'
-
+export { Koa, bodyParser }
export * from './authentication'
export * from './declarations'
export * from './handlers'
diff --git a/packages/memory/CHANGELOG.md b/packages/memory/CHANGELOG.md
index ed848a886d..25862a556b 100644
--- a/packages/memory/CHANGELOG.md
+++ b/packages/memory/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Features
+
+* **cli:** Initial Feathers v5 CLI and Pinion generator ([#2578](https://github.com/feathersjs/feathers/issues/2578)) ([7f59ae7](https://github.com/feathersjs/feathers/commit/7f59ae7f1471895ba8a82aa4702f1a23f71b7682))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/memory
diff --git a/packages/memory/_templates/memory/service/index.js b/packages/memory/_templates/memory/service/index.js
new file mode 100644
index 0000000000..f276f1b449
--- /dev/null
+++ b/packages/memory/_templates/memory/service/index.js
@@ -0,0 +1,12 @@
+module.exports = {
+ async prompt ({ config, args }) {
+ const { helpers } = config;
+ const result = await helpers.generate({
+ generator: 'service',
+ action: 'base',
+ args
+ });
+
+ return result.args;
+ }
+}
diff --git a/packages/memory/_templates/memory/service/js/class.js.t b/packages/memory/_templates/memory/service/js/class.js.t
new file mode 100644
index 0000000000..03a479c897
--- /dev/null
+++ b/packages/memory/_templates/memory/service/js/class.js.t
@@ -0,0 +1,8 @@
+---
+to: "<%= h.lib %>/services/<%= path %>.js"
+inject: true
+after: "The <%= className %> service class"
+---
+
+export class <%= className %> extends Service {
+}
\ No newline at end of file
diff --git a/packages/memory/_templates/memory/service/js/import.js.t b/packages/memory/_templates/memory/service/js/import.js.t
new file mode 100644
index 0000000000..44baad49d4
--- /dev/null
+++ b/packages/memory/_templates/memory/service/js/import.js.t
@@ -0,0 +1,6 @@
+---
+to: "<%= h.lib %>/services/<%= path %>.js"
+inject: true
+prepend: true
+---
+import { Service } from '@feathersjs/memory';
\ No newline at end of file
diff --git a/packages/memory/package.json b/packages/memory/package.json
index 605f1a3bcc..0df78ec62a 100644
--- a/packages/memory/package.json
+++ b/packages/memory/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/memory",
"description": "An in memory service store",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://github.com/feathersjs/feathers",
"main": "lib/",
"types": "lib/",
@@ -31,6 +31,7 @@
"CHANGELOG.md",
"LICENSE",
"README.md",
+ "_templates/**",
"src/**",
"lib/**",
"*.js"
@@ -47,14 +48,14 @@
"lib": "lib"
},
"dependencies": {
- "@feathersjs/adapter-commons": "^5.0.0-pre.23",
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
+ "@feathersjs/adapter-commons": "^5.0.0-pre.24",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
"sift": "^16.0.0"
},
"devDependencies": {
- "@feathersjs/adapter-tests": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
+ "@feathersjs/adapter-tests": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
"mocha": "^10.0.0",
@@ -62,5 +63,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/mongodb/CHANGELOG.md b/packages/mongodb/CHANGELOG.md
index 136db3353b..abffdf92fd 100644
--- a/packages/mongodb/CHANGELOG.md
+++ b/packages/mongodb/CHANGELOG.md
@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Features
+
+* **authentication-local:** Add passwordHash property resolver ([#2660](https://github.com/feathersjs/feathers/issues/2660)) ([b41279b](https://github.com/feathersjs/feathers/commit/b41279b55eea3771a6fa4983a37be2413287bbc6))
+* **knex:** Add KnexJS SQL database adapter to core ([#2671](https://github.com/feathersjs/feathers/issues/2671)) ([9380fff](https://github.com/feathersjs/feathers/commit/9380fff58596e8bb90b8bb098d2795b7eadfec20))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/mongodb
diff --git a/packages/mongodb/package.json b/packages/mongodb/package.json
index 209b91b0c5..92a72b43a2 100644
--- a/packages/mongodb/package.json
+++ b/packages/mongodb/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/mongodb",
"description": "Feathers MongoDB service adapter",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"keywords": [
@@ -50,16 +50,16 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/adapter-commons": "^5.0.0-pre.23",
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23"
+ "@feathersjs/adapter-commons": "^5.0.0-pre.24",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24"
},
"peerDependencies": {
"mongodb": "^4.5.0"
},
"devDependencies": {
- "@feathersjs/adapter-tests": "^5.0.0-pre.23",
+ "@feathersjs/adapter-tests": "^5.0.0-pre.24",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
"mocha": "^10.0.0",
@@ -67,5 +67,5 @@
"shx": "^0.3.4",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/mongodb/src/adapter.ts b/packages/mongodb/src/adapter.ts
index 35e6bd30fb..263d06866e 100644
--- a/packages/mongodb/src/adapter.ts
+++ b/packages/mongodb/src/adapter.ts
@@ -237,7 +237,7 @@ export class MongoDbAdapter<
const model = await Promise.resolve(Model)
const {
query,
- filters: { $select, $limit }
+ filters: { $select }
} = this.filterQuery(id, params)
const updateOptions = { ...params.mongodb }
const modifier = Object.keys(data).reduce((current, key) => {
@@ -268,7 +268,6 @@ export class MongoDbAdapter<
...params,
paginate: false,
query: {
- ...($limit === 0 ? { $limit: 0 } : {}),
[this.id]: { $in: idList },
$select
}
@@ -298,7 +297,7 @@ export class MongoDbAdapter<
const model = await Promise.resolve(Model)
const {
query,
- filters: { $select, $limit }
+ filters: { $select }
} = this.filterQuery(id, params)
const deleteOptions = { ...params.mongodb }
const findParams = {
@@ -306,7 +305,6 @@ export class MongoDbAdapter<
paginate: false,
query: {
...query,
- ...($limit === 0 ? { $limit: 0 } : {}),
$select
}
}
diff --git a/packages/mongodb/src/index.ts b/packages/mongodb/src/index.ts
index bb36a0c946..b6edcbbbc3 100644
--- a/packages/mongodb/src/index.ts
+++ b/packages/mongodb/src/index.ts
@@ -5,7 +5,11 @@ import { MongoDbAdapter, MongoDBAdapterParams } from './adapter'
export * from './adapter'
export * from './error-handler'
-export class MongoDBService, P extends MongoDBAdapterParams = MongoDBAdapterParams>
+export class MongoDBService<
+ T = any,
+ D = Partial,
+ P extends MongoDBAdapterParams = MongoDBAdapterParams
+ >
extends MongoDbAdapter
implements ServiceMethods, D, P>
{
diff --git a/packages/rest-client/CHANGELOG.md b/packages/rest-client/CHANGELOG.md
index 72abb17f8e..26f739dd6a 100644
--- a/packages/rest-client/CHANGELOG.md
+++ b/packages/rest-client/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Features
+
+* **cli:** Add typed client to a generated app ([#2669](https://github.com/feathersjs/feathers/issues/2669)) ([5b801b5](https://github.com/feathersjs/feathers/commit/5b801b5017ddc3eaa95622b539f51d605916bc86))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
diff --git a/packages/rest-client/package.json b/packages/rest-client/package.json
index ae5e56660b..737ec7f812 100644
--- a/packages/rest-client/package.json
+++ b/packages/rest-client/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/rest-client",
"description": "REST client services for different Ajax libraries",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -52,16 +52,16 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
"@types/superagent": "^4.1.15",
"qs": "^6.10.3"
},
"devDependencies": {
- "@feathersjs/express": "^5.0.0-pre.23",
- "@feathersjs/memory": "^5.0.0-pre.23",
- "@feathersjs/tests": "^5.0.0-pre.23",
+ "@feathersjs/express": "^5.0.0-pre.24",
+ "@feathersjs/memory": "^5.0.0-pre.24",
+ "@feathersjs/tests": "^5.0.0-pre.24",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
"@types/node-fetch": "^2.6.1",
@@ -75,5 +75,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/rest-client/src/index.ts b/packages/rest-client/src/index.ts
index 49e3166d25..d0afbaf7a5 100644
--- a/packages/rest-client/src/index.ts
+++ b/packages/rest-client/src/index.ts
@@ -1,4 +1,4 @@
-import { Application, defaultServiceMethods } from '@feathersjs/feathers'
+import { Application, TransportConnection, defaultServiceMethods } from '@feathersjs/feathers'
import { Base } from './base'
import { AxiosClient } from './axios'
@@ -13,34 +13,21 @@ const transports = {
axios: AxiosClient
}
-interface HandlerResult extends Function {
- /**
- * initialize service
- */
- (): void
-
- /**
- * Transport Service
- */
- Service: any
-
- /**
- * default Service
- */
- service: any
-}
-
-export type Handler = (connection: any, options?: any, Service?: any) => HandlerResult
+export type Handler = (
+ connection: any,
+ options?: any,
+ Service?: any
+) => TransportConnection
-export interface Transport {
- superagent: Handler
- fetch: Handler
- axios: Handler
+export interface Transport {
+ superagent: Handler
+ fetch: Handler
+ axios: Handler
}
export type RestService> = Base
-export default function restClient(base = '') {
+export default function restClient(base = '') {
const result: any = { Base }
Object.keys(transports).forEach((key) => {
@@ -81,7 +68,7 @@ export default function restClient(base = '') {
}
})
- return result as Transport
+ return result as Transport
}
if (typeof module !== 'undefined') {
diff --git a/packages/rest-client/test/axios.test.ts b/packages/rest-client/test/axios.test.ts
index 1dc6ba7828..84da787221 100644
--- a/packages/rest-client/test/axios.test.ts
+++ b/packages/rest-client/test/axios.test.ts
@@ -12,7 +12,7 @@ import { ServiceTypes } from './declarations'
describe('Axios REST connector', function () {
const url = 'http://localhost:8889'
- const connection = rest(url).axios(axios)
+ const connection = rest(url).axios(axios)
const app = feathers()
.configure(connection)
.use('todos', connection.service('todos'), {
diff --git a/packages/rest-client/test/fetch.test.ts b/packages/rest-client/test/fetch.test.ts
index bd4b380aa8..54ea3cec8e 100644
--- a/packages/rest-client/test/fetch.test.ts
+++ b/packages/rest-client/test/fetch.test.ts
@@ -11,7 +11,7 @@ import { ServiceTypes } from './declarations'
describe('fetch REST connector', function () {
const url = 'http://localhost:8889'
- const connection = rest(url).fetch(fetch)
+ const connection = rest(url).fetch(fetch)
const app = feathers()
.configure(connection)
.use('todos', connection.service('todos'), {
diff --git a/packages/schema/CHANGELOG.md b/packages/schema/CHANGELOG.md
index b5dff78d36..41626698e7 100644
--- a/packages/schema/CHANGELOG.md
+++ b/packages/schema/CHANGELOG.md
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Bug Fixes
+
+* **schema:** Fix dispatch resovler hook to convert actually resolved data ([#2663](https://github.com/feathersjs/feathers/issues/2663)) ([f7e87db](https://github.com/feathersjs/feathers/commit/f7e87dbb9a0bc8d89aee47318dddbaa4d6ba5b91))
+
+
+### Features
+
+* **cli:** Add typed client to a generated app ([#2669](https://github.com/feathersjs/feathers/issues/2669)) ([5b801b5](https://github.com/feathersjs/feathers/commit/5b801b5017ddc3eaa95622b539f51d605916bc86))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
diff --git a/packages/schema/package.json b/packages/schema/package.json
index c06fe76fdc..66531555c5 100644
--- a/packages/schema/package.json
+++ b/packages/schema/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/schema",
"description": "A common data schema definition format",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -53,9 +53,9 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
"@feathersjs/hooks": "^0.7.5",
"@types/json-schema": "^7.0.11",
"ajv": "^8.11.0",
@@ -63,7 +63,7 @@
"json-schema-to-ts": "^2.5.3"
},
"devDependencies": {
- "@feathersjs/memory": "^5.0.0-pre.23",
+ "@feathersjs/memory": "^5.0.0-pre.24",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
"ajv-formats": "^2.1.1",
@@ -71,5 +71,5 @@
"shx": "^0.3.4",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/schema/src/hooks/resolve.ts b/packages/schema/src/hooks/resolve.ts
index 8c36b5778a..c891ec1b65 100644
--- a/packages/schema/src/hooks/resolve.ts
+++ b/packages/schema/src/hooks/resolve.ts
@@ -143,10 +143,10 @@ export const resolveDispatch =
const status = context.params.resolve
const { isPaginated, data } = getData(context)
const resolveAndGetDispatch = async (current: any) => {
- const resolved = await runResolvers(resolvers, current, ctx, status)
+ const resolved: any = await runResolvers(resolvers, current, ctx, status)
return Object.keys(resolved).reduce((res, key) => {
- res[key] = getDispatch(current[key])
+ res[key] = getDispatch(resolved[key])
return res
}, {} as any)
diff --git a/packages/schema/src/query.ts b/packages/schema/src/query.ts
index a8535fda8c..e786069ea5 100644
--- a/packages/schema/src/query.ts
+++ b/packages/schema/src/query.ts
@@ -63,7 +63,7 @@ export const queryProperties = (definit
return result
}, {} as { [K in keyof T]: PropertyQuery })
-export const querySyntax = (definition: T) =>
+export const querySyntax = (definition: T) =>
({
$limit: {
type: 'number',
diff --git a/packages/schema/test/fixture.ts b/packages/schema/test/fixture.ts
index 05f83d199d..d32932fc8c 100644
--- a/packages/schema/test/fixture.ts
+++ b/packages/schema/test/fixture.ts
@@ -63,7 +63,8 @@ export const userResultResolver = resolve>(
export const userDispatchResolver = resolve>({
schema: userResultSchema,
properties: {
- password: () => undefined
+ password: async () => undefined,
+ email: async () => '[redacted]'
}
})
diff --git a/packages/schema/test/hooks.test.ts b/packages/schema/test/hooks.test.ts
index 84e10c0d1f..de1a2b22da 100644
--- a/packages/schema/test/hooks.test.ts
+++ b/packages/schema/test/hooks.test.ts
@@ -159,8 +159,8 @@ describe('@feathersjs/schema/hooks', () => {
userId: 0,
id: 0,
user: {
- email: 'hello@feathersjs.com',
id: 0,
+ email: '[redacted]',
name: 'hello (hello@feathersjs.com)'
}
})
diff --git a/packages/socketio-client/CHANGELOG.md b/packages/socketio-client/CHANGELOG.md
index d61037bb5d..f2548ad7d0 100644
--- a/packages/socketio-client/CHANGELOG.md
+++ b/packages/socketio-client/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+
+### Features
+
+* **cli:** Add typed client to a generated app ([#2669](https://github.com/feathersjs/feathers/issues/2669)) ([5b801b5](https://github.com/feathersjs/feathers/commit/5b801b5017ddc3eaa95622b539f51d605916bc86))
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
diff --git a/packages/socketio-client/package.json b/packages/socketio-client/package.json
index 7316e07312..604a250af1 100644
--- a/packages/socketio-client/package.json
+++ b/packages/socketio-client/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/socketio-client",
"description": "The client for Socket.io through feathers-socketio",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -53,14 +53,14 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/transport-commons": "^5.0.0-pre.23"
+ "@feathersjs/transport-commons": "^5.0.0-pre.24"
},
"devDependencies": {
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
- "@feathersjs/memory": "^5.0.0-pre.23",
- "@feathersjs/socketio": "^5.0.0-pre.23",
- "@feathersjs/tests": "^5.0.0-pre.23",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
+ "@feathersjs/memory": "^5.0.0-pre.24",
+ "@feathersjs/socketio": "^5.0.0-pre.24",
+ "@feathersjs/tests": "^5.0.0-pre.24",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
"mocha": "^10.0.0",
@@ -69,5 +69,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/socketio-client/src/index.ts b/packages/socketio-client/src/index.ts
index 1b43ee744b..34c9102982 100644
--- a/packages/socketio-client/src/index.ts
+++ b/packages/socketio-client/src/index.ts
@@ -1,6 +1,11 @@
import { Service, SocketService } from '@feathersjs/transport-commons/client'
import { Socket } from 'socket.io-client'
-import { Application, defaultEventMap, defaultServiceMethods } from '@feathersjs/feathers'
+import {
+ Application,
+ TransportConnection,
+ defaultEventMap,
+ defaultServiceMethods
+} from '@feathersjs/feathers'
export { SocketService }
@@ -14,7 +19,7 @@ declare module '@feathersjs/feathers/lib/declarations' {
}
}
-export default function socketioClient(connection: Socket, options?: any) {
+export default function socketioClient(connection: Socket, options?: any) {
if (!connection) {
throw new Error('Socket.io connection needs to be provided')
}
@@ -31,7 +36,7 @@ export default function socketioClient(connection: Socket, options?: any) {
return new Service(settings) as any
}
- const initialize = function (app: Application) {
+ const initialize = function (app: Application) {
if (app.io !== undefined) {
throw new Error('Only one default client provider can be configured')
}
@@ -50,7 +55,7 @@ export default function socketioClient(connection: Socket, options?: any) {
initialize.Service = Service
initialize.service = defaultService
- return initialize
+ return initialize as TransportConnection
}
if (typeof module !== 'undefined') {
diff --git a/packages/socketio-client/test/index.test.ts b/packages/socketio-client/test/index.test.ts
index 239e61adb9..e7d45fbfa4 100644
--- a/packages/socketio-client/test/index.test.ts
+++ b/packages/socketio-client/test/index.test.ts
@@ -26,7 +26,7 @@ describe('@feathersjs/socketio-client', () => {
server = await createServer().listen(9988)
socket = io('http://localhost:9988')
- const connection = socketio(socket)
+ const connection = socketio(socket)
app.configure(connection)
app.use('todos', connection.service('todos'), {
diff --git a/packages/socketio/CHANGELOG.md b/packages/socketio/CHANGELOG.md
index 9b8c69c9a7..77b36394f4 100644
--- a/packages/socketio/CHANGELOG.md
+++ b/packages/socketio/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+**Note:** Version bump only for package @feathersjs/socketio
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/socketio
diff --git a/packages/socketio/package.json b/packages/socketio/package.json
index dab8393ff4..70a6392791 100644
--- a/packages/socketio/package.json
+++ b/packages/socketio/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/socketio",
"description": "The Feathers Socket.io real-time API provider",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -52,15 +52,15 @@
"access": "public"
},
"dependencies": {
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
- "@feathersjs/transport-commons": "^5.0.0-pre.23",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
+ "@feathersjs/transport-commons": "^5.0.0-pre.24",
"socket.io": "^4.5.1"
},
"devDependencies": {
- "@feathersjs/express": "^5.0.0-pre.23",
- "@feathersjs/memory": "^5.0.0-pre.23",
- "@feathersjs/tests": "^5.0.0-pre.23",
+ "@feathersjs/express": "^5.0.0-pre.24",
+ "@feathersjs/memory": "^5.0.0-pre.24",
+ "@feathersjs/tests": "^5.0.0-pre.24",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
"lodash": "^4.17.21",
@@ -69,5 +69,5 @@
"socket.io-client": "^4.5.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}
diff --git a/packages/tests/CHANGELOG.md b/packages/tests/CHANGELOG.md
index 5895d516aa..23e4de4613 100644
--- a/packages/tests/CHANGELOG.md
+++ b/packages/tests/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+**Note:** Version bump only for package @feathersjs/tests
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
**Note:** Version bump only for package @feathersjs/tests
diff --git a/packages/tests/package.json b/packages/tests/package.json
index b07228da3b..52ecc1f2be 100644
--- a/packages/tests/package.json
+++ b/packages/tests/package.json
@@ -2,7 +2,7 @@
"name": "@feathersjs/tests",
"private": true,
"description": "Feathers core module common tests",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -48,7 +48,7 @@
"lodash": "^4.17.21"
},
"devDependencies": {
- "@feathersjs/feathers": "^5.0.0-pre.23",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
"@types/axios": "^0.14.0",
"@types/mocha": "^9.1.1",
"@types/node": "^17.0.40",
diff --git a/packages/transport-commons/CHANGELOG.md b/packages/transport-commons/CHANGELOG.md
index 839f5c1b6d..e1d6c1c2ef 100644
--- a/packages/transport-commons/CHANGELOG.md
+++ b/packages/transport-commons/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
+
+**Note:** Version bump only for package @feathersjs/transport-commons
+
+
+
+
+
# [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
diff --git a/packages/transport-commons/package.json b/packages/transport-commons/package.json
index a29214280d..60506ba497 100644
--- a/packages/transport-commons/package.json
+++ b/packages/transport-commons/package.json
@@ -1,7 +1,7 @@
{
"name": "@feathersjs/transport-commons",
"description": "Shared functionality for websocket providers",
- "version": "5.0.0-pre.23",
+ "version": "5.0.0-pre.24",
"homepage": "https://feathersjs.com",
"main": "lib/",
"types": "lib/",
@@ -53,9 +53,9 @@
"*.js"
],
"dependencies": {
- "@feathersjs/commons": "^5.0.0-pre.23",
- "@feathersjs/errors": "^5.0.0-pre.23",
- "@feathersjs/feathers": "^5.0.0-pre.23",
+ "@feathersjs/commons": "^5.0.0-pre.24",
+ "@feathersjs/errors": "^5.0.0-pre.24",
+ "@feathersjs/feathers": "^5.0.0-pre.24",
"encodeurl": "^1.0.2",
"lodash": "^4.17.21"
},
@@ -69,5 +69,5 @@
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
},
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
+ "gitHead": "a60910bd730b88053ca6648337095f1ca1e3b39f"
}