From e14411d828e8a5397b3a8b74810805edb122e17c Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Mon, 15 Jun 2020 18:01:52 +0300 Subject: [PATCH 01/32] Move focal-state into separate packages --- package.json | 6 +- packages/focal-state/.gitignore | 1 + packages/focal-state/jest.config.js | 16 +++ packages/focal-state/package.json | 106 ++++++++++++++++++ .../{focal => focal-state}/src/atom/base.ts | 0 .../{focal => focal-state}/src/atom/index.ts | 0 packages/focal-state/src/index.ts | 3 + .../{focal => focal-state}/src/lens/base.ts | 0 .../{focal => focal-state}/src/lens/index.ts | 0 .../{focal => focal-state}/src/lens/json.ts | 0 packages/focal-state/src/utils.ts | 52 +++++++++ .../{focal => focal-state}/test/atom.test.ts | 0 .../{focal => focal-state}/test/lens.test.ts | 0 packages/focal-state/tsconfig.json | 25 +++++ packages/focal-state/tslint.json | 6 + packages/focal-utils/.gitignore | 1 + packages/focal-utils/jest.config.js | 16 +++ packages/focal-utils/package.json | 97 ++++++++++++++++ packages/{focal => focal-utils}/src/equals.ts | 0 packages/focal-utils/src/index.ts | 1 + packages/focal-utils/tsconfig.json | 25 +++++ packages/focal-utils/tslint.json | 6 + packages/focal/package.json | 3 + packages/focal/src/index.ts | 4 +- packages/focal/src/react/react.ts | 4 +- packages/focal/src/utils.ts | 40 ------- packages/focal/test/react.test.tsx | 2 +- 27 files changed, 366 insertions(+), 48 deletions(-) create mode 100644 packages/focal-state/.gitignore create mode 100644 packages/focal-state/jest.config.js create mode 100644 packages/focal-state/package.json rename packages/{focal => focal-state}/src/atom/base.ts (100%) rename packages/{focal => focal-state}/src/atom/index.ts (100%) create mode 100644 packages/focal-state/src/index.ts rename packages/{focal => focal-state}/src/lens/base.ts (100%) rename packages/{focal => focal-state}/src/lens/index.ts (100%) rename packages/{focal => focal-state}/src/lens/json.ts (100%) create mode 100644 packages/focal-state/src/utils.ts rename packages/{focal => focal-state}/test/atom.test.ts (100%) rename packages/{focal => focal-state}/test/lens.test.ts (100%) create mode 100644 packages/focal-state/tsconfig.json create mode 100644 packages/focal-state/tslint.json create mode 100644 packages/focal-utils/.gitignore create mode 100644 packages/focal-utils/jest.config.js create mode 100644 packages/focal-utils/package.json rename packages/{focal => focal-utils}/src/equals.ts (100%) create mode 100644 packages/focal-utils/src/index.ts create mode 100644 packages/focal-utils/tsconfig.json create mode 100644 packages/focal-utils/tslint.json diff --git a/package.json b/package.json index 564ddde..16438b7 100644 --- a/package.json +++ b/package.json @@ -2,10 +2,10 @@ "private": true, "name": "focal", "scripts": { - "build": "yarn workspace @grammarly/focal build", + "build": "yarn workspace @grammarly/focal-utils build && yarn workspace @grammarly/focal-state build && yarn workspace @grammarly/focal build", "package": "yarn workspace @grammarly/focal pack", "release": "yarn workspace @grammarly/focal release", - "test": "yarn workspace @grammarly/focal test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", + "test": "yarn workspace @grammarly/focal-state test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", "postinstall": "yarn build" }, "devDependencies": { @@ -14,6 +14,8 @@ "typescript": "3.3.3" }, "workspaces": [ + "packages/focal-state", + "packages/focal-utils", "packages/focal", "packages/test", "packages/examples/*" diff --git a/packages/focal-state/.gitignore b/packages/focal-state/.gitignore new file mode 100644 index 0000000..1521c8b --- /dev/null +++ b/packages/focal-state/.gitignore @@ -0,0 +1 @@ +dist diff --git a/packages/focal-state/jest.config.js b/packages/focal-state/jest.config.js new file mode 100644 index 0000000..c55da1b --- /dev/null +++ b/packages/focal-state/jest.config.js @@ -0,0 +1,16 @@ +module.exports = { + clearMocks: true, + moduleFileExtensions: [ + 'js', + 'ts', + 'tsx', + ], + testEnvironment: 'jest-environment-jsdom', + testMatch: [ + '**/*.test.ts?(x)', + ], + transform: { + '.(ts|tsx)': 'ts-jest', + }, + preset: 'ts-jest' +} diff --git a/packages/focal-state/package.json b/packages/focal-state/package.json new file mode 100644 index 0000000..8256afa --- /dev/null +++ b/packages/focal-state/package.json @@ -0,0 +1,106 @@ +{ + "name": "@grammarly/focal-state", + "version": "0.8.1", + "description": "FRP State: observables, immutable data and lenses", + "main": "dist/_cjs/src/index.js", + "module": "dist/_esm5/src/index.js", + "es2015": "dist/_esm2015/src/index.js", + "types": "dist/_cjs/src/index.d.ts", + "sideEffects": [ + "./dist/_cjs/src/lens/json.js", + "./dist/_esm5/src/lens/json.js", + "./dist/_esm2015/src/lens/json.js" + ], + "files": [ + "dist/_cjs/src/", + "dist/_esm5/src/", + "dist/_esm2015/src/" + ], + "scripts": { + "docs": "rm -rf ./docs && typedoc --out docs --theme minimal --ignoreCompilerErrors --tsconfig tsconfig.json", + "clean": "rm -rf ./dist", + "build:cjs": "tsc --module commonjs --target es5 --outDir dist/_cjs", + "build:es5": "tsc --module es2015 --outDir dist/_esm5", + "build:es2015": "tsc --module es2015 --target esnext --outDir dist/_esm2015", + "build": "npm run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && npm run lint", + "test": "jest", + "test:watch": "jest --watch", + "lint": "tslint --type-check --project tsconfig.json -c tslint.json", + "prepack": "cp ../../README.md ./ && cp ../../LICENSE ./", + "postpack": "rm README.md && rm LICENSE", + "preversion": "if ! [[ $(git rev-parse --abbrev-ref HEAD) == \"master\" ]]; then echo \"Not on the master branch.\" && exit 1; fi", + "postversion": "git push && git push --tags", + "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-v$VER.tgz --access public" + }, + "author": "Sergey Yavnyi ", + "contributors": [ + { + "name": "Sergey Yavnyi", + "email": "sergey.yavnyi@grammarly.com" + }, + { + "name": "Valentyn Gaidylo", + "email": "valentyn.gaidylo@grammarly.com" + }, + { + "name": "Igor Kononuchenko", + "email": "igor.kononuchenko@grammarly.com" + }, + { + "name": "Alisa Mansurova", + "email": "alisa.mansurova@grammarly.com" + }, + { + "name": "Eugene Chechuryn", + "email": "eugene.chechuryn@grammarly.com" + }, + { + "name": "Yaroslav Voloshchuk", + "email": "yaroslav.voloshchuk@grammarly.com" + }, + { + "name": "Sergey Rudenko", + "email": "sergey.rudenko@grammarly.com" + }, + { + "name": "Gregory Shehet", + "email": "gregory.shehet@grammarly.com" + }, + { + "name": "Anton Verinov", + "email": "anton@verinov.com" + }, + { + "name": "Oleksii Levzhynskyi", + "email": "oleksii.levzhynskyi@gmail.com" + } + ], + "keywords": [ + "frp", + "rx", + "rxjs", + "reactive", + "react", + "reactjs", + "lens" + ], + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/grammarly/focal.git" + }, + "dependencies": {}, + "devDependencies": { + "@grammarly/tslint-config": "0.5.1", + "@types/jest": "^24.0.0", + "@types/node": "^6.0.34", + "jest": "^24.1.0", + "rxjs": "6.3.3", + "ts-jest": "^23.10.5", + "tslint": "5.2.0", + "typescript": "3.3.3" + }, + "peerDependencies": { + "rxjs": ">= 6.3.3 < 7.0.0-0" + } +} diff --git a/packages/focal/src/atom/base.ts b/packages/focal-state/src/atom/base.ts similarity index 100% rename from packages/focal/src/atom/base.ts rename to packages/focal-state/src/atom/base.ts diff --git a/packages/focal/src/atom/index.ts b/packages/focal-state/src/atom/index.ts similarity index 100% rename from packages/focal/src/atom/index.ts rename to packages/focal-state/src/atom/index.ts diff --git a/packages/focal-state/src/index.ts b/packages/focal-state/src/index.ts new file mode 100644 index 0000000..211e151 --- /dev/null +++ b/packages/focal-state/src/index.ts @@ -0,0 +1,3 @@ +export { Lens, Prism, Optic } from './lens/index' +export { Atom, ReadOnlyAtom } from './atom/index' +export { Option } from './utils' diff --git a/packages/focal/src/lens/base.ts b/packages/focal-state/src/lens/base.ts similarity index 100% rename from packages/focal/src/lens/base.ts rename to packages/focal-state/src/lens/base.ts diff --git a/packages/focal/src/lens/index.ts b/packages/focal-state/src/lens/index.ts similarity index 100% rename from packages/focal/src/lens/index.ts rename to packages/focal-state/src/lens/index.ts diff --git a/packages/focal/src/lens/json.ts b/packages/focal-state/src/lens/json.ts similarity index 100% rename from packages/focal/src/lens/json.ts rename to packages/focal-state/src/lens/json.ts diff --git a/packages/focal-state/src/utils.ts b/packages/focal-state/src/utils.ts new file mode 100644 index 0000000..a0d0331 --- /dev/null +++ b/packages/focal-state/src/utils.ts @@ -0,0 +1,52 @@ +import { structEq } from '@grammarly/focal-utils' +export { structEq } from '@grammarly/focal-utils' + +export const DEV_ENV = typeof process !== 'undefined' && process.env.NODE_ENV !== 'production' + +export function setKey(k: K, v: T[K], o: T): T { + if (k in o && structEq(v, o[k])) { + return o + } else { + // this is the fastest way to do it, see + // https://jsperf.com/focal-setkey-for-loop-vs-object-assign + const r: { [k in keyof T]: T[k] } = {} as any + for (const p in o) r[p] = o[p] + r[k] = v + + return r + } +} + +/** + * 'Conserve' a value's identity if its structure doesn't change. + */ +function conserve(x: T, y: T): T { + return structEq(x, y) ? y : x +} + +/** + * Make a fold function's behaviour conservative in its input value's + * identity. + */ +export function conservatively(fn: ((y: T, c0: U) => U)) { + return (y: T, c0: U) => conserve(fn(y, c0), c0) +} + +export function findIndex(xs: T[], p: (x: T) => boolean): number { + for (let i = 0; i < xs.length; i++) { + if (p(xs[i])) return i + } + return -1 +} + +export function warning(message: string) { + if (typeof console !== 'undefined' && typeof console.error === 'function') { + console.error('[Focal]: ' + message) // tslint:disable-line no-console + } + + // Throw a dummy error so it's possible to enter debugger with + // 'break on all exceptions'. + try { throw new Error(message) } catch (_) { /* no-op */ } +} + +export type Option = T | undefined diff --git a/packages/focal/test/atom.test.ts b/packages/focal-state/test/atom.test.ts similarity index 100% rename from packages/focal/test/atom.test.ts rename to packages/focal-state/test/atom.test.ts diff --git a/packages/focal/test/lens.test.ts b/packages/focal-state/test/lens.test.ts similarity index 100% rename from packages/focal/test/lens.test.ts rename to packages/focal-state/test/lens.test.ts diff --git a/packages/focal-state/tsconfig.json b/packages/focal-state/tsconfig.json new file mode 100644 index 0000000..041f840 --- /dev/null +++ b/packages/focal-state/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "declaration": true, + "target": "es5", + "sourceMap": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "rootDir": ".", + "noEmitOnError": true, + "noImplicitReturns": true, + "noImplicitAny": true, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "moduleResolution": "node", + "jsx": "react", + "strictNullChecks": true, + "noImplicitThis": true, + "lib": ["es6", "es2015", "dom", "scripthost"] + }, + "include": [ + "src/**/*.ts*", + "test/**/*.ts*" + ] +} diff --git a/packages/focal-state/tslint.json b/packages/focal-state/tslint.json new file mode 100644 index 0000000..e609ee3 --- /dev/null +++ b/packages/focal-state/tslint.json @@ -0,0 +1,6 @@ +{ + "extends": "@grammarly/tslint-config", + "rules": { + "strict-boolean-expressions": [false] + } +} \ No newline at end of file diff --git a/packages/focal-utils/.gitignore b/packages/focal-utils/.gitignore new file mode 100644 index 0000000..1521c8b --- /dev/null +++ b/packages/focal-utils/.gitignore @@ -0,0 +1 @@ +dist diff --git a/packages/focal-utils/jest.config.js b/packages/focal-utils/jest.config.js new file mode 100644 index 0000000..c55da1b --- /dev/null +++ b/packages/focal-utils/jest.config.js @@ -0,0 +1,16 @@ +module.exports = { + clearMocks: true, + moduleFileExtensions: [ + 'js', + 'ts', + 'tsx', + ], + testEnvironment: 'jest-environment-jsdom', + testMatch: [ + '**/*.test.ts?(x)', + ], + transform: { + '.(ts|tsx)': 'ts-jest', + }, + preset: 'ts-jest' +} diff --git a/packages/focal-utils/package.json b/packages/focal-utils/package.json new file mode 100644 index 0000000..7559883 --- /dev/null +++ b/packages/focal-utils/package.json @@ -0,0 +1,97 @@ +{ + "name": "@grammarly/focal-utils", + "version": "0.8.1", + "description": "Focal common utils", + "main": "dist/_cjs/src/index.js", + "module": "dist/_esm5/src/index.js", + "es2015": "dist/_esm2015/src/index.js", + "types": "dist/_cjs/src/index.d.ts", + "files": [ + "dist/_cjs/src/", + "dist/_esm5/src/", + "dist/_esm2015/src/" + ], + "scripts": { + "docs": "rm -rf ./docs && typedoc --out docs --theme minimal --ignoreCompilerErrors --tsconfig tsconfig.json", + "clean": "rm -rf ./dist", + "build:cjs": "tsc --module commonjs --target es5 --outDir dist/_cjs", + "build:es5": "tsc --module es2015 --outDir dist/_esm5", + "build:es2015": "tsc --module es2015 --target esnext --outDir dist/_esm2015", + "build": "npm run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && npm run lint", + "test": "jest", + "test:watch": "jest --watch", + "lint": "tslint --type-check --project tsconfig.json -c tslint.json", + "prepack": "cp ../../README.md ./ && cp ../../LICENSE ./", + "postpack": "rm README.md && rm LICENSE", + "preversion": "if ! [[ $(git rev-parse --abbrev-ref HEAD) == \"master\" ]]; then echo \"Not on the master branch.\" && exit 1; fi", + "postversion": "git push && git push --tags", + "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-v$VER.tgz --access public" + }, + "author": "Sergey Yavnyi ", + "contributors": [ + { + "name": "Sergey Yavnyi", + "email": "sergey.yavnyi@grammarly.com" + }, + { + "name": "Valentyn Gaidylo", + "email": "valentyn.gaidylo@grammarly.com" + }, + { + "name": "Igor Kononuchenko", + "email": "igor.kononuchenko@grammarly.com" + }, + { + "name": "Alisa Mansurova", + "email": "alisa.mansurova@grammarly.com" + }, + { + "name": "Eugene Chechuryn", + "email": "eugene.chechuryn@grammarly.com" + }, + { + "name": "Yaroslav Voloshchuk", + "email": "yaroslav.voloshchuk@grammarly.com" + }, + { + "name": "Sergey Rudenko", + "email": "sergey.rudenko@grammarly.com" + }, + { + "name": "Gregory Shehet", + "email": "gregory.shehet@grammarly.com" + }, + { + "name": "Anton Verinov", + "email": "anton@verinov.com" + }, + { + "name": "Oleksii Levzhynskyi", + "email": "oleksii.levzhynskyi@gmail.com" + } + ], + "keywords": [ + "frp", + "rx", + "rxjs", + "reactive", + "react", + "reactjs", + "lens" + ], + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/grammarly/focal.git" + }, + "dependencies": {}, + "devDependencies": { + "@grammarly/tslint-config": "0.5.1", + "@types/jest": "^24.0.0", + "@types/node": "^6.0.34", + "jest": "^24.1.0", + "ts-jest": "^23.10.5", + "tslint": "5.2.0", + "typescript": "3.3.3" + } +} diff --git a/packages/focal/src/equals.ts b/packages/focal-utils/src/equals.ts similarity index 100% rename from packages/focal/src/equals.ts rename to packages/focal-utils/src/equals.ts diff --git a/packages/focal-utils/src/index.ts b/packages/focal-utils/src/index.ts new file mode 100644 index 0000000..40f7056 --- /dev/null +++ b/packages/focal-utils/src/index.ts @@ -0,0 +1 @@ +export { equals as structEq } from './equals' diff --git a/packages/focal-utils/tsconfig.json b/packages/focal-utils/tsconfig.json new file mode 100644 index 0000000..041f840 --- /dev/null +++ b/packages/focal-utils/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "declaration": true, + "target": "es5", + "sourceMap": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "rootDir": ".", + "noEmitOnError": true, + "noImplicitReturns": true, + "noImplicitAny": true, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "moduleResolution": "node", + "jsx": "react", + "strictNullChecks": true, + "noImplicitThis": true, + "lib": ["es6", "es2015", "dom", "scripthost"] + }, + "include": [ + "src/**/*.ts*", + "test/**/*.ts*" + ] +} diff --git a/packages/focal-utils/tslint.json b/packages/focal-utils/tslint.json new file mode 100644 index 0000000..e609ee3 --- /dev/null +++ b/packages/focal-utils/tslint.json @@ -0,0 +1,6 @@ +{ + "extends": "@grammarly/tslint-config", + "rules": { + "strict-boolean-expressions": [false] + } +} \ No newline at end of file diff --git a/packages/focal/package.json b/packages/focal/package.json index 1d7d963..bea8063 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -91,6 +91,8 @@ }, "dependencies": {}, "devDependencies": { + "@grammarly/focal-state": "^0.8.1", + "@grammarly/focal-utils": "^0.8.1", "@grammarly/tslint-config": "0.5.1", "@types/jest": "^24.0.0", "@types/node": "^6.0.34", @@ -107,6 +109,7 @@ "peerDependencies": { "@types/react": ">= 16.0.33 < 17.0.0-0", "@types/react-dom": ">= 16.0.3 < 17.0.0-0", + "@grammarly/focal-state": ">= 0.8.1 < 0.9.0.0-0", "react": ">= 16.2.0 < 17.0.0-0", "react-dom": ">= 16.2.0 < 17.0.0-0", "rxjs": ">= 6.3.3 < 7.0.0-0" diff --git a/packages/focal/src/index.ts b/packages/focal/src/index.ts index 86d4298..db815d6 100644 --- a/packages/focal/src/index.ts +++ b/packages/focal/src/index.ts @@ -1,6 +1,4 @@ -export { Lens, Prism, Optic } from './lens/index' -export { Atom, ReadOnlyAtom } from './atom/index' -export { Option } from './utils' +export { Lens, Prism, Optic, Atom, ReadOnlyAtom, Option } from '@grammarly/focal-state' export { bind, diff --git a/packages/focal/src/react/react.ts b/packages/focal/src/react/react.ts index bddaa9f..a734ea9 100644 --- a/packages/focal/src/react/react.ts +++ b/packages/focal/src/react/react.ts @@ -1,6 +1,6 @@ import * as React from 'react' -import { structEq } from './../utils' -import { Atom } from './../atom' +import { structEq } from '@grammarly/focal-utils' +import { Atom } from '@grammarly/focal-state' import { warning, getReactComponentName, DEV_ENV } from './../utils' import { Observable, diff --git a/packages/focal/src/utils.ts b/packages/focal/src/utils.ts index 81f27ae..3cc2636 100644 --- a/packages/focal/src/utils.ts +++ b/packages/focal/src/utils.ts @@ -1,45 +1,7 @@ import * as React from 'react' -import { equals as structEq } from './equals' -export { equals as structEq } from './equals' export const DEV_ENV = typeof process !== 'undefined' && process.env.NODE_ENV !== 'production' -export function setKey(k: K, v: T[K], o: T): T { - if (k in o && structEq(v, o[k])) { - return o - } else { - // this is the fastest way to do it, see - // https://jsperf.com/focal-setkey-for-loop-vs-object-assign - const r: { [k in keyof T]: T[k] } = {} as any - for (const p in o) r[p] = o[p] - r[k] = v - - return r - } -} - -/** - * 'Conserve' a value's identity if its structure doesn't change. - */ -function conserve(x: T, y: T): T { - return structEq(x, y) ? y : x -} - -/** - * Make a fold function's behaviour conservative in its input value's - * identity. - */ -export function conservatively(fn: ((y: T, c0: U) => U)) { - return (y: T, c0: U) => conserve(fn(y, c0), c0) -} - -export function findIndex(xs: T[], p: (x: T) => boolean): number { - for (let i = 0; i < xs.length; i++) { - if (p(xs[i])) return i - } - return -1 -} - export function warning(message: string) { if (typeof console !== 'undefined' && typeof console.error === 'function') { console.error('[Focal]: ' + message) // tslint:disable-line no-console @@ -65,5 +27,3 @@ export function getReactComponentName( ? component.constructor.name : undefined } - -export type Option = T | undefined diff --git a/packages/focal/test/react.test.tsx b/packages/focal/test/react.test.tsx index 6412d65..8ed7eb3 100644 --- a/packages/focal/test/react.test.tsx +++ b/packages/focal/test/react.test.tsx @@ -2,12 +2,12 @@ import { of, EMPTY, NEVER } from 'rxjs' import { map, throttleTime } from 'rxjs/operators' import * as React from 'react' import * as ReactDOM from 'react-dom/server' +import { Atom } from '@grammarly/focal-state' import { F, lift, bind, - Atom, reactiveList, classes, bindElementProps From d8cdbbcd85806cb3e79c6aea34e7b8db355b6091 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Mon, 15 Jun 2020 18:05:04 +0300 Subject: [PATCH 02/32] =?UTF-8?q?Use=20tsconfig=20=C2=ABreferences=C2=BB?= =?UTF-8?q?=20feature=20to=20build=20local=20dependencies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 5 ++++- packages/focal-state/package.json | 6 +++--- packages/focal-state/tsconfig.build.cjs.json | 12 ++++++++++++ packages/focal-state/tsconfig.build.es2015.json | 12 ++++++++++++ packages/focal-state/tsconfig.build.es5.json | 12 ++++++++++++ packages/focal-state/tsconfig.json | 4 ++++ packages/focal-utils/package.json | 6 +++--- packages/focal-utils/tsconfig.build.cjs.json | 9 +++++++++ packages/focal-utils/tsconfig.build.es2015.json | 9 +++++++++ packages/focal-utils/tsconfig.build.es5.json | 9 +++++++++ packages/focal-utils/tsconfig.json | 1 + packages/focal/package.json | 8 ++++---- packages/focal/tsconfig.build.cjs.json | 13 +++++++++++++ packages/focal/tsconfig.build.es2015.json | 13 +++++++++++++ packages/focal/tsconfig.build.es5.json | 13 +++++++++++++ packages/focal/tsconfig.json | 4 ++++ 16 files changed, 125 insertions(+), 11 deletions(-) create mode 100644 packages/focal-state/tsconfig.build.cjs.json create mode 100644 packages/focal-state/tsconfig.build.es2015.json create mode 100644 packages/focal-state/tsconfig.build.es5.json create mode 100644 packages/focal-utils/tsconfig.build.cjs.json create mode 100644 packages/focal-utils/tsconfig.build.es2015.json create mode 100644 packages/focal-utils/tsconfig.build.es5.json create mode 100644 packages/focal/tsconfig.build.cjs.json create mode 100644 packages/focal/tsconfig.build.es2015.json create mode 100644 packages/focal/tsconfig.build.es5.json diff --git a/package.json b/package.json index 16438b7..712c803 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,11 @@ { "private": true, "name": "focal", + "nohoist": [ + "tslint-eslint-rules" + ], "scripts": { - "build": "yarn workspace @grammarly/focal-utils build && yarn workspace @grammarly/focal-state build && yarn workspace @grammarly/focal build", + "build": "yarn workspace @grammarly/focal build", "package": "yarn workspace @grammarly/focal pack", "release": "yarn workspace @grammarly/focal release", "test": "yarn workspace @grammarly/focal-state test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", diff --git a/packages/focal-state/package.json b/packages/focal-state/package.json index 8256afa..ea138ba 100644 --- a/packages/focal-state/package.json +++ b/packages/focal-state/package.json @@ -19,9 +19,9 @@ "scripts": { "docs": "rm -rf ./docs && typedoc --out docs --theme minimal --ignoreCompilerErrors --tsconfig tsconfig.json", "clean": "rm -rf ./dist", - "build:cjs": "tsc --module commonjs --target es5 --outDir dist/_cjs", - "build:es5": "tsc --module es2015 --outDir dist/_esm5", - "build:es2015": "tsc --module es2015 --target esnext --outDir dist/_esm2015", + "build:cjs": "tsc -b tsconfig.build.cjs.json", + "build:es5": "tsc -b tsconfig.build.es5.json", + "build:es2015": "tsc -b tsconfig.build.es2015.json", "build": "npm run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && npm run lint", "test": "jest", "test:watch": "jest --watch", diff --git a/packages/focal-state/tsconfig.build.cjs.json b/packages/focal-state/tsconfig.build.cjs.json new file mode 100644 index 0000000..2ebf031 --- /dev/null +++ b/packages/focal-state/tsconfig.build.cjs.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["**/*.spec.ts*"], + "compilerOptions": { + "outDir": "dist/_cjs", + "module": "commonjs", + "target": "es5" + }, + "references": [ + { "path": "../focal-utils/tsconfig.build.cjs.json" } + ] +} diff --git a/packages/focal-state/tsconfig.build.es2015.json b/packages/focal-state/tsconfig.build.es2015.json new file mode 100644 index 0000000..597bb3d --- /dev/null +++ b/packages/focal-state/tsconfig.build.es2015.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["**/*.spec.ts*"], + "compilerOptions": { + "outDir": "dist/_esm2015", + "module": "es2015", + "target": "esnext" + }, + "references": [ + { "path": "../focal-utils/tsconfig.build.es2015.json" } + ] +} diff --git a/packages/focal-state/tsconfig.build.es5.json b/packages/focal-state/tsconfig.build.es5.json new file mode 100644 index 0000000..33797a6 --- /dev/null +++ b/packages/focal-state/tsconfig.build.es5.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["**/*.spec.ts*"], + "compilerOptions": { + "outDir": "dist/_esm5", + "module": "commonjs", + "target": "es2015", + }, + "references": [ + { "path": "../focal-utils/tsconfig.build.es5.json" } + ] +} diff --git a/packages/focal-state/tsconfig.json b/packages/focal-state/tsconfig.json index 041f840..2dff692 100644 --- a/packages/focal-state/tsconfig.json +++ b/packages/focal-state/tsconfig.json @@ -1,6 +1,7 @@ { "compilerOptions": { "declaration": true, + "composite": true, "target": "es5", "sourceMap": true, "emitDecoratorMetadata": true, @@ -21,5 +22,8 @@ "include": [ "src/**/*.ts*", "test/**/*.ts*" + ], + "references": [ + { "path": "../focal-utils/tsconfig.json" } ] } diff --git a/packages/focal-utils/package.json b/packages/focal-utils/package.json index 7559883..d11a95f 100644 --- a/packages/focal-utils/package.json +++ b/packages/focal-utils/package.json @@ -14,9 +14,9 @@ "scripts": { "docs": "rm -rf ./docs && typedoc --out docs --theme minimal --ignoreCompilerErrors --tsconfig tsconfig.json", "clean": "rm -rf ./dist", - "build:cjs": "tsc --module commonjs --target es5 --outDir dist/_cjs", - "build:es5": "tsc --module es2015 --outDir dist/_esm5", - "build:es2015": "tsc --module es2015 --target esnext --outDir dist/_esm2015", + "build:cjs": "tsc -b tsconfig.build.cjs.json", + "build:es5": "tsc -b tsconfig.build.es5.json", + "build:es2015": "tsc -b tsconfig.build.es2015.json", "build": "npm run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && npm run lint", "test": "jest", "test:watch": "jest --watch", diff --git a/packages/focal-utils/tsconfig.build.cjs.json b/packages/focal-utils/tsconfig.build.cjs.json new file mode 100644 index 0000000..69fb604 --- /dev/null +++ b/packages/focal-utils/tsconfig.build.cjs.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["**/*.spec.ts*"], + "compilerOptions": { + "outDir": "dist/_cjs", + "module": "commonjs", + "target": "es5" + } +} diff --git a/packages/focal-utils/tsconfig.build.es2015.json b/packages/focal-utils/tsconfig.build.es2015.json new file mode 100644 index 0000000..34be7d9 --- /dev/null +++ b/packages/focal-utils/tsconfig.build.es2015.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["**/*.spec.ts*"], + "compilerOptions": { + "outDir": "dist/_esm2015", + "module": "es2015", + "target": "esnext" + } +} diff --git a/packages/focal-utils/tsconfig.build.es5.json b/packages/focal-utils/tsconfig.build.es5.json new file mode 100644 index 0000000..98f2583 --- /dev/null +++ b/packages/focal-utils/tsconfig.build.es5.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["**/*.spec.ts*"], + "compilerOptions": { + "outDir": "dist/_esm5", + "module": "commonjs", + "target": "es2015", + } +} diff --git a/packages/focal-utils/tsconfig.json b/packages/focal-utils/tsconfig.json index 041f840..2242e08 100644 --- a/packages/focal-utils/tsconfig.json +++ b/packages/focal-utils/tsconfig.json @@ -1,6 +1,7 @@ { "compilerOptions": { "declaration": true, + "composite": true, "target": "es5", "sourceMap": true, "emitDecoratorMetadata": true, diff --git a/packages/focal/package.json b/packages/focal/package.json index bea8063..5d53ef4 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -19,10 +19,10 @@ "scripts": { "docs": "rm -rf ./docs && typedoc --out docs --theme minimal --ignoreCompilerErrors --tsconfig tsconfig.json", "clean": "rm -rf ./dist", - "build:cjs": "tsc --module commonjs --target es5 --outDir dist/_cjs", - "build:es5": "tsc --module es2015 --outDir dist/_esm5", - "build:es2015": "tsc --module es2015 --target esnext --outDir dist/_esm2015", - "build": "npm run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && npm run lint", + "build:cjs": "tsc -b tsconfig.build.cjs.json", + "build:es5": "tsc -b tsconfig.build.es5.json", + "build:es2015": "tsc -b tsconfig.build.es2015.json", + "build": "yarn run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn run lint", "test": "jest", "test:watch": "jest --watch", "lint": "tslint --type-check --project tsconfig.json -c tslint.json", diff --git a/packages/focal/tsconfig.build.cjs.json b/packages/focal/tsconfig.build.cjs.json new file mode 100644 index 0000000..8d8b145 --- /dev/null +++ b/packages/focal/tsconfig.build.cjs.json @@ -0,0 +1,13 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["**/*.spec.ts*"], + "compilerOptions": { + "outDir": "dist/_cjs", + "module": "commonjs", + "target": "es5" + }, + "references": [ + { "path": "../focal-state/tsconfig.build.cjs.json" }, + { "path": "../focal-utils/tsconfig.build.cjs.json" } + ] +} diff --git a/packages/focal/tsconfig.build.es2015.json b/packages/focal/tsconfig.build.es2015.json new file mode 100644 index 0000000..efd7527 --- /dev/null +++ b/packages/focal/tsconfig.build.es2015.json @@ -0,0 +1,13 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["**/*.spec.ts*"], + "compilerOptions": { + "outDir": "dist/_esm2015", + "module": "es2015", + "target": "esnext" + }, + "references": [ + { "path": "../focal-state/tsconfig.build.es2015.json" }, + { "path": "../focal-utils/tsconfig.build.es2015.json" } + ] +} diff --git a/packages/focal/tsconfig.build.es5.json b/packages/focal/tsconfig.build.es5.json new file mode 100644 index 0000000..05870f9 --- /dev/null +++ b/packages/focal/tsconfig.build.es5.json @@ -0,0 +1,13 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["**/*.spec.ts*"], + "compilerOptions": { + "outDir": "dist/_esm5", + "module": "commonjs", + "target": "es2015", + }, + "references": [ + { "path": "../focal-state/tsconfig.build.es5.json" }, + { "path": "../focal-utils/tsconfig.build.es5.json" } + ] +} diff --git a/packages/focal/tsconfig.json b/packages/focal/tsconfig.json index 041f840..5f9d65a 100644 --- a/packages/focal/tsconfig.json +++ b/packages/focal/tsconfig.json @@ -21,5 +21,9 @@ "include": [ "src/**/*.ts*", "test/**/*.ts*" + ], + "references": [ + { "path": "../focal-state/tsconfig.json" }, + { "path": "../focal-utils/tsconfig.json" } ] } From d97afac636377df10f5ad9ae472077f4fdef310d Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Mon, 15 Jun 2020 18:07:59 +0300 Subject: [PATCH 03/32] =?UTF-8?q?Add=20=C2=ABdev=C2=BB=20build=20and=20all?= =?UTF-8?q?ow=20to=20run=20=C2=ABdev=C2=BB=20and=20=C2=ABclean=C2=BB=20fro?= =?UTF-8?q?m=20root=20packages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 ++ packages/focal-state/package.json | 1 + packages/focal-utils/package.json | 1 + packages/focal/package.json | 1 + 4 files changed, 5 insertions(+) diff --git a/package.json b/package.json index 712c803..8cb43fb 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,8 @@ ], "scripts": { "build": "yarn workspace @grammarly/focal build", + "dev": "yarn workspace @grammarly/focal dev", + "clean": "yarn workspace @grammarly/focal-utils clean && yarn workspace @grammarly/focal-state clean && yarn workspace @grammarly/focal clean", "package": "yarn workspace @grammarly/focal pack", "release": "yarn workspace @grammarly/focal release", "test": "yarn workspace @grammarly/focal-state test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", diff --git a/packages/focal-state/package.json b/packages/focal-state/package.json index ea138ba..15757fa 100644 --- a/packages/focal-state/package.json +++ b/packages/focal-state/package.json @@ -19,6 +19,7 @@ "scripts": { "docs": "rm -rf ./docs && typedoc --out docs --theme minimal --ignoreCompilerErrors --tsconfig tsconfig.json", "clean": "rm -rf ./dist", + "dev": "tsc -b -w tsconfig.build.cjs.json", "build:cjs": "tsc -b tsconfig.build.cjs.json", "build:es5": "tsc -b tsconfig.build.es5.json", "build:es2015": "tsc -b tsconfig.build.es2015.json", diff --git a/packages/focal-utils/package.json b/packages/focal-utils/package.json index d11a95f..52c0c64 100644 --- a/packages/focal-utils/package.json +++ b/packages/focal-utils/package.json @@ -14,6 +14,7 @@ "scripts": { "docs": "rm -rf ./docs && typedoc --out docs --theme minimal --ignoreCompilerErrors --tsconfig tsconfig.json", "clean": "rm -rf ./dist", + "dev": "tsc -b -w tsconfig.build.cjs.json", "build:cjs": "tsc -b tsconfig.build.cjs.json", "build:es5": "tsc -b tsconfig.build.es5.json", "build:es2015": "tsc -b tsconfig.build.es2015.json", diff --git a/packages/focal/package.json b/packages/focal/package.json index 5d53ef4..1008f66 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -19,6 +19,7 @@ "scripts": { "docs": "rm -rf ./docs && typedoc --out docs --theme minimal --ignoreCompilerErrors --tsconfig tsconfig.json", "clean": "rm -rf ./dist", + "dev": "tsc -b -w tsconfig.build.cjs.json", "build:cjs": "tsc -b tsconfig.build.cjs.json", "build:es5": "tsc -b tsconfig.build.es5.json", "build:es2015": "tsc -b tsconfig.build.es2015.json", From 22ac5ae3c4d44d6fd8de92c47d23340f30a89980 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Mon, 15 Jun 2020 18:14:36 +0300 Subject: [PATCH 04/32] Use focal@0.8.1 in examples --- packages/examples/all/package.json | 2 +- packages/examples/todomvc/package.json | 2 +- packages/test/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/examples/all/package.json b/packages/examples/all/package.json index 05ce414..5b6fb4c 100644 --- a/packages/examples/all/package.json +++ b/packages/examples/all/package.json @@ -20,7 +20,7 @@ "author": "Grammarly, Inc.", "license": "Apache-2.0", "devDependencies": { - "@grammarly/focal": "0.8.0-alpha.0", + "@grammarly/focal": "0.8.1", "@grammarly/tslint-config": "0.5.1", "@types/react": "16.0.33", "@types/react-dom": "16.0.3", diff --git a/packages/examples/todomvc/package.json b/packages/examples/todomvc/package.json index ad26ce1..75ec599 100644 --- a/packages/examples/todomvc/package.json +++ b/packages/examples/todomvc/package.json @@ -20,7 +20,7 @@ "author": "Grammarly, Inc.", "license": "Apache-2.0", "devDependencies": { - "@grammarly/focal": "0.8.0-alpha.0", + "@grammarly/focal": "0.8.1", "@grammarly/tslint-config": "0.5.1", "@types/react": "16.0.33", "@types/react-dom": "16.0.3", diff --git a/packages/test/package.json b/packages/test/package.json index a312605..27e02f1 100644 --- a/packages/test/package.json +++ b/packages/test/package.json @@ -16,7 +16,7 @@ "author": "Grammarly, Inc.", "license": "Apache-2.0", "devDependencies": { - "@grammarly/focal": "0.8.0-alpha.0", + "@grammarly/focal": "0.8.1", "@grammarly/tslint-config": "0.5.1", "@types/node": "^9.6.0", "@types/react": "16.0.33", From 479965d4dbdbc0765e3401c24af37c38896f7f5f Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Mon, 15 Jun 2020 18:14:55 +0300 Subject: [PATCH 05/32] =?UTF-8?q?=C2=ABclean=C2=BB=20before=20build=20when?= =?UTF-8?q?=20called=20from=20root?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8cb43fb..3490c21 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "tslint-eslint-rules" ], "scripts": { - "build": "yarn workspace @grammarly/focal build", + "build": "yarn clean && yarn workspace @grammarly/focal build", "dev": "yarn workspace @grammarly/focal dev", "clean": "yarn workspace @grammarly/focal-utils clean && yarn workspace @grammarly/focal-state clean && yarn workspace @grammarly/focal clean", "package": "yarn workspace @grammarly/focal pack", From e35a2cdfafefb93f5e9075a11da71b3784f72165 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Tue, 16 Jun 2020 08:46:10 +0300 Subject: [PATCH 06/32] rename focal-state to focal-atom --- package.json | 13 ++++++++----- packages/{focal-state => focal-atom}/.gitignore | 0 packages/{focal-state => focal-atom}/jest.config.js | 0 packages/{focal-state => focal-atom}/package.json | 6 +++--- .../{focal-state => focal-atom}/src/atom/base.ts | 0 .../{focal-state => focal-atom}/src/atom/index.ts | 0 packages/{focal-state => focal-atom}/src/index.ts | 0 .../{focal-state => focal-atom}/src/lens/base.ts | 0 .../{focal-state => focal-atom}/src/lens/index.ts | 0 .../{focal-state => focal-atom}/src/lens/json.ts | 0 packages/{focal-state => focal-atom}/src/utils.ts | 0 .../{focal-state => focal-atom}/test/atom.test.ts | 0 .../{focal-state => focal-atom}/test/lens.test.ts | 0 .../tsconfig.build.cjs.json | 0 .../tsconfig.build.es2015.json | 0 .../tsconfig.build.es5.json | 0 packages/{focal-state => focal-atom}/tsconfig.json | 0 packages/{focal-state => focal-atom}/tslint.json | 0 packages/focal-utils/package.json | 7 +------ packages/focal/package.json | 4 ++-- packages/focal/src/index.ts | 2 +- packages/focal/src/react/react.ts | 2 +- packages/focal/test/react.test.tsx | 2 +- packages/focal/tsconfig.build.cjs.json | 2 +- packages/focal/tsconfig.build.es2015.json | 2 +- packages/focal/tsconfig.build.es5.json | 2 +- packages/focal/tsconfig.json | 2 +- 27 files changed, 21 insertions(+), 23 deletions(-) rename packages/{focal-state => focal-atom}/.gitignore (100%) rename packages/{focal-state => focal-atom}/jest.config.js (100%) rename packages/{focal-state => focal-atom}/package.json (94%) rename packages/{focal-state => focal-atom}/src/atom/base.ts (100%) rename packages/{focal-state => focal-atom}/src/atom/index.ts (100%) rename packages/{focal-state => focal-atom}/src/index.ts (100%) rename packages/{focal-state => focal-atom}/src/lens/base.ts (100%) rename packages/{focal-state => focal-atom}/src/lens/index.ts (100%) rename packages/{focal-state => focal-atom}/src/lens/json.ts (100%) rename packages/{focal-state => focal-atom}/src/utils.ts (100%) rename packages/{focal-state => focal-atom}/test/atom.test.ts (100%) rename packages/{focal-state => focal-atom}/test/lens.test.ts (100%) rename packages/{focal-state => focal-atom}/tsconfig.build.cjs.json (100%) rename packages/{focal-state => focal-atom}/tsconfig.build.es2015.json (100%) rename packages/{focal-state => focal-atom}/tsconfig.build.es5.json (100%) rename packages/{focal-state => focal-atom}/tsconfig.json (100%) rename packages/{focal-state => focal-atom}/tslint.json (100%) diff --git a/package.json b/package.json index 3490c21..c17c39f 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,13 @@ "scripts": { "build": "yarn clean && yarn workspace @grammarly/focal build", "dev": "yarn workspace @grammarly/focal dev", - "clean": "yarn workspace @grammarly/focal-utils clean && yarn workspace @grammarly/focal-state clean && yarn workspace @grammarly/focal clean", - "package": "yarn workspace @grammarly/focal pack", - "release": "yarn workspace @grammarly/focal release", - "test": "yarn workspace @grammarly/focal-state test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", + "clean": "yarn workspace @grammarly/focal-utils clean && yarn workspace @grammarly/focal-atom clean && yarn workspace @grammarly/focal clean", + "docs": "yarn workspace @grammarly/focal-utils docs && yarn workspace @grammarly/focal-atom docs && yarn workspace @grammarly/focal docs", + "package:focal": "yarn workspace @grammarly/focal pack", + "release:focal": "yarn workspace @grammarly/focal release", + "package:focal-atom": "yarn workspace @grammarly/focal-atom pack", + "release:focal-atom": "yarn workspace @grammarly/focal-atom release", + "test": "yarn workspace @grammarly/focal-atom test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", "postinstall": "yarn build" }, "devDependencies": { @@ -19,7 +22,7 @@ "typescript": "3.3.3" }, "workspaces": [ - "packages/focal-state", + "packages/focal-atom", "packages/focal-utils", "packages/focal", "packages/test", diff --git a/packages/focal-state/.gitignore b/packages/focal-atom/.gitignore similarity index 100% rename from packages/focal-state/.gitignore rename to packages/focal-atom/.gitignore diff --git a/packages/focal-state/jest.config.js b/packages/focal-atom/jest.config.js similarity index 100% rename from packages/focal-state/jest.config.js rename to packages/focal-atom/jest.config.js diff --git a/packages/focal-state/package.json b/packages/focal-atom/package.json similarity index 94% rename from packages/focal-state/package.json rename to packages/focal-atom/package.json index 15757fa..cefb0a2 100644 --- a/packages/focal-state/package.json +++ b/packages/focal-atom/package.json @@ -1,7 +1,7 @@ { - "name": "@grammarly/focal-state", + "name": "@grammarly/focal-atom", "version": "0.8.1", - "description": "FRP State: observables, immutable data and lenses", + "description": "FRP Atom: observables, immutable data and lenses", "main": "dist/_cjs/src/index.js", "module": "dist/_esm5/src/index.js", "es2015": "dist/_esm2015/src/index.js", @@ -31,7 +31,7 @@ "postpack": "rm README.md && rm LICENSE", "preversion": "if ! [[ $(git rev-parse --abbrev-ref HEAD) == \"master\" ]]; then echo \"Not on the master branch.\" && exit 1; fi", "postversion": "git push && git push --tags", - "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-v$VER.tgz --access public" + "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focalv$VER.tgz --access public" }, "author": "Sergey Yavnyi ", "contributors": [ diff --git a/packages/focal-state/src/atom/base.ts b/packages/focal-atom/src/atom/base.ts similarity index 100% rename from packages/focal-state/src/atom/base.ts rename to packages/focal-atom/src/atom/base.ts diff --git a/packages/focal-state/src/atom/index.ts b/packages/focal-atom/src/atom/index.ts similarity index 100% rename from packages/focal-state/src/atom/index.ts rename to packages/focal-atom/src/atom/index.ts diff --git a/packages/focal-state/src/index.ts b/packages/focal-atom/src/index.ts similarity index 100% rename from packages/focal-state/src/index.ts rename to packages/focal-atom/src/index.ts diff --git a/packages/focal-state/src/lens/base.ts b/packages/focal-atom/src/lens/base.ts similarity index 100% rename from packages/focal-state/src/lens/base.ts rename to packages/focal-atom/src/lens/base.ts diff --git a/packages/focal-state/src/lens/index.ts b/packages/focal-atom/src/lens/index.ts similarity index 100% rename from packages/focal-state/src/lens/index.ts rename to packages/focal-atom/src/lens/index.ts diff --git a/packages/focal-state/src/lens/json.ts b/packages/focal-atom/src/lens/json.ts similarity index 100% rename from packages/focal-state/src/lens/json.ts rename to packages/focal-atom/src/lens/json.ts diff --git a/packages/focal-state/src/utils.ts b/packages/focal-atom/src/utils.ts similarity index 100% rename from packages/focal-state/src/utils.ts rename to packages/focal-atom/src/utils.ts diff --git a/packages/focal-state/test/atom.test.ts b/packages/focal-atom/test/atom.test.ts similarity index 100% rename from packages/focal-state/test/atom.test.ts rename to packages/focal-atom/test/atom.test.ts diff --git a/packages/focal-state/test/lens.test.ts b/packages/focal-atom/test/lens.test.ts similarity index 100% rename from packages/focal-state/test/lens.test.ts rename to packages/focal-atom/test/lens.test.ts diff --git a/packages/focal-state/tsconfig.build.cjs.json b/packages/focal-atom/tsconfig.build.cjs.json similarity index 100% rename from packages/focal-state/tsconfig.build.cjs.json rename to packages/focal-atom/tsconfig.build.cjs.json diff --git a/packages/focal-state/tsconfig.build.es2015.json b/packages/focal-atom/tsconfig.build.es2015.json similarity index 100% rename from packages/focal-state/tsconfig.build.es2015.json rename to packages/focal-atom/tsconfig.build.es2015.json diff --git a/packages/focal-state/tsconfig.build.es5.json b/packages/focal-atom/tsconfig.build.es5.json similarity index 100% rename from packages/focal-state/tsconfig.build.es5.json rename to packages/focal-atom/tsconfig.build.es5.json diff --git a/packages/focal-state/tsconfig.json b/packages/focal-atom/tsconfig.json similarity index 100% rename from packages/focal-state/tsconfig.json rename to packages/focal-atom/tsconfig.json diff --git a/packages/focal-state/tslint.json b/packages/focal-atom/tslint.json similarity index 100% rename from packages/focal-state/tslint.json rename to packages/focal-atom/tslint.json diff --git a/packages/focal-utils/package.json b/packages/focal-utils/package.json index 52c0c64..726ff96 100644 --- a/packages/focal-utils/package.json +++ b/packages/focal-utils/package.json @@ -21,12 +21,7 @@ "build": "npm run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && npm run lint", "test": "jest", "test:watch": "jest --watch", - "lint": "tslint --type-check --project tsconfig.json -c tslint.json", - "prepack": "cp ../../README.md ./ && cp ../../LICENSE ./", - "postpack": "rm README.md && rm LICENSE", - "preversion": "if ! [[ $(git rev-parse --abbrev-ref HEAD) == \"master\" ]]; then echo \"Not on the master branch.\" && exit 1; fi", - "postversion": "git push && git push --tags", - "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-v$VER.tgz --access public" + "lint": "tslint --type-check --project tsconfig.json -c tslint.json" }, "author": "Sergey Yavnyi ", "contributors": [ diff --git a/packages/focal/package.json b/packages/focal/package.json index 1008f66..3e002c5 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -92,7 +92,7 @@ }, "dependencies": {}, "devDependencies": { - "@grammarly/focal-state": "^0.8.1", + "@grammarly/focal-atom": "^0.8.1", "@grammarly/focal-utils": "^0.8.1", "@grammarly/tslint-config": "0.5.1", "@types/jest": "^24.0.0", @@ -110,7 +110,7 @@ "peerDependencies": { "@types/react": ">= 16.0.33 < 17.0.0-0", "@types/react-dom": ">= 16.0.3 < 17.0.0-0", - "@grammarly/focal-state": ">= 0.8.1 < 0.9.0.0-0", + "@grammarly/focal-atom": ">= 0.8.1 < 0.9.0.0-0", "react": ">= 16.2.0 < 17.0.0-0", "react-dom": ">= 16.2.0 < 17.0.0-0", "rxjs": ">= 6.3.3 < 7.0.0-0" diff --git a/packages/focal/src/index.ts b/packages/focal/src/index.ts index db815d6..4f2004b 100644 --- a/packages/focal/src/index.ts +++ b/packages/focal/src/index.ts @@ -1,4 +1,4 @@ -export { Lens, Prism, Optic, Atom, ReadOnlyAtom, Option } from '@grammarly/focal-state' +export { Lens, Prism, Optic, Atom, ReadOnlyAtom, Option } from '@grammarly/focal-atom' export { bind, diff --git a/packages/focal/src/react/react.ts b/packages/focal/src/react/react.ts index a734ea9..c6c0b25 100644 --- a/packages/focal/src/react/react.ts +++ b/packages/focal/src/react/react.ts @@ -1,6 +1,6 @@ import * as React from 'react' import { structEq } from '@grammarly/focal-utils' -import { Atom } from '@grammarly/focal-state' +import { Atom } from '@grammarly/focal-atom' import { warning, getReactComponentName, DEV_ENV } from './../utils' import { Observable, diff --git a/packages/focal/test/react.test.tsx b/packages/focal/test/react.test.tsx index 8ed7eb3..f1adfaa 100644 --- a/packages/focal/test/react.test.tsx +++ b/packages/focal/test/react.test.tsx @@ -2,7 +2,7 @@ import { of, EMPTY, NEVER } from 'rxjs' import { map, throttleTime } from 'rxjs/operators' import * as React from 'react' import * as ReactDOM from 'react-dom/server' -import { Atom } from '@grammarly/focal-state' +import { Atom } from '@grammarly/focal-atom' import { F, diff --git a/packages/focal/tsconfig.build.cjs.json b/packages/focal/tsconfig.build.cjs.json index 8d8b145..60c3601 100644 --- a/packages/focal/tsconfig.build.cjs.json +++ b/packages/focal/tsconfig.build.cjs.json @@ -7,7 +7,7 @@ "target": "es5" }, "references": [ - { "path": "../focal-state/tsconfig.build.cjs.json" }, + { "path": "../focal-atom/tsconfig.build.cjs.json" }, { "path": "../focal-utils/tsconfig.build.cjs.json" } ] } diff --git a/packages/focal/tsconfig.build.es2015.json b/packages/focal/tsconfig.build.es2015.json index efd7527..dfa2a05 100644 --- a/packages/focal/tsconfig.build.es2015.json +++ b/packages/focal/tsconfig.build.es2015.json @@ -7,7 +7,7 @@ "target": "esnext" }, "references": [ - { "path": "../focal-state/tsconfig.build.es2015.json" }, + { "path": "../focal-atom/tsconfig.build.es2015.json" }, { "path": "../focal-utils/tsconfig.build.es2015.json" } ] } diff --git a/packages/focal/tsconfig.build.es5.json b/packages/focal/tsconfig.build.es5.json index 05870f9..53215a6 100644 --- a/packages/focal/tsconfig.build.es5.json +++ b/packages/focal/tsconfig.build.es5.json @@ -7,7 +7,7 @@ "target": "es2015", }, "references": [ - { "path": "../focal-state/tsconfig.build.es5.json" }, + { "path": "../focal-atom/tsconfig.build.es5.json" }, { "path": "../focal-utils/tsconfig.build.es5.json" } ] } diff --git a/packages/focal/tsconfig.json b/packages/focal/tsconfig.json index 5f9d65a..743780d 100644 --- a/packages/focal/tsconfig.json +++ b/packages/focal/tsconfig.json @@ -23,7 +23,7 @@ "test/**/*.ts*" ], "references": [ - { "path": "../focal-state/tsconfig.json" }, + { "path": "../focal-atom/tsconfig.json" }, { "path": "../focal-utils/tsconfig.json" } ] } From 2a46cf74e1675c814cb1132f8cd67db4b4fabc6d Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Tue, 16 Jun 2020 09:14:33 +0300 Subject: [PATCH 07/32] use release script to relase focal and focal-state at once --- package.json | 6 ++---- packages/focal-atom/package.json | 7 +------ packages/focal/package.json | 7 +------ scripts/release.sh | 23 +++++++++++++++++++++++ 4 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 scripts/release.sh diff --git a/package.json b/package.json index c17c39f..31a80a9 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,8 @@ "dev": "yarn workspace @grammarly/focal dev", "clean": "yarn workspace @grammarly/focal-utils clean && yarn workspace @grammarly/focal-atom clean && yarn workspace @grammarly/focal clean", "docs": "yarn workspace @grammarly/focal-utils docs && yarn workspace @grammarly/focal-atom docs && yarn workspace @grammarly/focal docs", - "package:focal": "yarn workspace @grammarly/focal pack", - "release:focal": "yarn workspace @grammarly/focal release", - "package:focal-atom": "yarn workspace @grammarly/focal-atom pack", - "release:focal-atom": "yarn workspace @grammarly/focal-atom release", + "package": "yarn workspace @grammarly/focal pack && yarn workspace @grammarly/focal-atom pack", + "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && sh ./scripts/release.sh", "test": "yarn workspace @grammarly/focal-atom test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", "postinstall": "yarn build" }, diff --git a/packages/focal-atom/package.json b/packages/focal-atom/package.json index cefb0a2..330b670 100644 --- a/packages/focal-atom/package.json +++ b/packages/focal-atom/package.json @@ -26,12 +26,7 @@ "build": "npm run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && npm run lint", "test": "jest", "test:watch": "jest --watch", - "lint": "tslint --type-check --project tsconfig.json -c tslint.json", - "prepack": "cp ../../README.md ./ && cp ../../LICENSE ./", - "postpack": "rm README.md && rm LICENSE", - "preversion": "if ! [[ $(git rev-parse --abbrev-ref HEAD) == \"master\" ]]; then echo \"Not on the master branch.\" && exit 1; fi", - "postversion": "git push && git push --tags", - "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focalv$VER.tgz --access public" + "lint": "tslint --type-check --project tsconfig.json -c tslint.json" }, "author": "Sergey Yavnyi ", "contributors": [ diff --git a/packages/focal/package.json b/packages/focal/package.json index 3e002c5..9e43dfd 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -26,12 +26,7 @@ "build": "yarn run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn run lint", "test": "jest", "test:watch": "jest --watch", - "lint": "tslint --type-check --project tsconfig.json -c tslint.json", - "prepack": "cp ../../README.md ./ && cp ../../LICENSE ./", - "postpack": "rm README.md && rm LICENSE", - "preversion": "if ! [[ $(git rev-parse --abbrev-ref HEAD) == \"master\" ]]; then echo \"Not on the master branch.\" && exit 1; fi", - "postversion": "git push && git push --tags", - "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-v$VER.tgz --access public" + "lint": "tslint --type-check --project tsconfig.json -c tslint.json" }, "author": "Sergey Yavnyi ", "contributors": [ diff --git a/scripts/release.sh b/scripts/release.sh new file mode 100644 index 0000000..fe65017 --- /dev/null +++ b/scripts/release.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +BASEDIR="$(cd "$(dirname "$0")/.."; pwd)"; +if ! [[ $(git rev-parse --abbrev-ref HEAD) == \"master\" ]]; then + echo \"Not on the master branch.\" && exit 1; +fi + +if [[ "$VER" == "" ]]; then + echo "Usage: VER=1.2.3 npm run release"; +fi + +echo Publishing v${VER}... + +cp ./README.md ./packages/focal/README.md && cp ./README.md ./packages/focal-atom/README.md +cp ./LICENSE ./packages/focal/LICENSE && cp ./LICENSE ./packages/focal-atom/LICENSE + +cd $BASEDIR/packages/focal-atom && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-atom-v$VER.tgz --access public --dry-run +cd $BASEDIR/packages/focal && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-v$VER.tgz --access public --dry-run + +rm -rf $BASEDIR/packages/focal/README.md && rm -rf $BASEDIR/packages/focal-atom/README.md +rm -rf $BASEDIR/packages/focal/LICENSE && rm -rf $BASEDIR/packages/focal-atom/LICENSE + +git push && git push --tags From 7c613e5e94be7c20fe2ec3f7921498fd69369c0e Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Tue, 16 Jun 2020 09:20:07 +0300 Subject: [PATCH 08/32] Move contributors to AUTHORS file Example: https://github.com/facebook/react/blob/master/AUTHORS --- AUTHORS | 10 ++++++++ packages/focal-atom/package.json | 42 -------------------------------- packages/focal/package.json | 42 -------------------------------- scripts/release.sh | 2 ++ 4 files changed, 12 insertions(+), 84 deletions(-) create mode 100644 AUTHORS diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..ea8e4af --- /dev/null +++ b/AUTHORS @@ -0,0 +1,10 @@ +Sergey Yavnyi +Valentyn Gaidylo +Igor Kononuchenko +Alisa Mansurova +Eugene Chechuryn +Yaroslav Voloshchuk +Sergey Rudenko +Gregory Shehet +Anton Verinov +Oleksii Levzhynskyi diff --git a/packages/focal-atom/package.json b/packages/focal-atom/package.json index 330b670..1918618 100644 --- a/packages/focal-atom/package.json +++ b/packages/focal-atom/package.json @@ -29,48 +29,6 @@ "lint": "tslint --type-check --project tsconfig.json -c tslint.json" }, "author": "Sergey Yavnyi ", - "contributors": [ - { - "name": "Sergey Yavnyi", - "email": "sergey.yavnyi@grammarly.com" - }, - { - "name": "Valentyn Gaidylo", - "email": "valentyn.gaidylo@grammarly.com" - }, - { - "name": "Igor Kononuchenko", - "email": "igor.kononuchenko@grammarly.com" - }, - { - "name": "Alisa Mansurova", - "email": "alisa.mansurova@grammarly.com" - }, - { - "name": "Eugene Chechuryn", - "email": "eugene.chechuryn@grammarly.com" - }, - { - "name": "Yaroslav Voloshchuk", - "email": "yaroslav.voloshchuk@grammarly.com" - }, - { - "name": "Sergey Rudenko", - "email": "sergey.rudenko@grammarly.com" - }, - { - "name": "Gregory Shehet", - "email": "gregory.shehet@grammarly.com" - }, - { - "name": "Anton Verinov", - "email": "anton@verinov.com" - }, - { - "name": "Oleksii Levzhynskyi", - "email": "oleksii.levzhynskyi@gmail.com" - } - ], "keywords": [ "frp", "rx", diff --git a/packages/focal/package.json b/packages/focal/package.json index 9e43dfd..f0c3c33 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -29,48 +29,6 @@ "lint": "tslint --type-check --project tsconfig.json -c tslint.json" }, "author": "Sergey Yavnyi ", - "contributors": [ - { - "name": "Sergey Yavnyi", - "email": "sergey.yavnyi@grammarly.com" - }, - { - "name": "Valentyn Gaidylo", - "email": "valentyn.gaidylo@grammarly.com" - }, - { - "name": "Igor Kononuchenko", - "email": "igor.kononuchenko@grammarly.com" - }, - { - "name": "Alisa Mansurova", - "email": "alisa.mansurova@grammarly.com" - }, - { - "name": "Eugene Chechuryn", - "email": "eugene.chechuryn@grammarly.com" - }, - { - "name": "Yaroslav Voloshchuk", - "email": "yaroslav.voloshchuk@grammarly.com" - }, - { - "name": "Sergey Rudenko", - "email": "sergey.rudenko@grammarly.com" - }, - { - "name": "Gregory Shehet", - "email": "gregory.shehet@grammarly.com" - }, - { - "name": "Anton Verinov", - "email": "anton@verinov.com" - }, - { - "name": "Oleksii Levzhynskyi", - "email": "oleksii.levzhynskyi@gmail.com" - } - ], "keywords": [ "frp", "rx", diff --git a/scripts/release.sh b/scripts/release.sh index fe65017..e467f59 100644 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -13,6 +13,8 @@ echo Publishing v${VER}... cp ./README.md ./packages/focal/README.md && cp ./README.md ./packages/focal-atom/README.md cp ./LICENSE ./packages/focal/LICENSE && cp ./LICENSE ./packages/focal-atom/LICENSE +# Copy AUTHORS, so it will be used as value for "contributors" in package.json +cp ./LICENSE ./packages/focal/AUTHORS && cp ./LICENSE ./packages/focal-atom/AUTHORS cd $BASEDIR/packages/focal-atom && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-atom-v$VER.tgz --access public --dry-run cd $BASEDIR/packages/focal && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-v$VER.tgz --access public --dry-run From 329877f21430c9bb84b9b213677ae1575b6e7b6d Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Tue, 16 Jun 2020 15:02:33 +0300 Subject: [PATCH 09/32] Better release script --- scripts/release.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/release.sh b/scripts/release.sh index e467f59..0475586 100644 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -16,10 +16,16 @@ cp ./LICENSE ./packages/focal/LICENSE && cp ./LICENSE ./packages/focal-atom/LICE # Copy AUTHORS, so it will be used as value for "contributors" in package.json cp ./LICENSE ./packages/focal/AUTHORS && cp ./LICENSE ./packages/focal-atom/AUTHORS +echo "Publishing @grammarly/focal-atom with '$VER'" cd $BASEDIR/packages/focal-atom && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-atom-v$VER.tgz --access public --dry-run +echo "\nACTION REQUIRED!!!\n" +echo "Manually update @grammarly/focal to use '@grammarly/focal-atom@$VER' and press any key:" +read $ANYKEY +echo "Publishing @grammarly/focal with '$VER'" cd $BASEDIR/packages/focal && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-v$VER.tgz --access public --dry-run rm -rf $BASEDIR/packages/focal/README.md && rm -rf $BASEDIR/packages/focal-atom/README.md rm -rf $BASEDIR/packages/focal/LICENSE && rm -rf $BASEDIR/packages/focal-atom/LICENSE +rm -rf $BASEDIR/packages/focal/AUTHORS && rm -rf $BASEDIR/packages/focal-atom/AUTHORS git push && git push --tags From f6566d52964c0b2b037f1bdf9ae52835e941ccd8 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Wed, 17 Jun 2020 14:27:05 +0300 Subject: [PATCH 10/32] Update release script --- scripts/release.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/release.sh b/scripts/release.sh index 0475586..decb677 100644 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -18,10 +18,6 @@ cp ./LICENSE ./packages/focal/AUTHORS && cp ./LICENSE ./packages/focal-atom/AUTH echo "Publishing @grammarly/focal-atom with '$VER'" cd $BASEDIR/packages/focal-atom && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-atom-v$VER.tgz --access public --dry-run -echo "\nACTION REQUIRED!!!\n" -echo "Manually update @grammarly/focal to use '@grammarly/focal-atom@$VER' and press any key:" -read $ANYKEY -echo "Publishing @grammarly/focal with '$VER'" cd $BASEDIR/packages/focal && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-v$VER.tgz --access public --dry-run rm -rf $BASEDIR/packages/focal/README.md && rm -rf $BASEDIR/packages/focal-atom/README.md From d99b00c684800e7ef371437024ad94aa316e09b4 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Wed, 17 Jun 2020 14:29:50 +0300 Subject: [PATCH 11/32] Update Readme to mention @grammarly/focal-atom --- README.md | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 96039f8..3c3205e 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,11 @@ Type safe, expressive and composable state management for [React](https://facebo - Use [lenses](https://en.wikibooks.org/wiki/Haskell/Lenses_and_functional_references) to decompose the application state into smaller parts, so you can isolate UI components in a clean way and manipulate application state effortlessly. - Write less code that is easier to understand. +# Packages + +`@grammarly/focal` - Type safe, expressive and composable state management for [React](https://facebook.github.io/react/) applications. +`@grammarly/focal-atom` - Type safe, expressive and composable state management for any application. + # Example Here's a typical example of a 'counter' UI component and how it fits within the whole application: @@ -77,13 +82,18 @@ There's also a more elaborate version of [this example](packages/examples/all/sr # Installation ```bash -yarn add @grammarly/focal +yarn add @grammarly/focal-atom @grammarly/focal +# or +yarn add @grammarly/focal-atom + ``` or ```bash -npm install --save @grammarly/focal +npm install --save @grammarly/focal-atom @grammarly/focal +# or +npm install --save @grammarly/focal-atom ``` It is important to satisfy the RxJS peer dependency (required for `instanceof Observable` tests to work correctly). @@ -102,7 +112,7 @@ The example above might be a bit too overwhelming. Let's go over the main concep In Focal, state is stored in `Atom`s. `Atom` is a data cell that holds a single immutable value, which you can read and write to: ```typescript -import { Atom } from '@grammarly/focal' +import { Atom } from '@grammarly/focal-atom' // create an Atom with initial value of 0 const count = Atom.create(0) @@ -127,7 +137,7 @@ console.log(count.get()) You can also track (get notified of) changes that happen to an `Atom`'s value. In this sense, an `Atom` can be thought of as a _reactive variable_: ```typescript -import { Atom } from '@grammarly/focal' +import { Atom } from '@grammarly/focal-atom' const count = Atom.create(0) @@ -291,7 +301,7 @@ interface Lens { And an example usage: ```typescript -import { Lens } from '@grammarly/focal' +import { Lens } from '@grammarly/focal-atom' // an object that we want to operate on const obj = { @@ -404,7 +414,7 @@ We can accomplish this by combining atoms with lenses, making _lensed atoms_. A lensed atom is just an `Atom`, in sense that on the outside it looks and behaves just like another atom. The difference is in how it is created: a lensed atom operates on a part of some other atom's state. This means that if you `.set` or `.modify` a lensed atom's value, the part of the source atom's value at which this lensed atom's lens is focused will also change. For example: ```typescript -import { Atom, Lens } from '@grammarly/focal' +import { Atom, Lens } from '@grammarly/focal-atom' // create an atom to hold our object const obj = Atom.create({ From e0739a642b1621aa9f4b0b2c28fde7e7c6d14da5 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Thu, 16 Jul 2020 11:51:17 +0300 Subject: [PATCH 12/32] Move structEq to focal-atom and delete focal-utils --- package.json | 5 +- packages/focal-atom/src/atom/base.ts | 3 +- .../{focal-utils => focal-atom}/src/equals.ts | 6 +- packages/focal-atom/src/index.ts | 1 + packages/focal-atom/src/lens/json.ts | 5 +- packages/focal-atom/src/utils.ts | 3 +- packages/focal-atom/test/atom.test.ts | 2 +- packages/focal-atom/test/lens.test.ts | 2 +- packages/focal-atom/tsconfig.build.cjs.json | 5 +- .../focal-atom/tsconfig.build.es2015.json | 5 +- packages/focal-atom/tsconfig.build.es5.json | 5 +- packages/focal-atom/tsconfig.json | 3 - packages/focal-utils/.gitignore | 1 - packages/focal-utils/jest.config.js | 16 ---- packages/focal-utils/package.json | 93 ------------------- packages/focal-utils/src/index.ts | 1 - packages/focal-utils/tsconfig.build.cjs.json | 9 -- .../focal-utils/tsconfig.build.es2015.json | 9 -- packages/focal-utils/tsconfig.build.es5.json | 9 -- packages/focal-utils/tsconfig.json | 26 ------ packages/focal-utils/tslint.json | 6 -- packages/focal/package.json | 1 - packages/focal/src/react/react.ts | 3 +- packages/focal/tsconfig.build.cjs.json | 1 - packages/focal/tsconfig.build.es2015.json | 1 - packages/focal/tsconfig.build.es5.json | 1 - packages/focal/tsconfig.json | 3 +- 27 files changed, 20 insertions(+), 205 deletions(-) rename packages/{focal-utils => focal-atom}/src/equals.ts (96%) delete mode 100644 packages/focal-utils/.gitignore delete mode 100644 packages/focal-utils/jest.config.js delete mode 100644 packages/focal-utils/package.json delete mode 100644 packages/focal-utils/src/index.ts delete mode 100644 packages/focal-utils/tsconfig.build.cjs.json delete mode 100644 packages/focal-utils/tsconfig.build.es2015.json delete mode 100644 packages/focal-utils/tsconfig.build.es5.json delete mode 100644 packages/focal-utils/tsconfig.json delete mode 100644 packages/focal-utils/tslint.json diff --git a/package.json b/package.json index 31a80a9..bb5d31b 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "scripts": { "build": "yarn clean && yarn workspace @grammarly/focal build", "dev": "yarn workspace @grammarly/focal dev", - "clean": "yarn workspace @grammarly/focal-utils clean && yarn workspace @grammarly/focal-atom clean && yarn workspace @grammarly/focal clean", - "docs": "yarn workspace @grammarly/focal-utils docs && yarn workspace @grammarly/focal-atom docs && yarn workspace @grammarly/focal docs", + "clean": "yarn workspace @grammarly/focal-atom clean && yarn workspace @grammarly/focal clean", + "docs": "yarn workspace @grammarly/focal-atom docs && yarn workspace @grammarly/focal docs", "package": "yarn workspace @grammarly/focal pack && yarn workspace @grammarly/focal-atom pack", "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && sh ./scripts/release.sh", "test": "yarn workspace @grammarly/focal-atom test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", @@ -21,7 +21,6 @@ }, "workspaces": [ "packages/focal-atom", - "packages/focal-utils", "packages/focal", "packages/test", "packages/examples/*" diff --git a/packages/focal-atom/src/atom/base.ts b/packages/focal-atom/src/atom/base.ts index 2c40990..d8decd3 100644 --- a/packages/focal-atom/src/atom/base.ts +++ b/packages/focal-atom/src/atom/base.ts @@ -1,5 +1,6 @@ import { Lens, Prism, PropExpr } from './../lens' -import { structEq, Option } from './../utils' +import { Option } from './../utils' +import { structEq } from './../equals' import { Observable, Subscriber, Subscription, BehaviorSubject, combineLatest } from 'rxjs' diff --git a/packages/focal-utils/src/equals.ts b/packages/focal-atom/src/equals.ts similarity index 96% rename from packages/focal-utils/src/equals.ts rename to packages/focal-atom/src/equals.ts index ff0a4be..08e8f74 100644 --- a/packages/focal-utils/src/equals.ts +++ b/packages/focal-atom/src/equals.ts @@ -192,7 +192,7 @@ function type(val: any) { * var b = {}; b.v = b * equals(a, b); //=> true */ -export function equals(a: any, b: any, stackA: any[] = [], stackB: any[] = []) { +export function structEq(a: any, b: any, stackA: any[] = [], stackB: any[] = []) { if (identical(a, b)) return true if (type(a) !== type(b)) return false if (a == null || b == null) return false @@ -243,7 +243,7 @@ export function equals(a: any, b: any, stackA: any[] = [], stackB: any[] = []) { case 'Map': case 'Set': - if (!equals(arrayFromIterator(a.entries()), arrayFromIterator(b.entries()), stackA, stackB)) + if (!structEq(arrayFromIterator(a.entries()), arrayFromIterator(b.entries()), stackA, stackB)) return false break @@ -285,7 +285,7 @@ export function equals(a: any, b: any, stackA: any[] = [], stackB: any[] = []) { while (idx >= 0) { const key = keysA[idx] - if (!(has(key, b) && equals(b[key], a[key], stackA, stackB))) + if (!(has(key, b) && structEq(b[key], a[key], stackA, stackB))) return false idx -= 1 diff --git a/packages/focal-atom/src/index.ts b/packages/focal-atom/src/index.ts index 211e151..1157b21 100644 --- a/packages/focal-atom/src/index.ts +++ b/packages/focal-atom/src/index.ts @@ -1,3 +1,4 @@ export { Lens, Prism, Optic } from './lens/index' export { Atom, ReadOnlyAtom } from './atom/index' export { Option } from './utils' +export { structEq } from './equals' diff --git a/packages/focal-atom/src/lens/json.ts b/packages/focal-atom/src/lens/json.ts index 1898863..c48d3bd 100644 --- a/packages/focal-atom/src/lens/json.ts +++ b/packages/focal-atom/src/lens/json.ts @@ -5,7 +5,6 @@ */ import { - structEq, setKey, conservatively, findIndex, @@ -14,6 +13,10 @@ import { warning } from './../utils' +import { + structEq +} from './../equals' + import { Lens, Prism } from './base' export type PropExpr = (x: O) => P diff --git a/packages/focal-atom/src/utils.ts b/packages/focal-atom/src/utils.ts index a0d0331..ec78892 100644 --- a/packages/focal-atom/src/utils.ts +++ b/packages/focal-atom/src/utils.ts @@ -1,5 +1,4 @@ -import { structEq } from '@grammarly/focal-utils' -export { structEq } from '@grammarly/focal-utils' +import { structEq } from './equals' export const DEV_ENV = typeof process !== 'undefined' && process.env.NODE_ENV !== 'production' diff --git a/packages/focal-atom/test/atom.test.ts b/packages/focal-atom/test/atom.test.ts index 81d0eee..e4cbf2b 100644 --- a/packages/focal-atom/test/atom.test.ts +++ b/packages/focal-atom/test/atom.test.ts @@ -2,7 +2,7 @@ import { merge, Observable, from, Subject, never, throwError, empty } from 'rxjs' import { take, toArray, tap, materialize, map } from 'rxjs/operators' import { Atom, Lens, ReadOnlyAtom } from '../src' -import { structEq } from '../src/utils' +import { structEq } from '../src/equals' function testAtom(newAtom: (x: number) => Atom) { it('atom/basic', async () => { diff --git a/packages/focal-atom/test/lens.test.ts b/packages/focal-atom/test/lens.test.ts index 1a9d71f..9b23125 100644 --- a/packages/focal-atom/test/lens.test.ts +++ b/packages/focal-atom/test/lens.test.ts @@ -1,5 +1,5 @@ import { Lens } from '../src' -import { structEq } from '../src/utils' +import { structEq } from '../src/equals' import { extractPropertyPath, parsePropertyPath } from '../src/lens/json' function roundtrip( diff --git a/packages/focal-atom/tsconfig.build.cjs.json b/packages/focal-atom/tsconfig.build.cjs.json index 2ebf031..69fb604 100644 --- a/packages/focal-atom/tsconfig.build.cjs.json +++ b/packages/focal-atom/tsconfig.build.cjs.json @@ -5,8 +5,5 @@ "outDir": "dist/_cjs", "module": "commonjs", "target": "es5" - }, - "references": [ - { "path": "../focal-utils/tsconfig.build.cjs.json" } - ] + } } diff --git a/packages/focal-atom/tsconfig.build.es2015.json b/packages/focal-atom/tsconfig.build.es2015.json index 597bb3d..34be7d9 100644 --- a/packages/focal-atom/tsconfig.build.es2015.json +++ b/packages/focal-atom/tsconfig.build.es2015.json @@ -5,8 +5,5 @@ "outDir": "dist/_esm2015", "module": "es2015", "target": "esnext" - }, - "references": [ - { "path": "../focal-utils/tsconfig.build.es2015.json" } - ] + } } diff --git a/packages/focal-atom/tsconfig.build.es5.json b/packages/focal-atom/tsconfig.build.es5.json index 33797a6..98f2583 100644 --- a/packages/focal-atom/tsconfig.build.es5.json +++ b/packages/focal-atom/tsconfig.build.es5.json @@ -5,8 +5,5 @@ "outDir": "dist/_esm5", "module": "commonjs", "target": "es2015", - }, - "references": [ - { "path": "../focal-utils/tsconfig.build.es5.json" } - ] + } } diff --git a/packages/focal-atom/tsconfig.json b/packages/focal-atom/tsconfig.json index 2dff692..2242e08 100644 --- a/packages/focal-atom/tsconfig.json +++ b/packages/focal-atom/tsconfig.json @@ -22,8 +22,5 @@ "include": [ "src/**/*.ts*", "test/**/*.ts*" - ], - "references": [ - { "path": "../focal-utils/tsconfig.json" } ] } diff --git a/packages/focal-utils/.gitignore b/packages/focal-utils/.gitignore deleted file mode 100644 index 1521c8b..0000000 --- a/packages/focal-utils/.gitignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/focal-utils/jest.config.js b/packages/focal-utils/jest.config.js deleted file mode 100644 index c55da1b..0000000 --- a/packages/focal-utils/jest.config.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - clearMocks: true, - moduleFileExtensions: [ - 'js', - 'ts', - 'tsx', - ], - testEnvironment: 'jest-environment-jsdom', - testMatch: [ - '**/*.test.ts?(x)', - ], - transform: { - '.(ts|tsx)': 'ts-jest', - }, - preset: 'ts-jest' -} diff --git a/packages/focal-utils/package.json b/packages/focal-utils/package.json deleted file mode 100644 index 726ff96..0000000 --- a/packages/focal-utils/package.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "name": "@grammarly/focal-utils", - "version": "0.8.1", - "description": "Focal common utils", - "main": "dist/_cjs/src/index.js", - "module": "dist/_esm5/src/index.js", - "es2015": "dist/_esm2015/src/index.js", - "types": "dist/_cjs/src/index.d.ts", - "files": [ - "dist/_cjs/src/", - "dist/_esm5/src/", - "dist/_esm2015/src/" - ], - "scripts": { - "docs": "rm -rf ./docs && typedoc --out docs --theme minimal --ignoreCompilerErrors --tsconfig tsconfig.json", - "clean": "rm -rf ./dist", - "dev": "tsc -b -w tsconfig.build.cjs.json", - "build:cjs": "tsc -b tsconfig.build.cjs.json", - "build:es5": "tsc -b tsconfig.build.es5.json", - "build:es2015": "tsc -b tsconfig.build.es2015.json", - "build": "npm run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && npm run lint", - "test": "jest", - "test:watch": "jest --watch", - "lint": "tslint --type-check --project tsconfig.json -c tslint.json" - }, - "author": "Sergey Yavnyi ", - "contributors": [ - { - "name": "Sergey Yavnyi", - "email": "sergey.yavnyi@grammarly.com" - }, - { - "name": "Valentyn Gaidylo", - "email": "valentyn.gaidylo@grammarly.com" - }, - { - "name": "Igor Kononuchenko", - "email": "igor.kononuchenko@grammarly.com" - }, - { - "name": "Alisa Mansurova", - "email": "alisa.mansurova@grammarly.com" - }, - { - "name": "Eugene Chechuryn", - "email": "eugene.chechuryn@grammarly.com" - }, - { - "name": "Yaroslav Voloshchuk", - "email": "yaroslav.voloshchuk@grammarly.com" - }, - { - "name": "Sergey Rudenko", - "email": "sergey.rudenko@grammarly.com" - }, - { - "name": "Gregory Shehet", - "email": "gregory.shehet@grammarly.com" - }, - { - "name": "Anton Verinov", - "email": "anton@verinov.com" - }, - { - "name": "Oleksii Levzhynskyi", - "email": "oleksii.levzhynskyi@gmail.com" - } - ], - "keywords": [ - "frp", - "rx", - "rxjs", - "reactive", - "react", - "reactjs", - "lens" - ], - "license": "Apache-2.0", - "repository": { - "type": "git", - "url": "https://github.com/grammarly/focal.git" - }, - "dependencies": {}, - "devDependencies": { - "@grammarly/tslint-config": "0.5.1", - "@types/jest": "^24.0.0", - "@types/node": "^6.0.34", - "jest": "^24.1.0", - "ts-jest": "^23.10.5", - "tslint": "5.2.0", - "typescript": "3.3.3" - } -} diff --git a/packages/focal-utils/src/index.ts b/packages/focal-utils/src/index.ts deleted file mode 100644 index 40f7056..0000000 --- a/packages/focal-utils/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { equals as structEq } from './equals' diff --git a/packages/focal-utils/tsconfig.build.cjs.json b/packages/focal-utils/tsconfig.build.cjs.json deleted file mode 100644 index 69fb604..0000000 --- a/packages/focal-utils/tsconfig.build.cjs.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts*"], - "compilerOptions": { - "outDir": "dist/_cjs", - "module": "commonjs", - "target": "es5" - } -} diff --git a/packages/focal-utils/tsconfig.build.es2015.json b/packages/focal-utils/tsconfig.build.es2015.json deleted file mode 100644 index 34be7d9..0000000 --- a/packages/focal-utils/tsconfig.build.es2015.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts*"], - "compilerOptions": { - "outDir": "dist/_esm2015", - "module": "es2015", - "target": "esnext" - } -} diff --git a/packages/focal-utils/tsconfig.build.es5.json b/packages/focal-utils/tsconfig.build.es5.json deleted file mode 100644 index 98f2583..0000000 --- a/packages/focal-utils/tsconfig.build.es5.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "exclude": ["**/*.spec.ts*"], - "compilerOptions": { - "outDir": "dist/_esm5", - "module": "commonjs", - "target": "es2015", - } -} diff --git a/packages/focal-utils/tsconfig.json b/packages/focal-utils/tsconfig.json deleted file mode 100644 index 2242e08..0000000 --- a/packages/focal-utils/tsconfig.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "compilerOptions": { - "declaration": true, - "composite": true, - "target": "es5", - "sourceMap": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "rootDir": ".", - "noEmitOnError": true, - "noImplicitReturns": true, - "noImplicitAny": true, - "noFallthroughCasesInSwitch": true, - "noUnusedLocals": false, - "noUnusedParameters": false, - "moduleResolution": "node", - "jsx": "react", - "strictNullChecks": true, - "noImplicitThis": true, - "lib": ["es6", "es2015", "dom", "scripthost"] - }, - "include": [ - "src/**/*.ts*", - "test/**/*.ts*" - ] -} diff --git a/packages/focal-utils/tslint.json b/packages/focal-utils/tslint.json deleted file mode 100644 index e609ee3..0000000 --- a/packages/focal-utils/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "@grammarly/tslint-config", - "rules": { - "strict-boolean-expressions": [false] - } -} \ No newline at end of file diff --git a/packages/focal/package.json b/packages/focal/package.json index f0c3c33..02f9daa 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -46,7 +46,6 @@ "dependencies": {}, "devDependencies": { "@grammarly/focal-atom": "^0.8.1", - "@grammarly/focal-utils": "^0.8.1", "@grammarly/tslint-config": "0.5.1", "@types/jest": "^24.0.0", "@types/node": "^6.0.34", diff --git a/packages/focal/src/react/react.ts b/packages/focal/src/react/react.ts index c6c0b25..9dd3697 100644 --- a/packages/focal/src/react/react.ts +++ b/packages/focal/src/react/react.ts @@ -1,6 +1,5 @@ import * as React from 'react' -import { structEq } from '@grammarly/focal-utils' -import { Atom } from '@grammarly/focal-atom' +import { Atom, structEq } from '@grammarly/focal-atom' import { warning, getReactComponentName, DEV_ENV } from './../utils' import { Observable, diff --git a/packages/focal/tsconfig.build.cjs.json b/packages/focal/tsconfig.build.cjs.json index 60c3601..369b5b8 100644 --- a/packages/focal/tsconfig.build.cjs.json +++ b/packages/focal/tsconfig.build.cjs.json @@ -8,6 +8,5 @@ }, "references": [ { "path": "../focal-atom/tsconfig.build.cjs.json" }, - { "path": "../focal-utils/tsconfig.build.cjs.json" } ] } diff --git a/packages/focal/tsconfig.build.es2015.json b/packages/focal/tsconfig.build.es2015.json index dfa2a05..fe14373 100644 --- a/packages/focal/tsconfig.build.es2015.json +++ b/packages/focal/tsconfig.build.es2015.json @@ -8,6 +8,5 @@ }, "references": [ { "path": "../focal-atom/tsconfig.build.es2015.json" }, - { "path": "../focal-utils/tsconfig.build.es2015.json" } ] } diff --git a/packages/focal/tsconfig.build.es5.json b/packages/focal/tsconfig.build.es5.json index 53215a6..77991a8 100644 --- a/packages/focal/tsconfig.build.es5.json +++ b/packages/focal/tsconfig.build.es5.json @@ -8,6 +8,5 @@ }, "references": [ { "path": "../focal-atom/tsconfig.build.es5.json" }, - { "path": "../focal-utils/tsconfig.build.es5.json" } ] } diff --git a/packages/focal/tsconfig.json b/packages/focal/tsconfig.json index 743780d..6e1860f 100644 --- a/packages/focal/tsconfig.json +++ b/packages/focal/tsconfig.json @@ -23,7 +23,6 @@ "test/**/*.ts*" ], "references": [ - { "path": "../focal-atom/tsconfig.json" }, - { "path": "../focal-utils/tsconfig.json" } + { "path": "../focal-atom/tsconfig.json" } ] } From c0cc731e32b94843aec4571c79de54a0235afb1b Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Mon, 21 Sep 2020 19:07:54 +0300 Subject: [PATCH 13/32] v0.0.0 --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index f0cc697..0195405 100644 --- a/package.json +++ b/package.json @@ -27,5 +27,6 @@ ], "resolutions": { "@types/react": "16.9.11" - } + }, + "version": "0.0.0" } From 43c8bfec9d5a13c603bcea4e1ff124ece3ef5136 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Fri, 2 Apr 2021 21:35:43 +0300 Subject: [PATCH 14/32] Merge remote-tracking branch 'origin/master' into feature-focal-state-2 --- .eslintrc.js | 222 +++ .github/workflows/Readme.md | 13 + .github/workflows/release.yml | 29 + .github/workflows/tests.yml | 24 + .nvmrc | 2 +- .travis.yml | 25 - .vscode/settings.json | 1 - AUTHORS | 3 +- package.json | 19 +- packages/examples/all/.eslintrc.js | 7 + packages/examples/all/package.json | 12 +- packages/examples/all/src/app.tsx | 2 +- packages/examples/all/src/big-table/index.tsx | 4 +- packages/examples/all/src/bmi/index.tsx | 2 +- .../examples/all/src/change-color/index.tsx | 2 +- .../examples/all/src/convert-inputs/index.tsx | 2 +- packages/examples/all/src/hello/index.tsx | 2 +- .../all/src/http-search-github/index.tsx | 7 +- .../examples/all/src/list-search/index.tsx | 4 +- packages/examples/all/src/player/index.tsx | 2 +- packages/examples/all/src/scroll/index.tsx | 4 +- packages/examples/all/src/timer/index.tsx | 8 +- packages/examples/all/src/todos/index.tsx | 2 +- packages/examples/all/src/todos/model.ts | 8 +- packages/examples/all/src/tree/index.tsx | 2 +- packages/examples/all/src/tree/model.ts | 2 +- .../examples/all/src/update-number/index.tsx | 2 +- packages/examples/all/tslint.json | 3 - packages/examples/all/webpack/webpack.dev.js | 9 +- packages/examples/all/webpack/webpack.prod.js | 9 +- packages/examples/todomvc/.eslintrc.js | 7 + packages/examples/todomvc/package.json | 9 +- packages/examples/todomvc/src/index.tsx | 16 +- packages/examples/todomvc/tslint.json | 3 - .../examples/todomvc/webpack/webpack.dev.js | 9 +- .../examples/todomvc/webpack/webpack.prod.js | 9 +- packages/focal-atom/src/atom/base.ts | 16 +- packages/focal-atom/src/atom/index.ts | 4 +- packages/focal-atom/src/equals.ts | 9 +- packages/focal-atom/src/lens/base.ts | 4 +- packages/focal-atom/src/lens/json.ts | 1 + packages/focal-atom/test/atom.test.ts | 17 +- packages/focal-atom/test/lens.test.ts | 2 +- packages/focal/.eslintrc.js | 7 + packages/focal/package.json | 9 +- packages/focal/src/react/index.ts | 2 +- packages/focal/src/react/react.ts | 18 +- packages/focal/src/utils.ts | 8 +- packages/focal/test/react.test.tsx | 2 +- packages/focal/tslint.json | 6 - packages/test/.eslintrc.js | 7 + packages/test/package.json | 15 +- packages/test/src/app.tsx | 4 +- packages/test/src/index.tsx | 2 +- packages/test/src/render-bug/index.tsx | 1 + packages/test/src/setstate-bug/index.tsx | 2 +- packages/test/tslint.json | 3 - packages/test/webpack/webpack.dev.js | 10 +- packages/test/webpack/webpack.prod.js | 9 +- scripts/release.sh | 9 + yarn.lock | 1366 ++++++++++++++++- 61 files changed, 1787 insertions(+), 232 deletions(-) create mode 100644 .eslintrc.js create mode 100644 .github/workflows/Readme.md create mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/tests.yml delete mode 100644 .travis.yml create mode 100644 packages/examples/all/.eslintrc.js delete mode 100644 packages/examples/all/tslint.json create mode 100644 packages/examples/todomvc/.eslintrc.js delete mode 100644 packages/examples/todomvc/tslint.json create mode 100644 packages/focal/.eslintrc.js delete mode 100644 packages/focal/tslint.json create mode 100644 packages/test/.eslintrc.js delete mode 100644 packages/test/tslint.json diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..e5a88dc --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,222 @@ +module.exports = { + "env": { + "browser": true, + "es6": true + }, + "parser": "@typescript-eslint/parser", + "plugins": [ + "@typescript-eslint", + "@typescript-eslint/tslint", + "jsdoc", + "react" + ], + "rules": { + "react/jsx-uses-vars": "error", + "react/jsx-uses-react": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/consistent-type-assertions": "error", + "@typescript-eslint/consistent-type-definitions": "error", + "@typescript-eslint/dot-notation": "error", + "@typescript-eslint/explicit-member-accessibility": [ + "off", + { + "accessibility": "explicit" + } + ], + "@typescript-eslint/indent": "off", + "@typescript-eslint/interface-name-prefix": "off", + "@typescript-eslint/member-delimiter-style": [ + "error", + { + "multiline": { + "delimiter": "none", + "requireLast": true + }, + "singleline": { + "delimiter": "semi", + "requireLast": false + } + } + ], + "@typescript-eslint/member-ordering": "off", + "@typescript-eslint/no-empty-function": "error", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-inferrable-types": "error", + "@typescript-eslint/no-require-imports": "off", + "@typescript-eslint/no-unused-expressions": "error", + "@typescript-eslint/no-unused-vars": [ + "error", + { + "argsIgnorePattern": "^_" , + "varsIgnorePattern": "^_" + } + ] , + "@typescript-eslint/no-use-before-define": "error", + "@typescript-eslint/no-var-requires": "off", + "@typescript-eslint/prefer-namespace-keyword": "error", + "@typescript-eslint/quotes": [ + "error", + "single", + { + "avoidEscape": true, + "allowTemplateLiterals": true + } + ], + "@typescript-eslint/semi": [ + "error", + "never" + ], + "@typescript-eslint/strict-boolean-expressions": "off", + "@typescript-eslint/type-annotation-spacing": "error", + "@typescript-eslint/typedef": [ + "error", + { + "propertyDeclaration": true + } + ], + "@typescript-eslint/method-signature-style": [ + "error", + "method" + ], + "no-redeclare": "off", + "@typescript-eslint/no-redeclare": ["error"], + "arrow-parens": [ + "error", + "as-needed" + ], + "brace-style": [ + "error", + "1tbs" + ], + "camelcase": "error", + "class-methods-use-this": "error", + "comma-dangle": "error", + "constructor-super": "error", + "curly": "off", + "default-case": "error", + "eol-last": "error", + "eqeqeq": [ + "error", + "smart" + ], + "func-style": [ + "error", + "declaration", + { "allowArrowFunctions": true } + ], + "guard-for-in": "off", + "id-blacklist": [ + "error", + "any", + "Number", + "number", + "String", + "string", + "Boolean", + "boolean", + "Undefined", + "undefined" + ], + "id-match": "error", + "jsdoc/check-alignment": "error", + "jsdoc/check-indentation": "error", + "jsdoc/newline-after-description": "error", + "max-len": [ + "error", + { + "code": 100 + } + ], + "no-bitwise": "error", + "no-caller": "error", + "no-cond-assign": "error", + "no-console": [ + "error", + { + "allow": [ + "log", + "warn", + "error", + "dir", + "assert", + "clear", + "count", + "countReset", + "group", + "groupCollapsed", + "groupEnd", + "Console", + "dirxml", + "table", + "markTimeline", + "profile", + "profileEnd", + "timeline", + "timelineEnd", + "timeStamp", + "context" + ] + } + ], + "no-control-regex": "error", + "no-debugger": "error", + "no-empty": "error", + "no-extra-semi": "error", + "no-eval": "error", + "no-fallthrough": "error", + "no-invalid-regexp": "error", + "no-irregular-whitespace": "error", + "no-multiple-empty-lines": "error", + "no-new-wrappers": "error", + "no-null/no-null": "off", + "no-regex-spaces": "error", + "no-shadow": [ + "off", + { + "hoist": "all" + } + ], + "no-throw-literal": "error", + "no-trailing-spaces": "error", + "no-unused-labels": "error", + "no-var": "error", + "object-curly-spacing": [ + "error", + "always" + ], + "prefer-const": "error", + "radix": "error", + "spaced-comment": [ + "error", + "always", + { + "markers": [ + "/" + ] + } + ], + "use-isnan": "error" + /* + // check mapping of tslint to eslint rules and current status of rules migration here + // https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/ROADMAP.md + "@typescript-eslint/tslint/config": [ + "error", + { + "rules": { + "function-name": [ + true, + { + "method-regex": "^[a-z][\\w\\d]+$", + "private-method-regex": "^__?[a-z][\\w\\d]+$", + "static-method-regex": "^[a-z][\\w\\d]+$", + "function-regex": "^[a-z][\\w\\d]+$" + } + ], + "no-unnecessary-local-variable": true, + "no-unnecessary-override": true + } + } + ] + */ + } +}; diff --git a/.github/workflows/Readme.md b/.github/workflows/Readme.md new file mode 100644 index 0000000..3e700e7 --- /dev/null +++ b/.github/workflows/Readme.md @@ -0,0 +1,13 @@ +# CI powered by GitHub Actions + +## Release + +1. Create pull-request for relese "Release vX.X.X" +2. Run in root `yarn bump-release X.X.X` +3. yarn bump-release will bump focal version, update deps in private packages and create a commit +4. Merge and manually create [GitHub Release](https://github.com/grammarly/focal/releases) +5. On release "publish" GitHub Actions will trigger build and attach tarball to "Release". For details see `release.yml` + +## Tests + +For each push into pull_reusets CI runs tests. Check `tests.yml` for details. diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..4a400ca --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,29 @@ +name: Release + +on: + release: + types: [published] + +jobs: + release: + name: Release + runs-on: ubuntu-latest + steps: + - name: Branch name + id: branch_name + run: | + echo ::set-output name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/} + echo ::set-output name=TARBALL::grammarly-focal-${GITHUB_REF#refs/tags/}.tgz + - name: Checkout code + uses: actions/checkout@v2 + - run: yarn install + - run: yarn build + - run: yarn test + - run: yarn package + - name: Upload binaries to release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ./packages/focal/${{ steps.branch_name.outputs.TARBALL }} + asset_name: ${{ steps.branch_name.outputs.TARBALL }} + tag: ${{ github.ref }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..7315eed --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,24 @@ +name: Tests + +on: [pull_request] + +jobs: + tests: + name: Run tests + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: yarn install + - run: yarn build + - run: yarn test + env: + CI: true diff --git a/.nvmrc b/.nvmrc index c18c439..cae54a2 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v8.11.3 \ No newline at end of file +v12.14.1 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3d39f78..0000000 --- a/.travis.yml +++ /dev/null @@ -1,25 +0,0 @@ -language: node_js -node_js: - - "lts/*" - -cache: - yarn: true - directories: - - node_modules - -jobs: - include: - - stage: github release - script: yarn build && yarn test && yarn package - deploy: - provider: releases - api_key: - secure: k+Pvk4XKUjjVjc7jJ8OVW4fjOc8dFacupYjEZ3qV8JAFPSCpLcJi0ijGHZx44r/EaaVaVMBamGCtUQR1eotq8xturxfQZz6Jug+Eu6zOUh1KqVNzqGyv4y7UfLT5HHq7bthFBmdJ7gIN0hm0Fvi0/xm7FZWoPeucnhu31WQ16dSFUw5HBMLgjDk7IaKyVslCrERwccBshxYRuwy3+Qs3kvmwu0QHGxnZmlgNdacKdgXcrdw6QfJOmAQsoidbyhIaCfxmh/ZQESCDU5WIOBjoZnEh3qZlGxvgUPUVp7bYZ68Q3g0/Xs2y5khyIKwtlCDum5E7GGUUwXtuX1WltfhWhKLtaeFN68OANI9GZTaLYWiBYsF32szkvsjB4NL8t5rsPFJ0D4zzY9WGzaBPVtE3JmwrSpPm+M2A2gbgmEzh7CT+UFIWtmNcKtQkuLVBTNnpgMBhW2XRQmVlpvMfykQuQbISsypeUqqNyIQ5br87zWIILfdGkcminSM4qtESvO/Ltd3/JxfZIv2Xdc3oq0GpB+Pl62EWGn8hnAJ0FcWX/XDTTpDLWgld26VchfQp3+T5k4ZxMyl8lSuR0okPzj+GpLkoW2hc8fqtEVcTIwU+53C/wKcPWvBbf5WTHryDLXYptjAXhOorSIybfzeVkGSbaejH7ROQBKm7n53kjy1OGv0= - skip_cleanup: true - file_glob: true - file: packages/focal/grammarly-focal-*.tgz - on: - tags: true - -notifications: - email: false diff --git a/.vscode/settings.json b/.vscode/settings.json index ca7777b..7ff83c6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,5 +2,4 @@ "typescript.tsdk": "./node_modules/typescript/lib", "editor.tabSize": 2, "editor.detectIndentation": false, - "tslint.nodePath": "./node_modules" } diff --git a/AUTHORS b/AUTHORS index ea8e4af..441b930 100644 --- a/AUTHORS +++ b/AUTHORS @@ -7,4 +7,5 @@ Yaroslav Voloshchuk Sergey Rudenko Gregory Shehet Anton Verinov -Oleksii Levzhynskyi +Oleksii Levzhynskyi +Vladyslav Bozhko diff --git a/package.json b/package.json index 0195405..1a5702b 100644 --- a/package.json +++ b/package.json @@ -9,14 +9,25 @@ "dev": "yarn workspace @grammarly/focal dev", "clean": "yarn workspace @grammarly/focal-atom clean && yarn workspace @grammarly/focal clean", "docs": "yarn workspace @grammarly/focal-atom docs && yarn workspace @grammarly/focal docs", + "lint": "yarn lint:focal-atom && yarn lint:focal && yarn lint:test && yarn lint:todomvc && yarn lint:examples", + "lint:focal": "yarn workspace @grammarly/focal lint", + "lint:focal-atom": "yarn workspace @grammarly/focal-atom lint", + "lint:test": "yarn workspace focal-manual-tests lint", + "lint:todomvc": "yarn workspace focal-todomvc lint", + "lint:examples": "yarn workspace focal-examples lint", "package": "yarn workspace @grammarly/focal pack && yarn workspace @grammarly/focal-atom pack", "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && sh ./scripts/release.sh", - "test": "yarn workspace @grammarly/focal-atom test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", - "postinstall": "yarn build" + "test": "yarn workspace @grammarly/focal-atom test && yarn workspace @grammarly/focal test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", + "postinstall": "yarn build", + "bump-version": "sh ./scripts/release.sh" }, "devDependencies": { - "@grammarly/tslint-config": "0.5.1", - "tslint": "5.20.0", + "@typescript-eslint/eslint-plugin": "^4.14.0", + "@typescript-eslint/eslint-plugin-tslint": "^4.14.0", + "@typescript-eslint/parser": "^4.14.0", + "eslint": "^7.18.0", + "eslint-plugin-jsdoc": "^31.0.8", + "eslint-plugin-react": "^7.22.0", "typescript": "3.6.4" }, "workspaces": [ diff --git a/packages/examples/all/.eslintrc.js b/packages/examples/all/.eslintrc.js new file mode 100644 index 0000000..533533f --- /dev/null +++ b/packages/examples/all/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "parserOptions": { + "project": "./tsconfig.json", + "sourceType": "module", + "tsconfigRootDir": __dirname, + } +} diff --git a/packages/examples/all/package.json b/packages/examples/all/package.json index 8d6890a..c5e481e 100644 --- a/packages/examples/all/package.json +++ b/packages/examples/all/package.json @@ -14,17 +14,20 @@ "clean": "rm -rf ./build", "dev": "npm start", "start": "node ./webpack/dev_server.js", - "test": "yarn build" + "test": "yarn build", + "lint": "eslint './src/**/*.ts*' && tsc --noemit" }, "sideEffects": false, "author": "Grammarly, Inc.", "license": "Apache-2.0", "devDependencies": { - "@grammarly/focal": "0.8.1", + "@grammarly/focal": "0.8.5", "@grammarly/tslint-config": "0.5.1", "@types/react": "16.9.11", "@types/react-dom": "16.9.3", "css-loader": "^3.2.0", + "eslint": "^7.18.0", + "eslint-webpack-plugin": "^2.5.3", "express": "^4.14.0", "react": "16.11.0", "react-dom": "16.11.0", @@ -36,12 +39,11 @@ "todomvc-app-css": "^2.0.6", "ts-loader": "^6.2.1", "tslint": "5.20.0", - "tslint-loader": "^3.3.0", "typescript": "3.6.4", "webpack": "^4.41.2", + "webpack-bundle-analyzer": "^3.6.0", "webpack-cli": "^3.3.9", "webpack-dev-middleware": "^3.7.2", - "webpack-hot-middleware": "^2.25.0", - "webpack-bundle-analyzer": "^3.6.0" + "webpack-hot-middleware": "^2.25.0" } } diff --git a/packages/examples/all/src/app.tsx b/packages/examples/all/src/app.tsx index c5b2c4f..d57474d 100644 --- a/packages/examples/all/src/app.tsx +++ b/packages/examples/all/src/app.tsx @@ -8,7 +8,7 @@ interface ExampleComponent { declare const require: (path: string) => any -const examples: { name: string, example: ExampleComponent }[] = [ +const examples: { name: string; example: ExampleComponent }[] = [ 'counter', 'clock', 'checkbox', diff --git a/packages/examples/all/src/big-table/index.tsx b/packages/examples/all/src/big-table/index.tsx index 49a5d02..7bead54 100644 --- a/packages/examples/all/src/big-table/index.tsx +++ b/packages/examples/all/src/big-table/index.tsx @@ -48,7 +48,7 @@ const THead = (props: { columns: ReadOnlyAtom }) => const TBody = (props: { - state: Atom, + state: Atom visibleRows: ReadOnlyAtom<{ begin: number; end: number }> }) => @@ -75,7 +75,7 @@ const App = ({ state, scrollTop = Atom.create(0) }: { - state: Atom, + state: Atom scrollTop: Atom }) =>
diff --git a/packages/examples/all/src/bmi/index.tsx b/packages/examples/all/src/bmi/index.tsx index b799857..cafa87e 100644 --- a/packages/examples/all/src/bmi/index.tsx +++ b/packages/examples/all/src/bmi/index.tsx @@ -2,7 +2,7 @@ import * as React from 'react' import { Atom, F, bind } from '@grammarly/focal' interface AppState { - weightKg: number, + weightKg: number heightCm: number } diff --git a/packages/examples/all/src/change-color/index.tsx b/packages/examples/all/src/change-color/index.tsx index f20ca30..87b9f35 100644 --- a/packages/examples/all/src/change-color/index.tsx +++ b/packages/examples/all/src/change-color/index.tsx @@ -12,7 +12,7 @@ const BOLD = 'bold' interface AppState { style: { - color: string, + color: string font: string } } diff --git a/packages/examples/all/src/convert-inputs/index.tsx b/packages/examples/all/src/convert-inputs/index.tsx index cbf3247..fa1846e 100644 --- a/packages/examples/all/src/convert-inputs/index.tsx +++ b/packages/examples/all/src/convert-inputs/index.tsx @@ -5,7 +5,7 @@ const toFahrenheit = (celsius: number) => celsius * 9 / 5 + 32 const toCelsius = (fahrenheit: number) => (fahrenheit - 32) * 5 / 9 interface AppState { - celsius: number, + celsius: number fahrenheit: number } diff --git a/packages/examples/all/src/hello/index.tsx b/packages/examples/all/src/hello/index.tsx index 0418088..e40450c 100644 --- a/packages/examples/all/src/hello/index.tsx +++ b/packages/examples/all/src/hello/index.tsx @@ -2,7 +2,7 @@ import * as React from 'react' import { Atom, F, bind } from '@grammarly/focal' interface AppState { - firstName: string, + firstName: string lastName: string } diff --git a/packages/examples/all/src/http-search-github/index.tsx b/packages/examples/all/src/http-search-github/index.tsx index 2d85112..9285c48 100644 --- a/packages/examples/all/src/http-search-github/index.tsx +++ b/packages/examples/all/src/http-search-github/index.tsx @@ -7,12 +7,13 @@ enum ResultKind { InProgress } -interface Success { kind: ResultKind.Success, value: T } -interface Failure { kind: ResultKind.Failure, error: any } +interface Success { kind: ResultKind.Success; value: T } +interface Failure { kind: ResultKind.Failure; error: any } interface InProgress { kind: ResultKind.InProgress } type Result = Success | Failure | InProgress +// eslint-disable-next-line @typescript-eslint/no-redeclare namespace Result { export function success(value: T): Success { return { @@ -33,7 +34,7 @@ namespace Result { interface AppState { searchString: string - result: undefined | Result<{ url: string, name: string }[]> + result: undefined | Result<{ url: string; name: string }[]> } namespace AppState { diff --git a/packages/examples/all/src/list-search/index.tsx b/packages/examples/all/src/list-search/index.tsx index 560ade4..802d80d 100644 --- a/packages/examples/all/src/list-search/index.tsx +++ b/packages/examples/all/src/list-search/index.tsx @@ -11,8 +11,8 @@ function getRandomSearchList() { } interface AppState { - searchString: string, - searchList: string[], + searchString: string + searchList: string[] timer: number } diff --git a/packages/examples/all/src/player/index.tsx b/packages/examples/all/src/player/index.tsx index f4195ff..3a7eb37 100644 --- a/packages/examples/all/src/player/index.tsx +++ b/packages/examples/all/src/player/index.tsx @@ -35,7 +35,7 @@ const TimeLine = ({ currentTime, maxDuration }: { - currentTime: Atom, + currentTime: Atom maxDuration: ReadOnlyAtom }) => (
diff --git a/packages/examples/all/src/scroll/index.tsx b/packages/examples/all/src/scroll/index.tsx index 473f514..68402d7 100644 --- a/packages/examples/all/src/scroll/index.tsx +++ b/packages/examples/all/src/scroll/index.tsx @@ -37,7 +37,7 @@ const pattern = ` . : :.:::::::.: :. ` -const Scroller = (props: { scrollTop: Atom, scrollLeft: Atom }) => +const Scroller = (props: { scrollTop: Atom; scrollLeft: Atom }) =>
, scrollLeft: Atom })
{pattern}
-const ScrollInput = (props: { value: Atom, label: string }) => +const ScrollInput = (props: { value: Atom; label: string }) =>
-const Node = (props: { state: Atom, removeNode?(): void }): JSX.Element => { +const Node = (props: { state: Atom; removeNode?(): void }): JSX.Element => { const children = props.state.lens('children') return (
diff --git a/packages/examples/all/src/tree/model.ts b/packages/examples/all/src/tree/model.ts index 4b11013..80f0878 100644 --- a/packages/examples/all/src/tree/model.ts +++ b/packages/examples/all/src/tree/model.ts @@ -1,5 +1,5 @@ export interface NodeState { - value: number, + value: number children: NodeState[] } diff --git a/packages/examples/all/src/update-number/index.tsx b/packages/examples/all/src/update-number/index.tsx index 436afcf..c91c1f4 100644 --- a/packages/examples/all/src/update-number/index.tsx +++ b/packages/examples/all/src/update-number/index.tsx @@ -13,7 +13,7 @@ import * as React from 'react' import { Atom, F, bind } from '@grammarly/focal' interface AppState { - inputValue: string, + inputValue: string value: number } diff --git a/packages/examples/all/tslint.json b/packages/examples/all/tslint.json deleted file mode 100644 index afb3ca4..0000000 --- a/packages/examples/all/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "@grammarly/tslint-config" -} \ No newline at end of file diff --git a/packages/examples/all/webpack/webpack.dev.js b/packages/examples/all/webpack/webpack.dev.js index ee52c5b..ef8cadf 100644 --- a/packages/examples/all/webpack/webpack.dev.js +++ b/packages/examples/all/webpack/webpack.dev.js @@ -1,6 +1,7 @@ var webpack = require('webpack') var path = require('path') const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer') +const ESLintPlugin = require('eslint-webpack-plugin'); module.exports = { devtool: 'eval-source-map', @@ -11,11 +12,6 @@ module.exports = { mode: 'development', module: { rules: [ - { - test: /\.tsx?$/, - loader: 'tslint-loader', - enforce: "pre" - }, { test: /\.tsx?$/, loader: 'ts-loader' @@ -41,6 +37,9 @@ module.exports = { publicPath: '/js/' }, plugins: [ + new ESLintPlugin({ + extensions: ["tsx", "ts"], + }), new webpack.HotModuleReplacementPlugin(), new BundleAnalyzerPlugin({ analyzerMode: 'static', diff --git a/packages/examples/all/webpack/webpack.prod.js b/packages/examples/all/webpack/webpack.prod.js index 1b7a6c9..bd45769 100644 --- a/packages/examples/all/webpack/webpack.prod.js +++ b/packages/examples/all/webpack/webpack.prod.js @@ -1,6 +1,7 @@ var path = require('path'); var webpack = require('webpack'); const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer') +const ESLintPlugin = require('eslint-webpack-plugin'); module.exports = { devtool: 'source-map', @@ -8,11 +9,6 @@ module.exports = { mode: 'production', module: { rules: [ - { - test: /\.tsx?$/, - loader: 'tslint-loader', - enforce: "pre" - }, { test: /\.tsx?$/, loader: 'ts-loader' @@ -38,6 +34,9 @@ module.exports = { publicPath: '/js/' }, plugins: [ + new ESLintPlugin({ + extensions: ["tsx", "ts"], + }), new webpack.optimize.OccurrenceOrderPlugin(), new webpack.DefinePlugin({ 'process.env': { diff --git a/packages/examples/todomvc/.eslintrc.js b/packages/examples/todomvc/.eslintrc.js new file mode 100644 index 0000000..533533f --- /dev/null +++ b/packages/examples/todomvc/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "parserOptions": { + "project": "./tsconfig.json", + "sourceType": "module", + "tsconfigRootDir": __dirname, + } +} diff --git a/packages/examples/todomvc/package.json b/packages/examples/todomvc/package.json index 3910151..c4cd06e 100644 --- a/packages/examples/todomvc/package.json +++ b/packages/examples/todomvc/package.json @@ -15,16 +15,19 @@ "clean": "rm -rf ./build", "dev": "npm start", "start": "node ./webpack/dev_server.js", - "test": "yarn build" + "test": "yarn build", + "lint": "eslint './src/**/*.ts*' && tsc --noemit" }, "author": "Grammarly, Inc.", "license": "Apache-2.0", "devDependencies": { - "@grammarly/focal": "0.8.1", + "@grammarly/focal": "0.8.5", "@grammarly/tslint-config": "0.5.1", "@types/react": "16.9.11", "@types/react-dom": "16.9.3", "express": "^4.14.0", + "eslint": "^7.18.0", + "eslint-webpack-plugin": "^2.5.3", "react": "16.11.0", "react-dom": "16.11.0", "react-transform-catch-errors": "^1.0.2", @@ -33,8 +36,6 @@ "rxjs": "6.3.3", "todomvc-app-css": "^2.0.6", "ts-loader": "^6.2.1", - "tslint": "5.20.0", - "tslint-loader": "^3.3.0", "typescript": "3.6.4", "webpack": "^4.41.2", "webpack-cli": "^3.3.9", diff --git a/packages/examples/todomvc/src/index.tsx b/packages/examples/todomvc/src/index.tsx index 7fb4a17..d33bd6b 100644 --- a/packages/examples/todomvc/src/index.tsx +++ b/packages/examples/todomvc/src/index.tsx @@ -4,7 +4,7 @@ import { Atom } from '@grammarly/focal' import { debounceTime } from 'rxjs/operators' // hot reload support -declare const require: (name: String) => any +declare const require: (name: string) => any declare const module: { hot?: { accept(path?: string, callback?: () => void): void } } @@ -49,7 +49,9 @@ app.start() function bench(action: () => void, name: string) { const now = window.performance && window.performance.now ? - function () { return window.performance.now() } // tslint:disable-line + function () { + return window.performance.now() + } : Date.now const startTime = now() @@ -57,11 +59,9 @@ function bench(action: () => void, name: string) { const endTime = now() const syncTime = endTime - startTime - // tslint:disable // no idea what's this for – taken from the Elm benchmark, - // tslint:disable-next-line + // eslint-disable-next-line max-len // https://github.com/evancz/todomvc-perf-comparison/blob/master/resources/benchmark-runner.js#L113 - // tslint:enable setTimeout(() => { setTimeout(() => { const endTime = now() @@ -75,7 +75,7 @@ function bench(action: () => void, name: string) { run: function(numberOfItems = 200) { const newTodo = document.getElementsByClassName('new-todo')[0] as HTMLInputElement - function elmBenchmark1() { // tslint:disable-line + function elmBenchmark1() { for (let i = 0; i < numberOfItems; i++) { const keydownEvent = document.createEvent('Event') keydownEvent.initEvent('keydown', true, true) @@ -113,10 +113,8 @@ function bench(action: () => void, name: string) { } }, om: { - // tslint:disable // @TODO implement Om-like benchmark that only manipulates app state. - // tslint:disable-next-line + // eslint-disable-next-line max-len // see https://github.com/swannodette/todomvc/blob/gh-pages/labs/architecture-examples/om/src/todomvc/app.cljs#L181 - // tslint:enable } } diff --git a/packages/examples/todomvc/tslint.json b/packages/examples/todomvc/tslint.json deleted file mode 100644 index afb3ca4..0000000 --- a/packages/examples/todomvc/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "@grammarly/tslint-config" -} \ No newline at end of file diff --git a/packages/examples/todomvc/webpack/webpack.dev.js b/packages/examples/todomvc/webpack/webpack.dev.js index bd1b912..673b824 100644 --- a/packages/examples/todomvc/webpack/webpack.dev.js +++ b/packages/examples/todomvc/webpack/webpack.dev.js @@ -1,6 +1,7 @@ var webpack = require('webpack') var path = require('path') const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer') +const ESLintPlugin = require('eslint-webpack-plugin'); module.exports = { devtool: 'eval-source-map', @@ -11,11 +12,6 @@ module.exports = { mode: 'development', module: { rules: [ - { - test: /\.tsx?$/, - loader: 'tslint-loader', - enforce: "pre" - }, { test: /\.tsx?$/, loader: 'ts-loader' @@ -28,6 +24,9 @@ module.exports = { publicPath: '/js/' }, plugins: [ + new ESLintPlugin({ + extensions: ["tsx", "ts"], + }), new webpack.HotModuleReplacementPlugin(), new BundleAnalyzerPlugin({ analyzerMode: 'static', diff --git a/packages/examples/todomvc/webpack/webpack.prod.js b/packages/examples/todomvc/webpack/webpack.prod.js index a3692f2..97abe69 100644 --- a/packages/examples/todomvc/webpack/webpack.prod.js +++ b/packages/examples/todomvc/webpack/webpack.prod.js @@ -1,6 +1,7 @@ var path = require('path'); var webpack = require('webpack'); const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer') +const ESLintPlugin = require('eslint-webpack-plugin'); module.exports = { devtool: 'source-map', @@ -8,11 +9,6 @@ module.exports = { mode: 'production', module: { rules: [ - { - test: /\.tsx?$/, - loader: 'tslint-loader', - enforce: "pre" - }, { test: /\.tsx?$/, loader: 'ts-loader' @@ -25,6 +21,9 @@ module.exports = { publicPath: '/js/' }, plugins: [ + new ESLintPlugin({ + extensions: ["tsx", "ts"], + }), new webpack.optimize.OccurrenceOrderPlugin(), new webpack.DefinePlugin({ 'process.env': { diff --git a/packages/focal-atom/src/atom/base.ts b/packages/focal-atom/src/atom/base.ts index d8decd3..1b64ae2 100644 --- a/packages/focal-atom/src/atom/base.ts +++ b/packages/focal-atom/src/atom/base.ts @@ -148,7 +148,7 @@ export interface Atom extends ReadOnlyAtom { * The update function should be: * - referentially transparent: return same result for same arguments * - side-effect free: don't perform any mutations (including calling - * Atom.set/Atom.modify) and side effects + * Atom.set/Atom.modify) and side effects * * @param updateFn value update function */ @@ -251,7 +251,7 @@ export abstract class AbstractReadOnlyAtom view(k: K): ReadOnlyAtom view(...args: any[]): ReadOnlyAtom { - // tslint:disable no-use-before-declare + /* eslint-disable @typescript-eslint/no-use-before-define */ return args[0] !== undefined // view(getter) case ? typeof args[0] === 'function' @@ -264,7 +264,7 @@ export abstract class AbstractReadOnlyAtom : new AtomViewImpl(this, x => (args[0] as Lens).get(x)) // view() case : this as ReadOnlyAtom - // tslint:enable no-use-before-declare + /* eslint-enable @typescript-eslint/no-use-before-define */ } } @@ -282,8 +282,8 @@ export abstract class AbstractAtom lens(k: K): Atom lens(arg1: Lens | PropExpr | string, ...args: string[]): Atom { - // tslint:disable no-use-before-declare + /* eslint-disable @typescript-eslint/no-use-before-define */ // lens(prop expr) case return typeof arg1 === 'function' ? new LensedAtom(this, Lens.prop(arg1 as (x: T) => U), structEq) @@ -293,7 +293,7 @@ export abstract class AbstractAtom this, Lens.compose(Lens.key(arg1), ...args.map(k => Lens.key(k))), structEq) // lens(lens) case : new LensedAtom(this, arg1 as Lens, structEq) - // tslint:enable no-use-before-declare + /* eslint-enable @typescript-eslint/no-use-before-define */ } } @@ -371,7 +371,7 @@ class LensedAtom extends AbstractAtom { private _refCount = 0 // Rx method overrides - _subscribe(subscriber: Subscriber) { // tslint:disable-line function-name + _subscribe(subscriber: Subscriber) { if (!this._subscription) { this._subscription = this._source.subscribe(x => this._onSourceValue(x)) } @@ -440,7 +440,7 @@ class AtomViewImpl extends AbstractReadOnlyAtom { private _refCount = 0 // Rx method overrides - _subscribe(subscriber: Subscriber) { // tslint:disable-line function-name + _subscribe(subscriber: Subscriber) { if (!this._subscription) { this._subscription = this._source.subscribe(x => this._onSourceValue(x)) } @@ -510,7 +510,7 @@ export class CombinedAtomViewImpl extends AbstractReadOnlyAtom private _refCount = 0 // Rx method overrides - _subscribe(subscriber: Subscriber) { // tslint:disable-line function-name + _subscribe(subscriber: Subscriber) { if (!this._subscription) { this._subscription = combineLatest(this._sources) .subscribe(xs => this._onSourceValues(xs)) diff --git a/packages/focal-atom/src/atom/index.ts b/packages/focal-atom/src/atom/index.ts index 740ec82..24c5281 100644 --- a/packages/focal-atom/src/atom/index.ts +++ b/packages/focal-atom/src/atom/index.ts @@ -16,6 +16,7 @@ export { // the namespace below and then export it. export type Atom = _Atom +// eslint-disable-next-line @typescript-eslint/no-redeclare export namespace Atom { /** * Create an atom with given initial value. @@ -29,7 +30,6 @@ export namespace Atom { return new JsonAtom(initialValue) } - // tslint:disable no-unused-vars export function log( atom: Atom, name?: string @@ -49,7 +49,6 @@ export namespace Atom { atom: ReadOnlyAtom, logger?: (prevState: T, newState: T) => void ): ReadOnlyAtom - // tslint:enable no-unused-vars export function log( atom: Atom | ReadOnlyAtom, @@ -74,7 +73,6 @@ export namespace Atom { return atom } - // tslint:disable no-unused-vars export function combine( source1: ReadOnlyAtom, source2: ReadOnlyAtom, diff --git a/packages/focal-atom/src/equals.ts b/packages/focal-atom/src/equals.ts index 08e8f74..3dfe20f 100644 --- a/packages/focal-atom/src/equals.ts +++ b/packages/focal-atom/src/equals.ts @@ -26,12 +26,10 @@ * THE SOFTWARE. */ -// tslint:disable no-function-expression - function arrayFromIterator(iter: Iterator) { const result: T[] = [] let next: IteratorResult - while (!(next = iter.next()).done) { // tslint:disable-line no-conditional-assignment + while (!(next = iter.next()).done) { result.push(next.value) } return result @@ -76,9 +74,11 @@ function identical(a: any, b: any) { const _isArguments = ((function () { const toString = Object.prototype.toString + /* eslint-disable brace-style */ return toString.call(arguments) === '[object Arguments]' ? function isArguments(x: any) { return toString.call(x) === '[object Arguments]' } : function isArguments(x: any) { return has('callee', x) } + /* eslint-enable brace-style */ }) ()) /** @@ -102,8 +102,9 @@ const keys = ((function () { return arguments.propertyIsEnumerable('length') }) ()) + // eslint-disable-next-line func-style const contains = function contains(list: T[], item: T) { - var idx = 0 // tslint:disable-line no-var-keyword + var idx = 0 // eslint-disable-line no-var while (idx < list.length) { if (list[idx] === item) diff --git a/packages/focal-atom/src/lens/base.ts b/packages/focal-atom/src/lens/base.ts index c0f847c..e779bed 100644 --- a/packages/focal-atom/src/lens/base.ts +++ b/packages/focal-atom/src/lens/base.ts @@ -3,7 +3,7 @@ import { Option } from './../utils' export interface Optic { get(s: TSource): T set(v: U, s: TSource): TSource - modify(updateFn: (v: T) => U, s: TSource): TSource // tslint:disable-line no-unused-vars + modify(updateFn: (v: T) => U, s: TSource): TSource // @TODO can't optic compose? } @@ -12,7 +12,7 @@ function createModify( getter: (s: TSource) => T, setter: (v: U, s: TSource) => TSource ) { - return function modify(updateFn: (v: T) => U, s: TSource) { // tslint:disable-line + return function modify(updateFn: (v: T) => U, s: TSource) { return setter(updateFn(getter(s)), s) } } diff --git a/packages/focal-atom/src/lens/json.ts b/packages/focal-atom/src/lens/json.ts index c48d3bd..71fcdd9 100644 --- a/packages/focal-atom/src/lens/json.ts +++ b/packages/focal-atom/src/lens/json.ts @@ -88,6 +88,7 @@ export interface KeyImplFor { * allow to specify only some of the type arguments. * * This is the second call, where you supply the key argument. + * * @example * interface SomeObject { * someProp: number diff --git a/packages/focal-atom/test/atom.test.ts b/packages/focal-atom/test/atom.test.ts index 9d0fb58..544f6a3 100644 --- a/packages/focal-atom/test/atom.test.ts +++ b/packages/focal-atom/test/atom.test.ts @@ -1,4 +1,3 @@ -// tslint:disable no-unnecessary-local-variable import { merge, Observable, from, Subject, never, throwError, empty } from 'rxjs' import { take, toArray, tap, materialize, map } from 'rxjs/operators' import { Atom, Lens, ReadOnlyAtom } from '../src' @@ -74,7 +73,7 @@ function testDerivedAtom( expect(viewFnCalls).toEqual([5, 6]) expect(os).toEqual([6, 7]) - a.modify(x => { + a.modify(_ => { sub.unsubscribe() return 0 }) @@ -112,7 +111,7 @@ function testDerivedAtom( expect(viewFnCalls2).toEqual([6, 7]) expect(os2).toEqual([11, 12]) - a.modify(x => { + a.modify(_ => { sub1.unsubscribe() return 0 }) @@ -542,7 +541,7 @@ describe('atom', () => { function testCalls( a: number, b: number, c: number, d: number, e: number, f: number, - msg: string + _msg: string ) { expect( [called1, called2, called3, called4, called5, called5]).toEqual( @@ -721,7 +720,7 @@ describe('atom', () => { sub.unsubscribe() }) - testDerivedAtom((a, f, onCalled) => Atom.combine(a, Atom.create(0), (a, b) => { + testDerivedAtom((a, f, onCalled) => Atom.combine(a, Atom.create(0), (a, _) => { onCalled(a) return f(a) })) @@ -766,7 +765,9 @@ describe('atom', () => { subscribed = true o.complete() - return () => { subscribed = false } + return () => { + subscribed = false + } }) const _ = Atom.fromObservable(src) @@ -781,7 +782,9 @@ describe('atom', () => { subCount++ o.next(1) - return () => { subCount-- } + return () => { + subCount-- + } }) const a = Atom.fromObservable(src) diff --git a/packages/focal-atom/test/lens.test.ts b/packages/focal-atom/test/lens.test.ts index 9b23125..a859d8a 100644 --- a/packages/focal-atom/test/lens.test.ts +++ b/packages/focal-atom/test/lens.test.ts @@ -13,7 +13,7 @@ function roundtrip( }) } -// tslint:disable-next-line +// eslint-disable-next-line max-len // see https://www.schoolofhaskell.com/school/to-infinity-and-beyond/pick-of-the-week/a-little-lens-starter-tutorial#the-lens-laws- function testLaws( l: Lens, diff --git a/packages/focal/.eslintrc.js b/packages/focal/.eslintrc.js new file mode 100644 index 0000000..533533f --- /dev/null +++ b/packages/focal/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "parserOptions": { + "project": "./tsconfig.json", + "sourceType": "module", + "tsconfigRootDir": __dirname, + } +} diff --git a/packages/focal/package.json b/packages/focal/package.json index 1e580b6..14a9a5b 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -1,12 +1,15 @@ { "name": "@grammarly/focal", - "version": "0.8.1", + "version": "0.8.5", "description": "FRP UI with React, observables, immutable data and lenses", "main": "dist/_cjs/src/index.js", "module": "dist/_esm5/src/index.js", "es2015": "dist/_esm2015/src/index.js", "types": "dist/_cjs/src/index.d.ts", "sideEffects": [ + "./dist/_cjs/src/lens/index.js", + "./dist/_esm5/src/lens/index.js", + "./dist/_esm2015/src/lens/index.js", "./dist/_cjs/src/lens/json.js", "./dist/_esm5/src/lens/json.js", "./dist/_esm2015/src/lens/json.js" @@ -26,7 +29,7 @@ "build": "yarn run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn run lint", "test": "jest", "test:watch": "jest --watch", - "lint": "tslint --type-check --project tsconfig.json -c tslint.json" + "lint": "eslint './src/**/*.ts*' 'test/**/*.ts*' && tsc --noemit" }, "author": "Sergey Yavnyi ", "keywords": [ @@ -46,7 +49,6 @@ "dependencies": {}, "devDependencies": { "@grammarly/focal-atom": "^0.8.1", - "@grammarly/tslint-config": "0.5.1", "@types/jest": "24.0.20", "@types/node": "^6.0.34", "@types/react": "16.9.11", @@ -56,7 +58,6 @@ "react-dom": "16.11.0", "rxjs": "6.3.3", "ts-jest": "^23.10.5", - "tslint": "5.20.0", "typescript": "3.6.4" }, "peerDependencies": { diff --git a/packages/focal/src/react/index.ts b/packages/focal/src/react/index.ts index d085eee..49c5fbe 100644 --- a/packages/focal/src/react/index.ts +++ b/packages/focal/src/react/index.ts @@ -2,7 +2,7 @@ export * from './react' // @NOTE need the following import to prevent TS error // "variable is using name from external module but can not be named" -// tslint:disable-next-line no-unused-variable +// eslint-disable-next-line @typescript-eslint/no-unused-vars import { LiftedIntrinsics } from './intrinsic' import { createLiftedIntrinsics } from './intrinsic' diff --git a/packages/focal/src/react/react.ts b/packages/focal/src/react/react.ts index 2ca1df7..b4d97a2 100644 --- a/packages/focal/src/react/react.ts +++ b/packages/focal/src/react/react.ts @@ -57,12 +57,14 @@ export class LiftWrapper const { props, component } = newProps let n = 0 + // eslint-disable-next-line @typescript-eslint/no-use-before-define walkObservables(props, () => n += 1) switch (n) { case 0: this.setState({ subscription: null, + // eslint-disable-next-line @typescript-eslint/no-use-before-define renderCache: render(component, props) }) break @@ -73,10 +75,10 @@ export class LiftWrapper // Could this be replaced by a regular closure? Perhaps using // a class is an optimization? case 1: - new RenderOne(this, newProps) // tslint:disable-line + new RenderOne(this, newProps) // eslint-disable-line break default: - new RenderMany(this, newProps, n) // tslint:disable-line + new RenderMany(this, newProps, n) // eslint-disable-line break } } @@ -87,12 +89,14 @@ export class LiftWrapper subscription.unsubscribe() } - UNSAFE_componentWillReceiveProps(newProps: LiftWrapperProps) { // tslint:disable-line + // eslint-disable-next-line camelcase + UNSAFE_componentWillReceiveProps(newProps: LiftWrapperProps) { this._unsubscribe() this._subscribe(newProps) } - UNSAFE_componentWillMount() { // tslint:disable-line + // eslint-disable-next-line camelcase + UNSAFE_componentWillMount() { this._unsubscribe() this._subscribe(this.props) } @@ -709,8 +713,8 @@ export function bindElementProps( // this function already compiles without the 'string | ...', but it's // calls do not. template: Partial<{ - ref: string; - mount: string; + ref: string + mount: string forwardRef: string }> & { [k: string]: string | Atom } ): BindElementPropsReturnType { @@ -766,7 +770,6 @@ export function bind(template: { [key: string]: Atom }) { } } -// tslint:disable no-unused-vars export function reactiveList( ids: Observable, createListItem: (x: string) => TValue ): Observable @@ -774,7 +777,6 @@ export function reactiveList( export function reactiveList( ids: Observable, createListItem: (x: number) => TValue ): Observable -// tslint:enable no-unused-vars /** * Derive a reactive list from: diff --git a/packages/focal/src/utils.ts b/packages/focal/src/utils.ts index 3cc2636..599b1f0 100644 --- a/packages/focal/src/utils.ts +++ b/packages/focal/src/utils.ts @@ -4,12 +4,16 @@ export const DEV_ENV = typeof process !== 'undefined' && process.env.NODE_ENV != export function warning(message: string) { if (typeof console !== 'undefined' && typeof console.error === 'function') { - console.error('[Focal]: ' + message) // tslint:disable-line no-console + console.error('[Focal]: ' + message) } // Throw a dummy error so it's possible to enter debugger with // 'break on all exceptions'. - try { throw new Error(message) } catch (_) { /* no-op */ } + try { + throw new Error(message) + } catch (_) { + /* no-op */ + } } export function getReactComponentName( diff --git a/packages/focal/test/react.test.tsx b/packages/focal/test/react.test.tsx index efff53e..6c10ad5 100644 --- a/packages/focal/test/react.test.tsx +++ b/packages/focal/test/react.test.tsx @@ -259,7 +259,7 @@ describe('react', () => { ) it('bindElementProps compiles', () => expect((() => { - // tslint:disable-next-line no-unused-expression + // eslint-disable-next-line @typescript-eslint/no-unused-expressions ( ) diff --git a/packages/focal/tslint.json b/packages/focal/tslint.json deleted file mode 100644 index e609ee3..0000000 --- a/packages/focal/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "@grammarly/tslint-config", - "rules": { - "strict-boolean-expressions": [false] - } -} \ No newline at end of file diff --git a/packages/test/.eslintrc.js b/packages/test/.eslintrc.js new file mode 100644 index 0000000..533533f --- /dev/null +++ b/packages/test/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "parserOptions": { + "project": "./tsconfig.json", + "sourceType": "module", + "tsconfigRootDir": __dirname, + } +} diff --git a/packages/test/package.json b/packages/test/package.json index 6f87e81..d019172 100644 --- a/packages/test/package.json +++ b/packages/test/package.json @@ -11,16 +11,18 @@ "clean": "rm -rf ./build", "dev": "npm start", "start": "node ./webpack/dev_server.js", - "test": "yarn build" + "test": "yarn build", + "lint": "eslint '**/*.ts*'" }, "author": "Grammarly, Inc.", "license": "Apache-2.0", "devDependencies": { - "@grammarly/focal": "0.8.1", - "@grammarly/tslint-config": "0.5.1", + "@grammarly/focal": "0.8.5", "@types/node": "^9.6.0", "@types/react": "16.9.11", "@types/react-dom": "16.9.3", + "eslint": "^7.18.0", + "eslint-webpack-plugin": "2.5.3", "express": "^4.14.0", "react": "16.11.0", "react-dom": "16.11.0", @@ -29,14 +31,11 @@ "redbox-react": "^1.3.0", "rxjs": "6.3.3", "todomvc-app-css": "^2.0.6", - "ts-loader": "^6.2.1", - "tslint-loader": "^3.3.0", - "tslint": "5.20.0", "typescript": "3.6.4", "webpack": "^4.41.2", + "webpack-bundle-analyzer": "^3.6.0", "webpack-cli": "^3.3.9", "webpack-dev-middleware": "^3.7.2", - "webpack-hot-middleware": "^2.25.0", - "webpack-bundle-analyzer": "^3.6.0" + "webpack-hot-middleware": "^2.25.0" } } diff --git a/packages/test/src/app.tsx b/packages/test/src/app.tsx index 5d61ff1..6ed1081 100644 --- a/packages/test/src/app.tsx +++ b/packages/test/src/app.tsx @@ -7,9 +7,9 @@ interface TestComponent { defaultState: S } -declare var require: (path: string) => any +declare let require: (path: string) => any -const tests: { name: string, test: TestComponent }[] = [ +const tests: { name: string; test: TestComponent }[] = [ 'lifted-bug', 'render-bug', 'setstate-bug' diff --git a/packages/test/src/index.tsx b/packages/test/src/index.tsx index 76964b9..145cff8 100644 --- a/packages/test/src/index.tsx +++ b/packages/test/src/index.tsx @@ -1,7 +1,7 @@ import { App } from './app' // hot reload support -declare const require: (name: String) => any +declare const require: (name: string) => any declare const module: { hot?: { accept(path?: string, callback?: () => void): void } } diff --git a/packages/test/src/render-bug/index.tsx b/packages/test/src/render-bug/index.tsx index 045e8e5..36d7028 100644 --- a/packages/test/src/render-bug/index.tsx +++ b/packages/test/src/render-bug/index.tsx @@ -59,6 +59,7 @@ const MinimalReproduce = () => { } export const Main = ({ + // eslint-disable-next-line @typescript-eslint/no-unused-vars state = Atom.create(0) }) => { return ( diff --git a/packages/test/src/setstate-bug/index.tsx b/packages/test/src/setstate-bug/index.tsx index 67d7d29..b68c5ef 100644 --- a/packages/test/src/setstate-bug/index.tsx +++ b/packages/test/src/setstate-bug/index.tsx @@ -6,7 +6,7 @@ class Test extends React.Component<{ trigger: Observable }> { list = Atom.create(['a', 'b', 'c']) componentWillMount() { - this.props.trigger.subscribe(list => { + this.props.trigger.subscribe(_ => { this.list.set(['a', 'b']) this.list.set(['a', 'b', 'c']) }) diff --git a/packages/test/tslint.json b/packages/test/tslint.json deleted file mode 100644 index afb3ca4..0000000 --- a/packages/test/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "@grammarly/tslint-config" -} \ No newline at end of file diff --git a/packages/test/webpack/webpack.dev.js b/packages/test/webpack/webpack.dev.js index 7df7e13..11399e1 100644 --- a/packages/test/webpack/webpack.dev.js +++ b/packages/test/webpack/webpack.dev.js @@ -1,6 +1,6 @@ var webpack = require('webpack') var path = require('path') -const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer') +const ESLintPlugin = require('eslint-webpack-plugin'); module.exports = { devtool: 'eval-source-map', @@ -11,11 +11,6 @@ module.exports = { mode: 'development', module: { rules: [ - { - test: /\.tsx?$/, - loader: 'tslint-loader', - enforce: "pre" - }, { test: /\.tsx?$/, loader: 'ts-loader' @@ -28,6 +23,9 @@ module.exports = { publicPath: '/js/' }, plugins: [ + new ESLintPlugin({ + extensions: ["tsx", "ts"], + }), new webpack.HotModuleReplacementPlugin() ], resolve: { diff --git a/packages/test/webpack/webpack.prod.js b/packages/test/webpack/webpack.prod.js index a3692f2..97abe69 100644 --- a/packages/test/webpack/webpack.prod.js +++ b/packages/test/webpack/webpack.prod.js @@ -1,6 +1,7 @@ var path = require('path'); var webpack = require('webpack'); const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer') +const ESLintPlugin = require('eslint-webpack-plugin'); module.exports = { devtool: 'source-map', @@ -8,11 +9,6 @@ module.exports = { mode: 'production', module: { rules: [ - { - test: /\.tsx?$/, - loader: 'tslint-loader', - enforce: "pre" - }, { test: /\.tsx?$/, loader: 'ts-loader' @@ -25,6 +21,9 @@ module.exports = { publicPath: '/js/' }, plugins: [ + new ESLintPlugin({ + extensions: ["tsx", "ts"], + }), new webpack.optimize.OccurrenceOrderPlugin(), new webpack.DefinePlugin({ 'process.env': { diff --git a/scripts/release.sh b/scripts/release.sh index decb677..1c931f2 100644 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -24,4 +24,13 @@ rm -rf $BASEDIR/packages/focal/README.md && rm -rf $BASEDIR/packages/focal-atom/ rm -rf $BASEDIR/packages/focal/LICENSE && rm -rf $BASEDIR/packages/focal-atom/LICENSE rm -rf $BASEDIR/packages/focal/AUTHORS && rm -rf $BASEDIR/packages/focal-atom/AUTHORS +cd packages/focal && yarn version --new-version $VER --no-git-tag-version && cd ../.. +sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/all/package.json +sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/todomvc/package.json +sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/test/package.json +# yarn +git add . +git commit -m "v$VER" + + git push && git push --tags diff --git a/yarn.lock b/yarn.lock index 672a021..398453c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -131,6 +131,22 @@ lodash "^4.17.10" to-fast-properties "^2.0.0" +"@eslint/eslintrc@^0.3.0": + version "0.3.0" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" + integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.20" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@grammarly/tslint-config@0.5.1": version "0.5.1" resolved "https://registry.yarnpkg.com/@grammarly/tslint-config/-/tslint-config-0.5.1.tgz#4b962f0fbd3cf0b40bd7695069942ba04afb564a" @@ -142,6 +158,74 @@ tslint-microsoft-contrib "4.0.1" tslint-react "^3.0.0" +"@jest/types@^24.9.0": + version "24.9.0" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk= + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + +"@nodelib/fs.scandir@2.1.4": + version "2.1.4" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== + dependencies: + "@nodelib/fs.stat" "2.0.4" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": + version "2.0.4" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.6" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + dependencies: + "@nodelib/fs.scandir" "2.1.4" + fastq "^1.6.0" + +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA= + +"@types/eslint@^7.2.6": + version "7.2.8" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.8.tgz#45cd802380fcc352e5680e1781d43c50916f12ee" + integrity sha1-Rc2AI4D8w1LlaA4XgdQ8UJFvEu4= + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*": + version "0.0.47" + resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4" + integrity sha1-16Udsg8GUO/sJM0EmU9SPZMXLtQ= + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.3" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha1-S6jdtyAiH0MuRDvV+RF/0iz9R2I= + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY= + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI= + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + "@types/jest-diff@*": version "20.0.1" resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" @@ -154,6 +238,28 @@ dependencies: "@types/jest-diff" "*" +"@types/jest@^24.0.0": + version "24.9.1" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" + integrity sha1-Arr5Vzx48bmXSl82d4s2aqd71TQ= + dependencies: + jest-diff "^24.3.0" + +"@types/json-schema@*", "@types/json-schema@^7.0.6": + version "7.0.7" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0= + +"@types/json-schema@^7.0.3": + version "7.0.5" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" + integrity sha1-3M5EMOZLRDuolF8CkPtWStW6xt0= + +"@types/node@*": + version "14.14.37" + resolved "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz#a3dd8da4eb84a996c36e331df98d82abd76b516e" + integrity sha1-o92NpOuEqZbDbjMd+Y2Cq9drUW4= + "@types/node@^6.0.34": version "6.0.106" resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.106.tgz#391bc3598ab5823563f7155847212152893edcd7" @@ -182,6 +288,97 @@ "@types/prop-types" "*" csstype "^2.2.0" +"@types/yargs-parser@*": + version "20.2.0" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha1-3T5mmboyN/A0jNCF5GmHgCBIQvk= + +"@types/yargs@^13.0.0": + version "13.0.11" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/yargs/-/yargs-13.0.11.tgz#def2f0c93e4bdf2c61d7e34899b17e34be28d3b1" + integrity sha1-3vLwyT5L3yxh1+NImbF+NL4o07E= + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin-tslint@^4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.14.0.tgz#c465ff418f2dd016c3890648784b6d35068adc84" + integrity sha512-d14sju1LLPvzyZItiXw7WhqKUkiJaf2Y2g5JlAx90NhNseTyElcTmZW5vo6gqLDPLb2VsKQ4KYMYKZNTXXJGpw== + dependencies: + "@typescript-eslint/experimental-utils" "4.14.0" + lodash "^4.17.15" + +"@typescript-eslint/eslint-plugin@^4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz#92db8e7c357ed7d69632d6843ca70b71be3a721d" + integrity sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww== + dependencies: + "@typescript-eslint/experimental-utils" "4.14.0" + "@typescript-eslint/scope-manager" "4.14.0" + debug "^4.1.1" + functional-red-black-tree "^1.0.1" + lodash "^4.17.15" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz#5aa7b006736634f588a69ee343ca959cd09988df" + integrity sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.14.0" + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/typescript-estree" "4.14.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz#62d4cd2079d5c06683e9bfb200c758f292c4dee7" + integrity sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg== + dependencies: + "@typescript-eslint/scope-manager" "4.14.0" + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/typescript-estree" "4.14.0" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz#55a4743095d684e1f7b7180c4bac2a0a3727f517" + integrity sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q== + dependencies: + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/visitor-keys" "4.14.0" + +"@typescript-eslint/types@4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz#d8a8202d9b58831d6fd9cee2ba12f8a5a5dd44b6" + integrity sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A== + +"@typescript-eslint/typescript-estree@4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz#4bcd67486e9acafc3d0c982b23a9ab8ac8911ed7" + integrity sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag== + dependencies: + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/visitor-keys" "4.14.0" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/visitor-keys@4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz#b1090d9d2955b044b2ea2904a22496849acbdf54" + integrity sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA== + dependencies: + "@typescript-eslint/types" "4.14.0" + eslint-visitor-keys "^2.0.0" + "@webassemblyjs/ast@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" @@ -370,6 +567,11 @@ acorn-globals@^4.1.0: acorn "^6.0.1" acorn-walk "^6.0.1" +acorn-jsx@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + acorn-walk@^6.0.1: version "6.1.1" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" @@ -395,6 +597,11 @@ acorn@^6.0.7, acorn@^6.2.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -405,6 +612,11 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= + ajv@^6.1.0, ajv@^6.10.2: version "6.10.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" @@ -415,6 +627,26 @@ ajv@^6.1.0, ajv@^6.10.2: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^6.10.0: + version "6.12.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" + integrity sha1-xinF7O0XuvMUQ3kY0tqIyZ1ZWM0= + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + ajv@^6.5.5: version "6.9.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.9.0.tgz#06458dbfb789366d703e308f180e0db195b7f2fa" @@ -425,11 +657,26 @@ ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^7.0.2: + version "7.0.3" + resolved "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz#13ae747eff125cafb230ac504b2406cf371eece2" + integrity sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + ansi-escapes@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" @@ -458,6 +705,11 @@ ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -468,6 +720,21 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha1-kK51xCTQCNJiTFvynq0xd+v881k= + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -523,15 +790,55 @@ array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" +array-includes@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" + integrity sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0" + is-string "^1.0.5" + +array-includes@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz#a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8" + integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + get-intrinsic "^1.0.1" + is-string "^1.0.5" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array.prototype.flatmap@^1.2.3: + version "1.2.4" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + function-bind "^1.1.1" + arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha1-yWVekzHgq81YjSp8rX6ZVvZnAfo= + asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -573,6 +880,11 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" @@ -582,7 +894,7 @@ async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" -async@^2.5.0, async@^2.6.1: +async@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== @@ -933,6 +1245,14 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + callsites@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" @@ -992,6 +1312,14 @@ chalk@^2.0.1, chalk@^2.3.0: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha1-ThSHCmGNni7dl92DRf2dncMVZGo= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + check-types@^8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" @@ -1096,10 +1424,22 @@ color-convert@^1.9.0: dependencies: color-name "^1.1.1" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= + dependencies: + color-name "~1.1.4" + color-name@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + colors@^1.1.2: version "1.2.1" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.1.tgz#f4a3d302976aaf042356ba1ade3b1a2c62d9d794" @@ -1114,12 +1454,12 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: commander@^2.12.1, commander@^2.18.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= -commander@~2.17.1: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== +comment-parser@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/comment-parser/-/comment-parser-1.1.1.tgz#c0581d520677e2cfab1a568e94ea0400df9fe4bd" + integrity sha512-vue7cRi1ZO5/72FJ+wZ5+siTSBlUv3ZksTk8bWD2IkaA6obitzMZP3yI65azTJLckwmi8lxfPP5Sd9oGuZ8e2g== commondir@^1.0.1: version "1.0.1" @@ -1266,6 +1606,15 @@ cross-spawn@6.0.5, cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -1354,13 +1703,20 @@ debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@^4.1.0, debug@^4.1.1: +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: ms "^2.1.1" +debug@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -1375,7 +1731,7 @@ deep-extend@^0.6.0: resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deep-is@~0.1.3: +deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= @@ -1394,6 +1750,13 @@ define-properties@^1.1.2: foreach "^2.0.5" object-keys "^1.0.8" +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= + dependencies: + object-keys "^1.0.12" + define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" @@ -1464,6 +1827,11 @@ diff-sequences@^24.0.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.0.0.tgz#cdf8e27ed20d8b8d3caccb4e0c0d8fe31a173013" integrity sha512-46OkIuVGBBnrC0soO/4LHu5LHGHx0uhP65OVz8XOrAJpqiCB2aVIuESvjI1F9oqebuvY8lekS1pt6TN7vt7qsw== +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= + diff@^3.1.0, diff@^3.2.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -1482,6 +1850,13 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + doctrine@^0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" @@ -1489,6 +1864,20 @@ doctrine@^0.7.2: esutils "^1.1.6" isarray "0.0.1" +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850= + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= + dependencies: + esutils "^2.0.2" + dom-walk@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" @@ -1553,6 +1942,11 @@ emoji-regex@^7.0.1: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -1599,6 +1993,13 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: memory-fs "^0.5.0" tapable "^1.0.0" +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -1618,6 +2019,43 @@ error-stack-parser@^1.3.6: dependencies: stackframe "^0.3.1" +es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: + version "1.17.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" + integrity sha1-2MnR1myJgfuSAOIlHXme7pJ3Suk= + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.1.5" + is-regex "^1.0.5" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.1" + string.prototype.trimright "^2.1.1" + +es-abstract@^1.18.0-next.1: + version "1.18.0-next.2" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2" + integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-negative-zero "^2.0.1" + is-regex "^1.1.1" + object-inspect "^1.9.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.3" + string.prototype.trimstart "^1.0.3" + es-abstract@^1.5.1: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" @@ -1639,6 +2077,15 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -1659,6 +2106,36 @@ escodegen@^1.9.1: optionalDependencies: source-map "~0.6.1" +eslint-plugin-jsdoc@^31.0.8: + version "31.0.8" + resolved "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-31.0.8.tgz#403d925f401e4b6dd689666f6225376b6af74103" + integrity sha512-tB/+QfKXbV1CUqIwpRdZACt7dv1xDjqEjoJpc07EGqLgydJokT43fsZWPfj2mPbiMXYhZQiJXaKhk1x8lgUDQg== + dependencies: + comment-parser "1.1.1" + debug "^4.3.1" + jsdoctypeparser "^9.0.0" + lodash "^4.17.20" + regextras "^0.7.1" + semver "^7.3.4" + spdx-expression-parse "^3.0.1" + +eslint-plugin-react@^7.22.0: + version "7.22.0" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz#3d1c542d1d3169c45421c1215d9470e341707269" + integrity sha512-p30tuX3VS+NWv9nQot9xIGAHBXR0+xJVaZriEsHoJrASGCJZDJ8JLNM0YqKqI0AKm6Uxaa1VUHoNEibxRCMQHA== + dependencies: + array-includes "^3.1.1" + array.prototype.flatmap "^1.2.3" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.4.1 || ^3.0.0" + object.entries "^1.1.2" + object.fromentries "^2.0.2" + object.values "^1.1.1" + prop-types "^15.7.2" + resolve "^1.18.1" + string.prototype.matchall "^4.0.2" + eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -1667,6 +2144,114 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-scope@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" + integrity sha1-0Plx3+WcaeDK2mhLI9Sdv4JgDOU= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz#7be1cc70f27a72a76cd14aa698bcabed6890e1cd" + integrity sha1-e+HMcPJ6cqds0UqmmLyr7WiQ4c0= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz#74415ac884874495f78ec2a97349525344c981fa" + integrity sha1-dEFayISHRJX3jsKpc0lSU0TJgfo= + +eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + +eslint-webpack-plugin@2.5.3, eslint-webpack-plugin@^2.5.3: + version "2.5.3" + resolved "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.3.tgz#a125585a1d8bb9c939f2a920a9bc9be4a21cdb58" + integrity sha1-oSVYWh2Luck58qkgqbyb5KIc21g= + dependencies: + "@types/eslint" "^7.2.6" + arrify "^2.0.1" + jest-worker "^26.6.2" + micromatch "^4.0.2" + schema-utils "^3.0.0" + +eslint@^7.18.0: + version "7.18.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz#7fdcd2f3715a41fe6295a16234bd69aed2c75e67" + integrity sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ== + dependencies: + "@babel/code-frame" "^7.0.0" + "@eslint/eslintrc" "^0.3.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.2.0" + esutils "^2.0.2" + file-entry-cache "^6.0.0" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.20" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.4" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + esprima@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" @@ -1677,6 +2262,13 @@ esprima@^4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== +esquery@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" + integrity sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc= + dependencies: + estraverse "^5.1.0" + esrecurse@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" @@ -1684,6 +2276,13 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + estraverse@^4.1.0, estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" @@ -1694,6 +2293,16 @@ estraverse@^4.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= +estraverse@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" + integrity sha1-N0MJ05/ZNa5QDnuS6Ka0xyDllkI= + +estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + esutils@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" @@ -1894,16 +2503,40 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= + +fast-glob@^3.1.1: + version "3.2.5" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= -fast-levenshtein@~2.0.4: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastq@^1.6.0: + version "1.10.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz#74dbefccade964932cdf500473ef302719c652bb" + integrity sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA== + dependencies: + reusify "^1.0.4" + fb-watchman@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" @@ -1928,6 +2561,13 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== +file-entry-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" + integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== + dependencies: + flat-cache "^3.0.4" + fileset@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" @@ -2015,6 +2655,19 @@ findup-sync@~0.3.0: dependencies: glob "~5.0.0" +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" + integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -2108,6 +2761,11 @@ function-bind@^1.0.2, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -2131,6 +2789,15 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.1, get-intrinsic@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49" + integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -2158,6 +2825,13 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" +glob-parent@^5.0.0, glob-parent@^5.1.0: + version "5.1.1" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + dependencies: + is-glob "^4.0.1" + glob@^7.0.3, glob@^7.1.2, glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" @@ -2251,6 +2925,25 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50" integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ== +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= + dependencies: + type-fest "^0.8.1" + +globby@^11.0.1: + version "11.0.2" + resolved "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" + integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + graceful-fs@^4.1.11, graceful-fs@^4.1.15: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" @@ -2274,13 +2967,14 @@ gzip-size@^5.0.0: pify "^4.0.1" handlebars@^4.0.11: - version "4.1.0" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.0.tgz#0d6a6f34ff1f63cecec8423aa4169827bf787c3a" - integrity sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w== + version "4.7.6" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" + integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== dependencies: - async "^2.5.0" - optimist "^0.6.1" + minimist "^1.2.5" + neo-async "^2.6.0" source-map "^0.6.1" + wordwrap "^1.0.0" optionalDependencies: uglify-js "^3.1.4" @@ -2307,11 +3001,21 @@ has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= + has-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= +has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= + has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -2506,6 +3210,32 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +import-fresh@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY= + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + import-local@2.0.0, import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" @@ -2552,6 +3282,15 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" +internal-slot@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" + integrity sha1-nC6fs82OXkJWxvRf4xAGf8+jeKM= + dependencies: + es-abstract "^1.17.0-next.1" + has "^1.0.3" + side-channel "^1.0.2" + interpret@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" @@ -2617,6 +3356,16 @@ is-callable@^1.1.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.1.5: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" + integrity sha1-gzNlYLVKOONeOi33r9BFTWkUaLs= + +is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -2624,6 +3373,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-core-module@^2.1.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -2687,6 +3443,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + is-generator-fn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.0.0.tgz#038c31b774709641bda678b1f06a4e3227c10b3e" @@ -2699,13 +3460,18 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0: +is-glob@^4.0.0, is-glob@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -2729,10 +3495,29 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" +is-regex@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" + integrity sha1-7OOOOJ5JDfDcIcrqK9WW+Yf3Z/8= + dependencies: + has-symbols "^1.0.1" + +is-regex@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== + dependencies: + has-symbols "^1.0.1" + is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y= + is-symbol@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" @@ -2944,6 +3729,16 @@ jest-diff@^24.0.0: jest-get-type "^24.0.0" pretty-format "^24.0.0" +jest-diff@^24.3.0: + version "24.9.0" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha1-kxt9DVd4obr3RSy4FuMl43JAVdo= + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + jest-docblock@^24.0.0: version "24.0.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.0.0.tgz#54d77a188743e37f62181a91a01eb9222289f94e" @@ -2983,6 +3778,11 @@ jest-get-type@^24.0.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.0.0.tgz#36e72930b78e33da59a4f63d44d332188278940b" integrity sha512-z6/Eyf6s9ZDGz7eOvl+fzpuJmN9i0KyTt1no37/dHu8galssxz5ZEgnc1KaV8R31q1khxyhB4ui/X5ZjjPk77w== +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4= + jest-haste-map@^24.0.0: version "24.0.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.0.0.tgz#e9ef51b2c9257384b4d6beb83bd48c65b37b5e6e" @@ -3182,6 +3982,15 @@ jest-worker@^24.0.0: merge-stream "^1.0.1" supports-color "^6.1.0" +jest-worker@^26.6.2: + version "26.6.2" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha1-f3LLxNZDw2Xie5/XdfnQ6qnHqO0= + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + jest@^24.1.0: version "24.1.0" resolved "https://registry.yarnpkg.com/jest/-/jest-24.1.0.tgz#b1e1135caefcf2397950ecf7f90e395fde866fd2" @@ -3220,6 +4029,11 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= +jsdoctypeparser@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz#8c97e2fb69315eb274b0f01377eaa5c940bd7b26" + integrity sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw== + jsdom@^11.5.1: version "11.12.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" @@ -3267,11 +4081,21 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -3305,6 +4129,14 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.2.0" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" + integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== + dependencies: + array-includes "^3.1.2" + object.assign "^4.1.2" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -3349,6 +4181,14 @@ leven@^2.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4= + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -3412,6 +4252,11 @@ lodash@^4.17.15: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +lodash@^4.17.20: + version "4.17.20" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + lodash@^4.6.1: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" @@ -3436,6 +4281,13 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + make-dir@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -3539,6 +4391,16 @@ merge-stream@^1.0.1: dependencies: readable-stream "^2.0.1" +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + merge@^1.1.3: version "1.2.0" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" @@ -3566,9 +4428,9 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.0: +micromatch@^4.0.0, micromatch@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== dependencies: braces "^3.0.1" @@ -3661,9 +4523,10 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@^1.1.1, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== minimist@~0.0.1: version "0.0.10" @@ -3733,6 +4596,11 @@ ms@2.1.1, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + nan@^2.12.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" @@ -3782,10 +4650,10 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== nice-try@^1.0.4: version "1.0.5" @@ -3963,6 +4831,21 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-inspect@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc= + +object-inspect@^1.9.0: + version "1.9.0" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== + +object-keys@^1.0.11, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= + object-keys@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" @@ -3979,6 +4862,46 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" +object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.entries@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" + integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + has "^1.0.3" + +object.fromentries@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" + integrity sha1-SgnJubs4Q90PiazbUXp5TU81Wsk= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" @@ -3994,6 +4917,16 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" +object.values@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -4011,7 +4944,7 @@ opener@^1.5.1: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== -optimist@^0.6.1, optimist@~0.6.0: +optimist@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" dependencies: @@ -4030,6 +4963,18 @@ optionator@^0.8.1: type-check "~0.3.2" wordwrap "~1.0.0" +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk= + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -4119,6 +5064,13 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= + dependencies: + callsites "^3.0.0" + parse-asn1@^5.0.0: version "5.1.5" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" @@ -4187,6 +5139,11 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= + path-parse@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" @@ -4207,6 +5164,11 @@ path-type@^3.0.0: dependencies: pify "^3.0.0" +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + path@0.12.7: version "0.12.7" resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" @@ -4235,6 +5197,11 @@ picomatch@^2.0.5: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== +picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -4328,6 +5295,11 @@ postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.5, postcss@^7.0. source-map "^0.6.1" supports-color "^6.1.0" +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y= + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -4341,6 +5313,16 @@ pretty-format@^24.0.0: ansi-regex "^4.0.0" ansi-styles "^3.2.0" +pretty-format@^24.9.0: + version "24.9.0" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k= + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" @@ -4353,6 +5335,11 @@ process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= + promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" @@ -4380,10 +5367,10 @@ prop-types@^15.5.4: loose-envify "^1.3.1" object-assign "^4.1.1" -prop-types@^15.6.2: +prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU= dependencies: loose-envify "^1.4.0" object-assign "^4.1.1" @@ -4552,10 +5539,10 @@ react-dom@16.11.0: prop-types "^15.6.2" scheduler "^0.17.0" -react-is@^16.8.1: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz#b85dfecd48ad1ce469ff558a882ca8e8313928fa" - integrity sha512-gbBVYR2p8mnriqAwWx9LbuUrShnAuSCNnuPGyc7GJrMVQtPDAh8iLpv7FRuMPFb56KkaVZIYSz1PrjI9q0QPCw== +react-is@^16.8.1, react-is@^16.8.4: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= react-proxy@^1.1.7: version "1.1.8" @@ -4646,6 +5633,24 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexp.prototype.flags@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha1-erqJs8E6ZFCdq888qNn7ub31y3U= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI= + +regextras@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.7.1.tgz#be95719d5f43f9ef0b9fa07ad89b7c606995a3b2" + integrity sha1-vpVxnV9D+e8Ln6B62Jt8YGmVo7I= + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -4705,6 +5710,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" @@ -4735,6 +5745,11 @@ resolve-from@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" integrity sha1-six699nWiBvItuZTM17rywoYh0g= +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -4752,6 +5767,14 @@ resolve@1.x, resolve@^1.10.0: dependencies: path-parse "^1.0.6" +resolve@^1.18.1: + version "1.19.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + resolve@^1.3.2: version "1.7.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" @@ -4762,11 +5785,10 @@ ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" -rimraf@^2.4.4, rimraf@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - dependencies: - glob "^7.0.5" +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rimraf@^2.5.4, rimraf@^2.6.2: version "2.6.3" @@ -4775,6 +5797,12 @@ rimraf@^2.5.4, rimraf@^2.6.2: dependencies: glob "^7.1.3" +rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -4782,6 +5810,13 @@ rimraf@^2.6.3: dependencies: glob "^7.1.3" +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -4795,6 +5830,11 @@ rsvp@^3.3.3: resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== +run-parallel@^1.1.9: + version "1.1.10" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== + run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" @@ -4880,6 +5920,15 @@ schema-utils@^2.0.0, schema-utils@^2.0.1: ajv "^6.10.2" ajv-keywords "^3.4.1" +schema-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" + integrity sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8= + dependencies: + "@types/json-schema" "^7.0.6" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + "semver@2 || 3 || 4 || 5", semver@^5.5, semver@^5.5.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" @@ -4899,6 +5948,18 @@ semver@^6.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.2.1, semver@^7.3.2: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg= + +semver@^7.3.4: + version "7.3.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" @@ -5016,16 +6077,36 @@ shebang-command@^1.2.0: dependencies: shebang-regex "^1.0.0" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= + dependencies: + shebang-regex "^3.0.0" + shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= + shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== +side-channel@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" + integrity sha1-310auttOS/SvHNiFK/Ey0veHaUc= + dependencies: + es-abstract "^1.17.0-next.1" + object-inspect "^1.7.0" + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -5040,6 +6121,20 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -5124,6 +6219,7 @@ source-map@^0.5.0, source-map@^0.5.6: source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== sourcemapped-stacktrace@^1.1.6: version "1.1.8" @@ -5152,6 +6248,14 @@ spdx-expression-parse@^3.0.0: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" +spdx-expression-parse@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk= + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + spdx-license-ids@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" @@ -5284,6 +6388,77 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.matchall@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" + integrity sha1-SLtRAyb7n962ozzqqBpuoE73ZI4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0" + has-symbols "^1.0.1" + internal-slot "^1.0.2" + regexp.prototype.flags "^1.3.0" + side-channel "^1.0.2" + +string.prototype.trimend@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimend@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" + integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +string.prototype.trimleft@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" + integrity sha1-RAiqLl1t3QyagHObCH+8BnwDs8w= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimstart "^1.0.0" + +string.prototype.trimright@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" + integrity sha1-x28c7zDyG7rYr+uNsVEUls+w8qM= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimend "^1.0.0" + +string.prototype.trimstart@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimstart@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" + integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + string_decoder@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -5324,6 +6499,13 @@ strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= + dependencies: + ansi-regex "^5.0.0" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -5337,6 +6519,16 @@ strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" +strip-json-comments@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" + integrity sha1-djjTFCISns9EV0QACfugP5+awYA= + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + style-loader@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" @@ -5362,11 +6554,35 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^7.0.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= + dependencies: + has-flag "^4.0.0" + +supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E= + dependencies: + has-flag "^4.0.0" + symbol-tree@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= +table@^6.0.4: + version "6.0.7" + resolved "https://registry.npmjs.org/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" + integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== + dependencies: + ajv "^7.0.2" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -5418,6 +6634,11 @@ test-exclude@^5.0.0: read-pkg-up "^4.0.0" require-main-filename "^1.0.1" +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + throat@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" @@ -5607,16 +6828,6 @@ tslint-eslint-rules@4.0.0: tslib "^1.0.0" tsutils "^1.4.0" -tslint-loader@^3.3.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/tslint-loader/-/tslint-loader-3.6.0.tgz#12ed4d5ef57d68be25cd12692fb2108b66469d76" - dependencies: - loader-utils "^1.0.2" - mkdirp "^0.5.1" - object-assign "^4.1.1" - rimraf "^2.4.4" - semver "^5.3.0" - tslint-microsoft-contrib@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/tslint-microsoft-contrib/-/tslint-microsoft-contrib-4.0.1.tgz#9e201a1639f5859658ffcf2b4dcbb19992f8e6c0" @@ -5678,6 +6889,13 @@ tsutils@^2.29.0: dependencies: tslib "^1.8.1" +tsutils@^3.17.1: + version "3.17.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha1-7XGZF/EcoN7lhicrKsSeAVot11k= + dependencies: + tslib "^1.8.1" + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -5694,6 +6912,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE= + dependencies: + prelude-ls "^1.2.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -5701,6 +6926,11 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= + type-is@~1.6.15, type-is@~1.6.16: version "1.6.16" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" @@ -5721,6 +6951,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typescript@3.3.3: + version "3.3.3" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/typescript/-/typescript-3.3.3.tgz#f1657fc7daa27e1a8930758ace9ae8da31403221" + integrity sha1-8WV/x9qifhqJMHWKzpro2jFAMiE= + typescript@3.6.4: version "3.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d" @@ -5731,12 +6966,9 @@ ua-parser-js@^0.7.9: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" uglify-js@^3.1.4: - version "3.4.9" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3" - integrity sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q== - dependencies: - commander "~2.17.1" - source-map "~0.6.1" + version "3.12.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.12.4.tgz#93de48bb76bb3ec0fc36563f871ba46e2ee5c7ee" + integrity sha512-L5i5jg/SHkEqzN18gQMTWsZk3KelRsfD1wUVNqtq0kzqWQqcJjyL8yc1o8hJgRrWqrAl2mUFbhfznEIoi7zi2A== union-value@^1.0.0: version "1.0.0" @@ -5850,6 +7082,11 @@ v8-compile-cache@2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== +v8-compile-cache@^2.0.3: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" + integrity sha1-VLw83UMxe8qR413K8wWxpyN950U= + v8flags@^2.0.11: version "2.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" @@ -6065,21 +7302,33 @@ which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: dependencies: isexe "^2.0.0" +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= + dependencies: + isexe "^2.0.0" + wide-align@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" dependencies: string-width "^1.0.2" -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= -wordwrap@~1.0.0: +wordwrap@^1.0.0, wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" @@ -6154,6 +7403,11 @@ yallist@^3.0.0, yallist@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + yargs-parser@10.x: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" From c8e19a8c4a1ed2c43a38e7e01471aa222372118c Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Sun, 4 Apr 2021 11:48:10 +0300 Subject: [PATCH 15/32] =?UTF-8?q?don=E2=80=99t=20build=20focal=20on=20post?= =?UTF-8?q?-install?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 1a5702b..f6fe751 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,6 @@ "package": "yarn workspace @grammarly/focal pack && yarn workspace @grammarly/focal-atom pack", "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && sh ./scripts/release.sh", "test": "yarn workspace @grammarly/focal-atom test && yarn workspace @grammarly/focal test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", - "postinstall": "yarn build", "bump-version": "sh ./scripts/release.sh" }, "devDependencies": { From c225c96c5e3936542b1287099896e5e27d68e7cb Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Sun, 4 Apr 2021 11:48:56 +0300 Subject: [PATCH 16/32] use bash script to do packaging --- package.json | 4 ++-- scripts/bump-version.sh | 34 ++++++++++++++++++++++++++++++++++ scripts/pack.sh | 16 ++++++++++++++++ scripts/release.sh | 36 ------------------------------------ 4 files changed, 52 insertions(+), 38 deletions(-) create mode 100644 scripts/bump-version.sh create mode 100644 scripts/pack.sh delete mode 100644 scripts/release.sh diff --git a/package.json b/package.json index f6fe751..0382272 100644 --- a/package.json +++ b/package.json @@ -15,10 +15,10 @@ "lint:test": "yarn workspace focal-manual-tests lint", "lint:todomvc": "yarn workspace focal-todomvc lint", "lint:examples": "yarn workspace focal-examples lint", - "package": "yarn workspace @grammarly/focal pack && yarn workspace @grammarly/focal-atom pack", + "package": "sh ./scripts/pack.sh", "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && sh ./scripts/release.sh", "test": "yarn workspace @grammarly/focal-atom test && yarn workspace @grammarly/focal test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", - "bump-version": "sh ./scripts/release.sh" + "bump-version": "sh ./scripts/bump-version.sh" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.14.0", diff --git a/scripts/bump-version.sh b/scripts/bump-version.sh new file mode 100644 index 0000000..c4e0b1b --- /dev/null +++ b/scripts/bump-version.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +BASEDIR="$(cd "$(dirname "$0")/.."; pwd)"; +if ! [[ $(git rev-parse --abbrev-ref HEAD) == \"master\" ]]; then + echo \"Not on the master branch.\" && exit 1; +fi + +if [[ "$VER" == "" ]]; then + echo "Usage: VER=1.2.3 npm run release"; +fi + +echo Bumping version to v${VER}... + +cd packages/focal && yarn version --new-version $VER --no-git-tag-version && cd ../.. +sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/all/package.json +sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/todomvc/package.json +sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/test/package.json + +echo Bumping version to v${VER}... + +cd packages/focal-atom && yarn version --new-version $VER --no-git-tag-version && cd ../.. +sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/all/package.json +sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/todomvc/package.json +sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/test/package.json + +# update yarn.lock +yarn + +# commit changes +git add . +git commit -m "v$VER" + +# push changes and tag +git push && git push --tags diff --git a/scripts/pack.sh b/scripts/pack.sh new file mode 100644 index 0000000..47a1266 --- /dev/null +++ b/scripts/pack.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +echo Packaging... + +cp ./README.md ./packages/focal/README.md && cp ./README.md ./packages/focal-atom/README.md +cp ./LICENSE ./packages/focal/LICENSE && cp ./LICENSE ./packages/focal-atom/LICENSE +# Copy AUTHORS, so it will be used as value for "contributors" in package.json +cp ./AUTHORS ./packages/focal/AUTHORS && cp ./AUTHORS ./packages/focal-atom/AUTHORS + +cd ./packages/focal && npm pack && cd ../.. +cd ./packages/focal-atom && npm pack && cd ../.. +# yarn workspace @grammarly/focal-atom pack + +rm -rf ./packages/focal/README.md && rm -rf ./packages/focal-atom/README.md +rm -rf ./packages/focal/LICENSE && rm -rf ./packages/focal-atom/LICENSE +rm -rf ./packages/focal/AUTHORS && rm -rf ./packages/focal-atom/AUTHORS diff --git a/scripts/release.sh b/scripts/release.sh deleted file mode 100644 index 1c931f2..0000000 --- a/scripts/release.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -BASEDIR="$(cd "$(dirname "$0")/.."; pwd)"; -if ! [[ $(git rev-parse --abbrev-ref HEAD) == \"master\" ]]; then - echo \"Not on the master branch.\" && exit 1; -fi - -if [[ "$VER" == "" ]]; then - echo "Usage: VER=1.2.3 npm run release"; -fi - -echo Publishing v${VER}... - -cp ./README.md ./packages/focal/README.md && cp ./README.md ./packages/focal-atom/README.md -cp ./LICENSE ./packages/focal/LICENSE && cp ./LICENSE ./packages/focal-atom/LICENSE -# Copy AUTHORS, so it will be used as value for "contributors" in package.json -cp ./LICENSE ./packages/focal/AUTHORS && cp ./LICENSE ./packages/focal-atom/AUTHORS - -echo "Publishing @grammarly/focal-atom with '$VER'" -cd $BASEDIR/packages/focal-atom && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-atom-v$VER.tgz --access public --dry-run -cd $BASEDIR/packages/focal && npm publish https://github.com/grammarly/focal/releases/download/v$VER/grammarly-focal-v$VER.tgz --access public --dry-run - -rm -rf $BASEDIR/packages/focal/README.md && rm -rf $BASEDIR/packages/focal-atom/README.md -rm -rf $BASEDIR/packages/focal/LICENSE && rm -rf $BASEDIR/packages/focal-atom/LICENSE -rm -rf $BASEDIR/packages/focal/AUTHORS && rm -rf $BASEDIR/packages/focal-atom/AUTHORS - -cd packages/focal && yarn version --new-version $VER --no-git-tag-version && cd ../.. -sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/all/package.json -sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/todomvc/package.json -sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/test/package.json -# yarn -git add . -git commit -m "v$VER" - - -git push && git push --tags From e6e98d3ba929ab9ae7446de363239f1fcf1f0fe6 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Sun, 4 Apr 2021 11:50:27 +0300 Subject: [PATCH 17/32] fix typos in release Readme workflow --- .github/workflows/Readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Readme.md b/.github/workflows/Readme.md index 3e700e7..ec61103 100644 --- a/.github/workflows/Readme.md +++ b/.github/workflows/Readme.md @@ -2,12 +2,12 @@ ## Release -1. Create pull-request for relese "Release vX.X.X" +1. Create a pull request for release "Release vX.X.X" 2. Run in root `yarn bump-release X.X.X` -3. yarn bump-release will bump focal version, update deps in private packages and create a commit +3. run `yarn bump-release` to bump focal version, update dependancies in private packages and create a commit 4. Merge and manually create [GitHub Release](https://github.com/grammarly/focal/releases) -5. On release "publish" GitHub Actions will trigger build and attach tarball to "Release". For details see `release.yml` +5. On release, "publish" GitHub Actions will trigger build and attach tarball to "Release". For details, see `release.yml` ## Tests -For each push into pull_reusets CI runs tests. Check `tests.yml` for details. +For each push into pull_request, CI runs tests. Check `tests.yml` for details. From 23a373f07d1a7ae065ddf1e342b93adbb5386c3d Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Sun, 4 Apr 2021 12:09:50 +0300 Subject: [PATCH 18/32] use prepack and postpack to copy License and Readme --- packages/focal-atom/package.json | 5 ++++- scripts/pack.sh | 5 +---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/focal-atom/package.json b/packages/focal-atom/package.json index 1918618..8920cc4 100644 --- a/packages/focal-atom/package.json +++ b/packages/focal-atom/package.json @@ -26,7 +26,10 @@ "build": "npm run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && npm run lint", "test": "jest", "test:watch": "jest --watch", - "lint": "tslint --type-check --project tsconfig.json -c tslint.json" + "lint": "tslint --type-check --project tsconfig.json -c tslint.json", + "prepack": "cp ../../README.md ./ && cp ../../LICENSE ./", + "postpack": "rm README.md && rm LICENSE" + }, "author": "Sergey Yavnyi ", "keywords": [ diff --git a/scripts/pack.sh b/scripts/pack.sh index 47a1266..57adcc3 100644 --- a/scripts/pack.sh +++ b/scripts/pack.sh @@ -2,15 +2,12 @@ echo Packaging... -cp ./README.md ./packages/focal/README.md && cp ./README.md ./packages/focal-atom/README.md -cp ./LICENSE ./packages/focal/LICENSE && cp ./LICENSE ./packages/focal-atom/LICENSE # Copy AUTHORS, so it will be used as value for "contributors" in package.json +# TODO: That doesn't work, find a better way to setup contributors cp ./AUTHORS ./packages/focal/AUTHORS && cp ./AUTHORS ./packages/focal-atom/AUTHORS cd ./packages/focal && npm pack && cd ../.. cd ./packages/focal-atom && npm pack && cd ../.. # yarn workspace @grammarly/focal-atom pack -rm -rf ./packages/focal/README.md && rm -rf ./packages/focal-atom/README.md -rm -rf ./packages/focal/LICENSE && rm -rf ./packages/focal-atom/LICENSE rm -rf ./packages/focal/AUTHORS && rm -rf ./packages/focal-atom/AUTHORS From 7e6b3722c20e9f0d6c9acae52209ce0bf52245e2 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Sun, 4 Apr 2021 12:15:34 +0300 Subject: [PATCH 19/32] fix yarn.lock --- yarn.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/yarn.lock b/yarn.lock index 398453c..35227e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -160,7 +160,7 @@ "@jest/types@^24.9.0": version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" integrity sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk= dependencies: "@types/istanbul-lib-coverage" "^2.0.0" @@ -208,19 +208,19 @@ "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.3" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" integrity sha1-S6jdtyAiH0MuRDvV+RF/0iz9R2I= "@types/istanbul-lib-report@*": version "3.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" integrity sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY= dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^1.1.1": version "1.1.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" integrity sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI= dependencies: "@types/istanbul-lib-coverage" "*" @@ -240,7 +240,7 @@ "@types/jest@^24.0.0": version "24.9.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" integrity sha1-Arr5Vzx48bmXSl82d4s2aqd71TQ= dependencies: jest-diff "^24.3.0" @@ -290,12 +290,12 @@ "@types/yargs-parser@*": version "20.2.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" integrity sha1-3T5mmboyN/A0jNCF5GmHgCBIQvk= "@types/yargs@^13.0.0": version "13.0.11" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/yargs/-/yargs-13.0.11.tgz#def2f0c93e4bdf2c61d7e34899b17e34be28d3b1" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.11.tgz#def2f0c93e4bdf2c61d7e34899b17e34be28d3b1" integrity sha1-3vLwyT5L3yxh1+NImbF+NL4o07E= dependencies: "@types/yargs-parser" "*" @@ -1829,7 +1829,7 @@ diff-sequences@^24.0.0: diff-sequences@^24.9.0: version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= diff@^3.1.0, diff@^3.2.0: @@ -3731,7 +3731,7 @@ jest-diff@^24.0.0: jest-diff@^24.3.0: version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" integrity sha1-kxt9DVd4obr3RSy4FuMl43JAVdo= dependencies: chalk "^2.0.1" @@ -3780,7 +3780,7 @@ jest-get-type@^24.0.0: jest-get-type@^24.9.0: version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4= jest-haste-map@^24.0.0: @@ -5315,7 +5315,7 @@ pretty-format@^24.0.0: pretty-format@^24.9.0: version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" integrity sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k= dependencies: "@jest/types" "^24.9.0" @@ -6953,7 +6953,7 @@ typedarray@^0.0.6: typescript@3.3.3: version "3.3.3" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/typescript/-/typescript-3.3.3.tgz#f1657fc7daa27e1a8930758ace9ae8da31403221" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3.tgz#f1657fc7daa27e1a8930758ace9ae8da31403221" integrity sha1-8WV/x9qifhqJMHWKzpro2jFAMiE= typescript@3.6.4: From e941d4bdc5a7e3307e008d75abdddc1866d2c300 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Tue, 6 Apr 2021 19:56:16 +0300 Subject: [PATCH 20/32] move AUTHORS to package.json --- AUTHORS | 11 -------- packages/focal-atom/package.json | 46 ++++++++++++++++++++++++++++++++ packages/focal/package.json | 46 ++++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+), 11 deletions(-) delete mode 100644 AUTHORS diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index 441b930..0000000 --- a/AUTHORS +++ /dev/null @@ -1,11 +0,0 @@ -Sergey Yavnyi -Valentyn Gaidylo -Igor Kononuchenko -Alisa Mansurova -Eugene Chechuryn -Yaroslav Voloshchuk -Sergey Rudenko -Gregory Shehet -Anton Verinov -Oleksii Levzhynskyi -Vladyslav Bozhko diff --git a/packages/focal-atom/package.json b/packages/focal-atom/package.json index 8920cc4..1aa297e 100644 --- a/packages/focal-atom/package.json +++ b/packages/focal-atom/package.json @@ -32,6 +32,52 @@ }, "author": "Sergey Yavnyi ", + "contributors": [ + { + "name": "Sergey Yavnyi", + "email": "sergey.yavnyi@grammarly.com" + }, + { + "name": "Valentyn Gaidylo", + "email": "valentyn.gaidylo@grammarly.com" + }, + { + "name": "Igor Kononuchenko", + "email": "igor.kononuchenko@grammarly.com" + }, + { + "name": "Alisa Mansurova", + "email": "alisa.mansurova@grammarly.com" + }, + { + "name": "Eugene Chechuryn", + "email": "eugene.chechuryn@grammarly.com" + }, + { + "name": "Yaroslav Voloshchuk", + "email": "yaroslav.voloshchuk@grammarly.com" + }, + { + "name": "Sergey Rudenko", + "email": "sergey.rudenko@grammarly.com" + }, + { + "name": "Gregory Shehet", + "email": "gregory.shehet@grammarly.com" + }, + { + "name": "Anton Verinov", + "email": "anton@verinov.com" + }, + { + "name": "Oleksii Levzhynskyi", + "email": "oleksii.levzhynskyi@grammarly.com" + }, + { + "name": "Vladyslav Bozhko", + "email": "vladyslav.bozhko@grammarly.com" + } + ], "keywords": [ "frp", "rx", diff --git a/packages/focal/package.json b/packages/focal/package.json index 2bc55a9..cd7e75a 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -34,6 +34,52 @@ "postpack": "rm README.md && rm LICENSE" }, "author": "Sergey Yavnyi ", + "contributors": [ + { + "name": "Sergey Yavnyi", + "email": "sergey.yavnyi@grammarly.com" + }, + { + "name": "Valentyn Gaidylo", + "email": "valentyn.gaidylo@grammarly.com" + }, + { + "name": "Igor Kononuchenko", + "email": "igor.kononuchenko@grammarly.com" + }, + { + "name": "Alisa Mansurova", + "email": "alisa.mansurova@grammarly.com" + }, + { + "name": "Eugene Chechuryn", + "email": "eugene.chechuryn@grammarly.com" + }, + { + "name": "Yaroslav Voloshchuk", + "email": "yaroslav.voloshchuk@grammarly.com" + }, + { + "name": "Sergey Rudenko", + "email": "sergey.rudenko@grammarly.com" + }, + { + "name": "Gregory Shehet", + "email": "gregory.shehet@grammarly.com" + }, + { + "name": "Anton Verinov", + "email": "anton@verinov.com" + }, + { + "name": "Oleksii Levzhynskyi", + "email": "oleksii.levzhynskyi@grammarly.com" + }, + { + "name": "Vladyslav Bozhko", + "email": "vladyslav.bozhko@grammarly.com" + } + ], "keywords": [ "frp", "rx", From 8c3e3b703c8db43d09f5f9e1c25a950447d5a22d Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Tue, 6 Apr 2021 20:00:25 +0300 Subject: [PATCH 21/32] remove pack.sh as it no longer needed --- package.json | 3 +-- scripts/pack.sh | 13 ------------- 2 files changed, 1 insertion(+), 15 deletions(-) delete mode 100644 scripts/pack.sh diff --git a/package.json b/package.json index 0382272..a0ec038 100644 --- a/package.json +++ b/package.json @@ -15,9 +15,8 @@ "lint:test": "yarn workspace focal-manual-tests lint", "lint:todomvc": "yarn workspace focal-todomvc lint", "lint:examples": "yarn workspace focal-examples lint", - "package": "sh ./scripts/pack.sh", - "release": "echo Publishing v${VER:?\"Usage: VER=1.2.3 npm run release\"}... && sh ./scripts/release.sh", "test": "yarn workspace @grammarly/focal-atom test && yarn workspace @grammarly/focal test && yarn workspace focal-todomvc build && yarn workspace focal-examples build && yarn workspace focal-manual-tests build", + "package": "yarn workspace @grammarly/focal-atom pack && yarn workspace @grammarly/focal pack", "bump-version": "sh ./scripts/bump-version.sh" }, "devDependencies": { diff --git a/scripts/pack.sh b/scripts/pack.sh deleted file mode 100644 index 57adcc3..0000000 --- a/scripts/pack.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -echo Packaging... - -# Copy AUTHORS, so it will be used as value for "contributors" in package.json -# TODO: That doesn't work, find a better way to setup contributors -cp ./AUTHORS ./packages/focal/AUTHORS && cp ./AUTHORS ./packages/focal-atom/AUTHORS - -cd ./packages/focal && npm pack && cd ../.. -cd ./packages/focal-atom && npm pack && cd ../.. -# yarn workspace @grammarly/focal-atom pack - -rm -rf ./packages/focal/AUTHORS && rm -rf ./packages/focal-atom/AUTHORS From afe3f6ad376e067944b92b9d20ef6cec8e32935c Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Tue, 6 Apr 2021 20:01:37 +0300 Subject: [PATCH 22/32] sync focal and focal-atom versions --- packages/focal-atom/package.json | 2 +- packages/focal/package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/focal-atom/package.json b/packages/focal-atom/package.json index 1aa297e..74565bd 100644 --- a/packages/focal-atom/package.json +++ b/packages/focal-atom/package.json @@ -1,6 +1,6 @@ { "name": "@grammarly/focal-atom", - "version": "0.8.1", + "version": "0.8.5", "description": "FRP Atom: observables, immutable data and lenses", "main": "dist/_cjs/src/index.js", "module": "dist/_esm5/src/index.js", diff --git a/packages/focal/package.json b/packages/focal/package.json index cd7e75a..0c47b77 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -96,7 +96,7 @@ }, "dependencies": {}, "devDependencies": { - "@grammarly/focal-atom": "^0.8.1", + "@grammarly/focal-atom": "^0.8.5", "@types/jest": "24.0.20", "@types/node": "^6.0.34", "@types/react": "16.9.11", @@ -111,7 +111,7 @@ "peerDependencies": { "@types/react": ">= 16.9.11 < 17.0.0-0", "@types/react-dom": ">= 16.9.3 < 17.0.0-0", - "@grammarly/focal-atom": ">= 0.8.1 < 0.9.0.0-0", + "@grammarly/focal-atom": ">= 0.8.5 < 0.9.0.0-0", "react": ">= 16.11.0 < 17.0.0-0", "react-dom": ">= 16.11.0 < 17.0.0-0", "rxjs": ">= 6.3.3 < 7.0.0-0" From 6c7998daed872d1d8273a559b944cc8189d47bde Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Tue, 6 Apr 2021 20:04:11 +0300 Subject: [PATCH 23/32] update release scripts --- .github/workflows/Readme.md | 2 +- .github/workflows/release.yml | 16 ++++++++++++---- scripts/bump-version.sh | 11 +++++++---- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/.github/workflows/Readme.md b/.github/workflows/Readme.md index ec61103..bae1a5d 100644 --- a/.github/workflows/Readme.md +++ b/.github/workflows/Readme.md @@ -4,7 +4,7 @@ 1. Create a pull request for release "Release vX.X.X" 2. Run in root `yarn bump-release X.X.X` -3. run `yarn bump-release` to bump focal version, update dependancies in private packages and create a commit +3. run `yarn bump-release` to bump focal and focal-atom version, update dependancies in private packages and create a commit 4. Merge and manually create [GitHub Release](https://github.com/grammarly/focal/releases) 5. On release, "publish" GitHub Actions will trigger build and attach tarball to "Release". For details, see `release.yml` diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4a400ca..df4f86f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,17 +13,25 @@ jobs: id: branch_name run: | echo ::set-output name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/} - echo ::set-output name=TARBALL::grammarly-focal-${GITHUB_REF#refs/tags/}.tgz + echo ::set-output name=TARBALL_FOCAL::grammarly-focal-${GITHUB_REF#refs/tags/}.tgz + echo ::set-output name=TARBALL_FOCAL_ATOM::grammarly-focal-atom-${GITHUB_REF#refs/tags/}.tgz - name: Checkout code uses: actions/checkout@v2 - run: yarn install - run: yarn build - run: yarn test - run: yarn package - - name: Upload binaries to release + - name: Upload @grammarly/focal binaries to release uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ./packages/focal/${{ steps.branch_name.outputs.TARBALL }} - asset_name: ${{ steps.branch_name.outputs.TARBALL }} + file: ./packages/focal/${{ steps.branch_name.outputs.TARBALL_FOCAL }} + asset_name: ${{ steps.branch_name.outputs.TARBALL_FOCAL }} + tag: ${{ github.ref }} + - name: Upload @grammarly/focal-atom binaries to release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ./packages/focal-atom/${{ steps.branch_name.outputs.TARBALL_FOCAL_ATOM }} + asset_name: ${{ steps.branch_name.outputs.TARBALL_FOCAL_ATOM }} tag: ${{ github.ref }} diff --git a/scripts/bump-version.sh b/scripts/bump-version.sh index d83e619..468d6c3 100644 --- a/scripts/bump-version.sh +++ b/scripts/bump-version.sh @@ -1,5 +1,7 @@ #!/bin/bash +VER=$1 + echo Bumping version to v${VER}... cd packages/focal && yarn version --new-version $VER --no-git-tag-version && cd ../.. @@ -10,12 +12,13 @@ sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/te echo Bumping version to v${VER}... cd packages/focal-atom && yarn version --new-version $VER --no-git-tag-version && cd ../.. -sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/all/package.json -sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/todomvc/package.json -sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/test/package.json +sed -i '' 's/grammarly\/focal-atom":.*$/grammarly\/focal-atom": "'${VER}'",/g' packages/focal/package.json +sed -i '' 's/grammarly\/focal-atom":.*$/grammarly\/focal-atom": "'${VER}'",/g' packages/examples/all/package.json +sed -i '' 's/grammarly\/focal-atom":.*$/grammarly\/focal-atom": "'${VER}'",/g' packages/examples/todomvc/package.json +sed -i '' 's/grammarly\/focal-atom":.*$/grammarly\/focal-atom": "'${VER}'",/g' packages/test/package.json # update yarn.lock -yarn +yarn && yarn test # commit changes git add . From 0e4c3f1ea0af548df037a597c51a68edb3889660 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Tue, 6 Apr 2021 20:18:28 +0300 Subject: [PATCH 24/32] use eslint in focal-atom --- packages/examples/all/package.json | 1 - packages/examples/todomvc/package.json | 1 - packages/focal-atom/.eslintrc.js | 7 + packages/focal-atom/package.json | 4 +- packages/focal-atom/src/utils.ts | 4 +- packages/focal-atom/tslint.json | 6 - yarn.lock | 229 ++----------------------- 7 files changed, 25 insertions(+), 227 deletions(-) create mode 100644 packages/focal-atom/.eslintrc.js delete mode 100644 packages/focal-atom/tslint.json diff --git a/packages/examples/all/package.json b/packages/examples/all/package.json index c5e481e..f796941 100644 --- a/packages/examples/all/package.json +++ b/packages/examples/all/package.json @@ -22,7 +22,6 @@ "license": "Apache-2.0", "devDependencies": { "@grammarly/focal": "0.8.5", - "@grammarly/tslint-config": "0.5.1", "@types/react": "16.9.11", "@types/react-dom": "16.9.3", "css-loader": "^3.2.0", diff --git a/packages/examples/todomvc/package.json b/packages/examples/todomvc/package.json index c4cd06e..639233d 100644 --- a/packages/examples/todomvc/package.json +++ b/packages/examples/todomvc/package.json @@ -22,7 +22,6 @@ "license": "Apache-2.0", "devDependencies": { "@grammarly/focal": "0.8.5", - "@grammarly/tslint-config": "0.5.1", "@types/react": "16.9.11", "@types/react-dom": "16.9.3", "express": "^4.14.0", diff --git a/packages/focal-atom/.eslintrc.js b/packages/focal-atom/.eslintrc.js new file mode 100644 index 0000000..533533f --- /dev/null +++ b/packages/focal-atom/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "parserOptions": { + "project": "./tsconfig.json", + "sourceType": "module", + "tsconfigRootDir": __dirname, + } +} diff --git a/packages/focal-atom/package.json b/packages/focal-atom/package.json index 74565bd..a8b508b 100644 --- a/packages/focal-atom/package.json +++ b/packages/focal-atom/package.json @@ -26,7 +26,7 @@ "build": "npm run clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && npm run lint", "test": "jest", "test:watch": "jest --watch", - "lint": "tslint --type-check --project tsconfig.json -c tslint.json", + "lint": "eslint './src/**/*.ts*' 'test/**/*.ts*' && tsc --noemit", "prepack": "cp ../../README.md ./ && cp ../../LICENSE ./", "postpack": "rm README.md && rm LICENSE" @@ -94,13 +94,11 @@ }, "dependencies": {}, "devDependencies": { - "@grammarly/tslint-config": "0.5.1", "@types/jest": "^24.0.0", "@types/node": "^6.0.34", "jest": "^24.1.0", "rxjs": "6.3.3", "ts-jest": "^23.10.5", - "tslint": "5.2.0", "typescript": "3.3.3" }, "peerDependencies": { diff --git a/packages/focal-atom/src/utils.ts b/packages/focal-atom/src/utils.ts index ec78892..1811601 100644 --- a/packages/focal-atom/src/utils.ts +++ b/packages/focal-atom/src/utils.ts @@ -45,7 +45,9 @@ export function warning(message: string) { // Throw a dummy error so it's possible to enter debugger with // 'break on all exceptions'. - try { throw new Error(message) } catch (_) { /* no-op */ } + try { + throw new Error(message) + } catch (_) { /* no-op */ } } export type Option = T | undefined diff --git a/packages/focal-atom/tslint.json b/packages/focal-atom/tslint.json deleted file mode 100644 index e609ee3..0000000 --- a/packages/focal-atom/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "@grammarly/tslint-config", - "rules": { - "strict-boolean-expressions": [false] - } -} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 35227e7..f4ebd65 100644 --- a/yarn.lock +++ b/yarn.lock @@ -147,17 +147,6 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@grammarly/tslint-config@0.5.1": - version "0.5.1" - resolved "https://registry.yarnpkg.com/@grammarly/tslint-config/-/tslint-config-0.5.1.tgz#4b962f0fbd3cf0b40bd7695069942ba04afb564a" - dependencies: - path "0.12.7" - ts-node "^2.1.0" - tslint "5.2.0" - tslint-eslint-rules "4.0.0" - tslint-microsoft-contrib "4.0.1" - tslint-react "^3.0.0" - "@jest/types@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" @@ -710,10 +699,6 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -830,7 +815,7 @@ array.prototype.flatmap@^1.2.3: es-abstract "^1.18.0-next.1" function-bind "^1.1.1" -arrify@^1.0.0, arrify@^1.0.1: +arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -921,14 +906,6 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== -babel-code-frame@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - babel-jest@^24.1.0: version "24.1.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.1.0.tgz#441e23ef75ded3bd547e300ac3194cef87b55190" @@ -1294,16 +1271,6 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - chalk@^2.0.1, chalk@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.0.tgz#a060a297a6b57e15b61ca63ce84995daa0fe6e52" @@ -1440,10 +1407,6 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= -colors@^1.1.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.1.tgz#f4a3d302976aaf042356ba1ade3b1a2c62d9d794" - combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" @@ -1832,10 +1795,6 @@ diff-sequences@^24.9.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= -diff@^3.1.0, diff@^3.2.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - diff@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" @@ -1857,13 +1816,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -doctrine@^0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" - dependencies: - esutils "^1.1.6" - isarray "0.0.1" - doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -2090,7 +2042,7 @@ escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -2303,10 +2255,6 @@ estraverse@^5.2.0: resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== -esutils@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" - esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -2649,12 +2597,6 @@ findup-sync@3.0.0: micromatch "^3.0.4" resolve-dir "^1.0.1" -findup-sync@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" - dependencies: - glob "~5.0.0" - flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -2867,16 +2809,6 @@ glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@~5.0.0: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - global-modules@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" @@ -2991,12 +2923,6 @@ har-validator@~5.1.0: ajv "^6.5.5" har-schema "^2.0.0" -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -3540,10 +3466,6 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -3999,7 +3921,7 @@ jest@^24.1.0: import-local "^2.0.0" jest-cli "^24.1.0" -js-tokens@^3.0.0, js-tokens@^3.0.2: +js-tokens@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" @@ -4308,10 +4230,6 @@ make-error@1.x: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== -make-error@^1.1.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.4.tgz#19978ed575f9e9545d2ff8c13e33b5d18a67d535" - makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -4513,7 +4431,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -"minimatch@2 || 3", minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -4528,10 +4446,6 @@ minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - minipass@^2.2.1, minipass@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.2.4.tgz#03c824d84551ec38a8d1bb5bc350a5a30a354a40" @@ -4944,13 +4858,6 @@ opener@^1.5.1: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== -optimist@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - optionator@^0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" @@ -5169,13 +5076,6 @@ path-type@^4.0.0: resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -path@0.12.7: - version "0.12.7" - resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" - dependencies: - process "^0.11.1" - util "^0.10.3" - pbkdf2@^3.0.3: version "3.0.17" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" @@ -5211,10 +5111,6 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pinkie@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - pirates@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.0.tgz#850b18781b4ac6ec58a43c9ed9ec5fe6796addbd" @@ -5327,7 +5223,7 @@ process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" -process@^0.11.1, process@^0.11.10: +process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" @@ -6181,12 +6077,6 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.4.0: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - dependencies: - source-map "^0.5.6" - source-map-support@^0.5.6: version "0.5.10" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" @@ -6515,10 +6405,6 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - strip-json-comments@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" @@ -6529,6 +6415,10 @@ strip-json-comments@^3.1.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + style-loader@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" @@ -6544,10 +6434,6 @@ supports-color@6.1.0, supports-color@^6.0.0, supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - supports-color@^5.3.0: version "5.4.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" @@ -6782,77 +6668,20 @@ ts-loader@^6.2.1: micromatch "^4.0.0" semver "^6.0.0" -ts-node@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-2.1.2.tgz#45087b45e7b371b3daf04ecc470ec29a836655ea" - dependencies: - arrify "^1.0.0" - chalk "^1.1.1" - diff "^3.1.0" - make-error "^1.1.1" - minimist "^1.2.0" - mkdirp "^0.5.1" - pinkie "^2.0.4" - source-map-support "^0.4.0" - tsconfig "^6.0.0" - v8flags "^2.0.11" - xtend "^4.0.0" - yn "^1.2.0" - -tsconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032" - dependencies: - strip-bom "^3.0.0" - strip-json-comments "^2.0.0" - -tslib@^1.0.0, tslib@^1.6.0, tslib@^1.8.1: - version "1.9.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" - tslib@^1.8.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== +tslib@^1.8.1: + version "1.9.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" + tslib@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== -tslint-eslint-rules@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tslint-eslint-rules/-/tslint-eslint-rules-4.0.0.tgz#4e0e59ecd5701c9a48c66ed47bdcafb1c635d27b" - dependencies: - doctrine "^0.7.2" - tslib "^1.0.0" - tsutils "^1.4.0" - -tslint-microsoft-contrib@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/tslint-microsoft-contrib/-/tslint-microsoft-contrib-4.0.1.tgz#9e201a1639f5859658ffcf2b4dcbb19992f8e6c0" - -tslint-react@^3.0.0: - version "3.5.1" - resolved "https://registry.yarnpkg.com/tslint-react/-/tslint-react-3.5.1.tgz#a5ca48034bf583fb63b42763bb89fa23062d5390" - dependencies: - tsutils "^2.13.1" - -tslint@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.2.0.tgz#16a2addf20cb748385f544e9a0edab086bc34114" - dependencies: - babel-code-frame "^6.22.0" - colors "^1.1.2" - diff "^3.2.0" - findup-sync "~0.3.0" - glob "^7.1.1" - optimist "~0.6.0" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.6.0" - tsutils "^1.8.0" - tslint@5.20.0: version "5.20.0" resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.0.tgz#fac93bfa79568a5a24e7be9cdde5e02b02d00ec1" @@ -6872,16 +6701,6 @@ tslint@5.20.0: tslib "^1.8.0" tsutils "^2.29.0" -tsutils@^1.4.0, tsutils@^1.8.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-1.9.1.tgz#b9f9ab44e55af9681831d5f28d0aeeaf5c750cb0" - -tsutils@^2.13.1: - version "2.26.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.26.1.tgz#9e4a0cb9ff173863f34c22a961969081270d1878" - dependencies: - tslib "^1.8.1" - tsutils@^2.29.0: version "2.29.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" @@ -7039,10 +6858,6 @@ use@^3.1.0: resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== -user-home@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -7055,7 +6870,7 @@ util.promisify@^1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" -util@0.10.3, util@^0.10.3: +util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: @@ -7087,12 +6902,6 @@ v8-compile-cache@^2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" integrity sha1-VLw83UMxe8qR413K8wWxpyN950U= -v8flags@^2.0.11: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" - dependencies: - user-home "^1.1.1" - validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -7325,10 +7134,6 @@ wordwrap@^1.0.0, wordwrap@~1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" @@ -7465,9 +7270,3 @@ yargs@^12.0.2: which-module "^2.0.0" y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" - -yn@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/yn/-/yn-1.3.0.tgz#1b0812abb8d805d48966f8df385dc9dacc9a19d8" - dependencies: - object-assign "^4.1.1" From d4a174fc68529faa1e888d74ec57735cde580643 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Fri, 9 Sep 2022 16:04:27 +0300 Subject: [PATCH 25/32] Fixes after merge with latest master --- package.json | 16 +- packages/focal-atom/package.json | 12 +- packages/focal/package.json | 4 +- packages/focal/src/index.ts | 1 - packages/focal/src/react/react.ts | 7 +- yarn.lock | 1755 +---------------------------- 6 files changed, 72 insertions(+), 1723 deletions(-) diff --git a/package.json b/package.json index f6a1da4..00ea939 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,13 @@ { "private": true, "name": "focal", + "version": "0.0.0", + "workspaces": [ + "packages/focal-atom", + "packages/focal", + "packages/test", + "packages/examples/*" + ], "nohoist": [ "tslint-eslint-rules" ], @@ -28,15 +35,8 @@ "eslint-plugin-react": "^7.22.0", "typescript": "^4.7.4" }, - "workspaces": [ - "packages/focal-atom", - "packages/focal", - "packages/test", - "packages/examples/*" - ], "resolutions": { "@types/react": "^18.0.14", "@types/react-dom": "^18.0.0" - }, - "version": "0.0.0" + } } diff --git a/packages/focal-atom/package.json b/packages/focal-atom/package.json index a8b508b..45d924a 100644 --- a/packages/focal-atom/package.json +++ b/packages/focal-atom/package.json @@ -1,6 +1,6 @@ { "name": "@grammarly/focal-atom", - "version": "0.8.5", + "version": "0.9.0", "description": "FRP Atom: observables, immutable data and lenses", "main": "dist/_cjs/src/index.js", "module": "dist/_esm5/src/index.js", @@ -94,12 +94,12 @@ }, "dependencies": {}, "devDependencies": { - "@types/jest": "^24.0.0", - "@types/node": "^6.0.34", - "jest": "^24.1.0", + "@types/jest": "^24.0.20", + "@types/node": "^18.0.0", + "jest": "^28.1.1", "rxjs": "6.3.3", - "ts-jest": "^23.10.5", - "typescript": "3.3.3" + "ts-jest": "^28.0.5", + "typescript": "^4.7.4" }, "peerDependencies": { "rxjs": ">= 6.3.3 < 7.0.0-0" diff --git a/packages/focal/package.json b/packages/focal/package.json index a39c7ca..139558f 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -95,8 +95,8 @@ "url": "https://github.com/grammarly/focal.git" }, "devDependencies": { - "@grammarly/focal-atom": "^0.8.5", - "@types/jest": "24.0.20", + "@grammarly/focal-atom": "^0.9.0", + "@types/jest": "^24.0.20", "@types/node": "^18.0.0", "@types/react": "^18.0.14", "@types/react-dom": "^18.0.0", diff --git a/packages/focal/src/index.ts b/packages/focal/src/index.ts index 6db51d6..2a7cb8a 100644 --- a/packages/focal/src/index.ts +++ b/packages/focal/src/index.ts @@ -4,4 +4,3 @@ export { bind, bindElementProps, classes, F, lift, reactiveList } from './react' -export { Option } from './utils' diff --git a/packages/focal/src/react/react.ts b/packages/focal/src/react/react.ts index 72cb96e..2b2878e 100644 --- a/packages/focal/src/react/react.ts +++ b/packages/focal/src/react/react.ts @@ -6,9 +6,6 @@ import { ObservableInput, of, Subscription as RxSubscription } from 'rxjs' import { map, scan } from 'rxjs/operators' -import { Atom } from './../atom' -import { DEV_ENV, getReactComponentName, structEq, warning } from './../utils' - export interface Subscription { unsubscribe(): void } @@ -37,8 +34,6 @@ export interface LiftWrapperState { */ export class LiftWrapper extends React.Component, LiftWrapperState> { - state = LiftWrapper._initState - static _initState: LiftWrapperState = { renderCache: null, subscription: null @@ -48,6 +43,8 @@ export class LiftWrapper subscription: null } + state = LiftWrapper._initState + render() { return this.state.renderCache || null } diff --git a/yarn.lock b/yarn.lock index 9519830..4811851 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,44 +24,11 @@ dependencies: "@babel/highlight" "^7.16.7" -"@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha1-OyXTjIlgC6otzCGe36iKdOssQno= - dependencies: - "@babel/highlight" "^7.18.6" - "@babel/compat-data@^7.17.10": version "7.18.5" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471" integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg== -"@babel/compat-data@^7.19.0": - version "7.19.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/compat-data/-/compat-data-7.19.0.tgz#2a592fd89bacb1fcde68de31bee4f2f2dacb0e86" - integrity sha1-Klkv2JussfzeaN4xvuTy8trLDoY= - -"@babel/core@^7.1.0": - version "7.19.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/core/-/core-7.19.0.tgz#d2f5f4f2033c00de8096be3c9f45772563e150c3" - integrity sha1-0vX08gM8AN6Alr48n0V3JWPhUMM= - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" - "@babel/helper-compilation-targets" "^7.19.0" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helpers" "^7.19.0" - "@babel/parser" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - "@babel/core@^7.11.6", "@babel/core@^7.12.3": version "7.18.5" resolved "https://registry.npmjs.org/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000" @@ -92,15 +59,6 @@ "@jridgewell/gen-mapping" "^0.3.0" jsesc "^2.5.1" -"@babel/generator@^7.19.0", "@babel/generator@^7.4.0": - version "7.19.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" - integrity sha1-eFWWwGQl5ZM03yzO5jqxZrc4QZo= - dependencies: - "@babel/types" "^7.19.0" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - "@babel/helper-compilation-targets@^7.18.2": version "7.18.2" resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b" @@ -111,26 +69,11 @@ browserslist "^4.20.2" semver "^6.3.0" -"@babel/helper-compilation-targets@^7.19.0": - version "7.19.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz#537ec8339d53e806ed422f1e06c8f17d55b96bb0" - integrity sha1-U37IM51T6AbtQi8eBsjxfVW5a7A= - dependencies: - "@babel/compat-data" "^7.19.0" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.20.2" - semver "^6.3.0" - "@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.2": version "7.18.2" resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ== -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha1-DAzumzXSyhkEeHVoZbs1KEIvUb4= - "@babel/helper-function-name@^7.17.9": version "7.17.9" resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" @@ -139,14 +82,6 @@ "@babel/template" "^7.16.7" "@babel/types" "^7.17.0" -"@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" - integrity sha1-lBV07VOQaC6HLlLT84zp0b70ZIw= - dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" - "@babel/helper-hoist-variables@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" @@ -154,13 +89,6 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha1-1NLI+0uuqlxouZzIJFxWVU+SZng= - dependencies: - "@babel/types" "^7.18.6" - "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" @@ -168,13 +96,6 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha1-Hj69u9CKrRQ3tCjFAgTbE8Wjym4= - dependencies: - "@babel/types" "^7.18.6" - "@babel/helper-module-transforms@^7.18.0": version "7.18.0" resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" @@ -189,20 +110,6 @@ "@babel/traverse" "^7.18.0" "@babel/types" "^7.18.0" -"@babel/helper-module-transforms@^7.19.0": - version "7.19.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" - integrity sha1-MJsjDwTiLFjGosDAx+ULIW01DDA= - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.8.0": version "7.17.12" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96" @@ -215,13 +122,6 @@ dependencies: "@babel/types" "^7.18.2" -"@babel/helper-simple-access@^7.18.6": - version "7.18.6" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" - integrity sha1-1tj1H0rCl4Bo35NLVp8I8peIx+o= - dependencies: - "@babel/types" "^7.18.6" - "@babel/helper-split-export-declaration@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" @@ -229,38 +129,16 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha1-c2eUm8dbIMbVpdSpe7ooJK6O8HU= - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.18.10": - version "7.18.10" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" - integrity sha1-GB8i0o6+GzhX+ldfXCkLGq9lm1Y= - "@babel/helper-validator-identifier@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== -"@babel/helper-validator-identifier@^7.18.6": - version "7.18.6" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" - integrity sha1-nJfjDTGyuMcqHQiYTyyptXTXoHY= - "@babel/helper-validator-option@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" - integrity sha1-vw0rWlCbHzNgmeT/NuGmOqXbTbg= - "@babel/helpers@^7.18.2": version "7.18.2" resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" @@ -270,15 +148,6 @@ "@babel/traverse" "^7.18.2" "@babel/types" "^7.18.2" -"@babel/helpers@^7.19.0": - version "7.19.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" - integrity sha1-8wU0ZX+vJGrpZVHYjdMenR+h/Bg= - dependencies: - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - "@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": version "7.17.12" resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351" @@ -288,25 +157,11 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha1-gRWGAek+JWN5Wty/vfXWS+Py7N8= - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.5": version "7.18.5" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c" integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw== -"@babel/parser@^7.18.10", "@babel/parser@^7.19.0", "@babel/parser@^7.4.3": - version "7.19.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/parser/-/parser-7.19.0.tgz#497fcafb1d5b61376959c1c338745ef0577aa02c" - integrity sha1-SX/K+x1bYTdpWcHDOHRe8Fd6oCw= - "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -363,7 +218,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -407,31 +262,6 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/template@^7.18.10", "@babel/template@^7.4.0": - version "7.18.10" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha1-b5E0g1lw0dvwg1wNEAyfON4MXnE= - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.19.0", "@babel/traverse@^7.4.3": - version "7.19.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/traverse/-/traverse-7.19.0.tgz#eb9c561c7360005c592cc645abafe0c3c4548eed" - integrity sha1-65xWHHNgAFxZLMZFq6/gw8RUju0= - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.0" - "@babel/types" "^7.19.0" - debug "^4.1.0" - globals "^11.1.0" - "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5", "@babel/traverse@^7.7.2": version "7.18.5" resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd" @@ -456,28 +286,11 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" -"@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.4.0": - version "7.19.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" - integrity sha1-dfIdc9c9wDUfM2jSjbc0ZfSBRgA= - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" - to-fast-properties "^2.0.0" - "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha1-+GSuhQBND8q29QvpFBxNo2jRZWo= - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" @@ -523,15 +336,6 @@ resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^24.7.1", "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" - integrity sha1-ebG8Bvt0qM+wHL3t+UVYSxuXB/A= - dependencies: - "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" - "@jest/console@^28.1.1": version "28.1.1" resolved "https://registry.npmjs.org/@jest/console/-/console-28.1.1.tgz#305f8ca50b6e70413839f54c0e002b60a0f2fd7d" @@ -544,40 +348,6 @@ jest-util "^28.1.1" slash "^3.0.0" -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" - integrity sha1-LOzNC5MYH5xIUOdPKprUPTUTacQ= - dependencies: - "@jest/console" "^24.7.1" - "@jest/reporters" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" - realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" - "@jest/core@^28.1.1": version "28.1.1" resolved "https://registry.npmjs.org/@jest/core/-/core-28.1.1.tgz#086830bec6267accf9af5ca76f794858e9f9f092" @@ -613,16 +383,6 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - integrity sha1-IeOvotZcBYbL1svv4gi6+t5Eqxg= - dependencies: - "@jest/fake-timers" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - "@jest/environment@^28.1.1": version "28.1.1" resolved "https://registry.npmjs.org/@jest/environment/-/environment-28.1.1.tgz#c4cbf85283278d768f816ebd1a258ea6f9e39d4f" @@ -648,15 +408,6 @@ expect "^28.1.1" jest-snapshot "^28.1.1" -"@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" - integrity sha1-uj5r8O7NCaY2BJiWQ00wZjZUDJM= - dependencies: - "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - "@jest/fake-timers@^28.1.1": version "28.1.1" resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.1.tgz#47ce33296ab9d680c76076d51ddbe65ceb3337f1" @@ -678,33 +429,6 @@ "@jest/expect" "^28.1.1" "@jest/types" "^28.1.1" -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - integrity sha1-hmYO/44rlmHQQqjpigKLjWMaW0M= - dependencies: - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" - source-map "^0.6.0" - string-length "^2.0.0" - "@jest/reporters@^28.1.1": version "28.1.1" resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.1.tgz#9389f4bb3cce4d9b586f6195f83c79cd2a1c8662" @@ -743,15 +467,6 @@ dependencies: "@sinclair/typebox" "^0.23.3" -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" - integrity sha1-DiY6lEML5LQdpoPMwea//ioZFxQ= - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" - "@jest/source-map@^28.0.2": version "28.0.2" resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-28.0.2.tgz#914546f4410b67b1d42c262a1da7e0406b52dc90" @@ -761,15 +476,6 @@ callsites "^3.0.0" graceful-fs "^4.2.9" -"@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" - integrity sha1-EXluiqnb+I6gJXV7MVJZWtBroMo= - dependencies: - "@jest/console" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@jest/test-result@^28.1.1": version "28.1.1" resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.1.tgz#c6f18d1bbb01aa88925dd687872a75f8414b317a" @@ -780,16 +486,6 @@ "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - integrity sha1-+PM081tiWk8vNV8v5+YDba0uazE= - dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - "@jest/test-sequencer@^28.1.1": version "28.1.1" resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz#f594ee2331df75000afe0d1ae3237630ecec732e" @@ -800,28 +496,6 @@ jest-haste-map "^28.1.1" slash "^3.0.0" -"@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" - integrity sha1-SuJ2iyllU/rasJ6ewRlUPJCxbFY= - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.15" - jest-haste-map "^24.9.0" - jest-regex-util "^24.9.0" - jest-util "^24.9.0" - micromatch "^3.1.10" - pirates "^4.0.1" - realpath-native "^1.1.0" - slash "^2.0.0" - source-map "^0.6.1" - write-file-atomic "2.4.1" - "@jest/transform@^28.1.1": version "28.1.1" resolved "https://registry.npmjs.org/@jest/transform/-/transform-28.1.1.tgz#83541f2a3f612077c8501f49cc4e205d4e4a6b27" @@ -872,7 +546,7 @@ "@jridgewell/set-array" "^1.0.0" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": +"@jridgewell/gen-mapping@^0.3.0": version "0.3.2" resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== @@ -949,7 +623,7 @@ resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== -"@types/babel__core@^7.1.0", "@types/babel__core@^7.1.14": +"@types/babel__core@^7.1.14": version "7.1.19" resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== @@ -1034,23 +708,9 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest-diff@*": - version "24.3.0" - resolved "https://registry.npmjs.org/@types/jest-diff/-/jest-diff-24.3.0.tgz#29e237a3d954babfe6e23cc59b57ecd8ca8d858d" - integrity sha512-vx1CRDeDUwQ0Pc7v+hS61O1ETA81kD04IMEC0hS1kPyVtHDdZrokAvpF7MT9VI/fVSzicelUZNCepDvhRV1PeA== - dependencies: - jest-diff "*" - -"@types/jest@24.0.20": - version "24.0.20" - resolved "https://registry.npmjs.org/@types/jest/-/jest-24.0.20.tgz#729d5fe8684e7fb06368d3bd557ac6d91289d861" - integrity sha512-M8ebEkOpykGdLoRrmew7UowTZ1DANeeP0HiSIChl/4DGgmnSC1ntitNtkyNSXjMTsZvXuaxJrxjImEnRWNPsPw== - dependencies: - "@types/jest-diff" "*" - -"@types/jest@^24.0.0": +"@types/jest@^24.0.20": version "24.9.1" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" + resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" integrity sha1-Arr5Vzx48bmXSl82d4s2aqd71TQ= dependencies: jest-diff "^24.3.0" @@ -1074,11 +734,6 @@ resolved "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== -"@types/node@^6.0.34": - version "6.14.13" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/node/-/node-6.14.13.tgz#b6649578fc0b5dac88c4ef48a46cab33c50a6c72" - integrity sha1-tmSVePwLXayIxO9IpGyrM8UKbHI= - "@types/parse5@*": version "6.0.3" resolved "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb" @@ -1115,11 +770,6 @@ resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4= - "@types/stack-utils@^2.0.0": version "2.0.1" resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" @@ -1382,7 +1032,7 @@ resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -abab@^2.0.0, abab@^2.0.5, abab@^2.0.6: +abab@^2.0.5, abab@^2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== @@ -1395,14 +1045,6 @@ accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -acorn-globals@^4.1.0: - version "4.3.4" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha1-n6GSat3BHJcwjE5m163Q1Awycuc= - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - acorn-globals@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" @@ -1416,22 +1058,12 @@ acorn-jsx@^5.3.1: resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha1-Ejy487hMIXHx9/slJhWxx4prGow= - acorn-walk@^7.1.1: version "7.2.0" resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^5.5.3: - version "5.7.4" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" - integrity sha1-Po2KmUfQWZoXltECJddDL0pKz14= - -acorn@^6.0.1, acorn@^6.4.1: +acorn@^6.4.1: version "6.4.2" resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== @@ -1463,7 +1095,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1493,11 +1125,6 @@ ansi-colors@^4.1.1: resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= - ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" @@ -1510,11 +1137,6 @@ ansi-html-community@0.0.8: resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== -ansi-regex@^3.0.0: - version "3.0.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" - integrity sha1-Ej1keekq1FrYl9QFTjx8p9tJROE= - ansi-regex@^4.0.0, ansi-regex@^4.1.0: version "4.1.1" resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" @@ -1587,11 +1209,6 @@ arr-union@^3.1.0: resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== -array-equal@^1.0.0: - version "1.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - array-flatten@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -1628,17 +1245,6 @@ array.prototype.flatmap@^1.3.0: es-abstract "^1.19.2" es-shim-unscopables "^1.0.0" -array.prototype.reduce@^1.0.4: - version "1.0.4" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz#8167e80089f78bff70a99e20bd4201d4663b0a6f" - integrity sha1-gWfoAIn3i/9wqZ4gvUIB1GY7Cm8= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" - arrify@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" @@ -1654,18 +1260,6 @@ asn1.js@^5.2.0: minimalistic-assert "^1.0.0" safer-buffer "^2.1.0" -asn1@~0.2.3: - version "0.2.6" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha1-DTp7tuZOAqkMAwOzHykoaOoJoI0= - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - assert@^1.1.1: version "1.5.0" resolved "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" @@ -1679,11 +1273,6 @@ assign-symbols@^1.0.0: resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= - astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -1709,29 +1298,6 @@ atob@^2.1.2: resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== - -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha1-P8Mny4RnuJ0U17xw4xUQSng8zVQ= - dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" - babel-jest@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.1.tgz#2a3a4ae50964695b2d694ccffe4bec537c5a3586" @@ -1745,16 +1311,6 @@ babel-jest@^28.1.1: graceful-fs "^4.2.9" slash "^3.0.0" -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" - integrity sha1-30reg9iXqS3wacTZolzyZxKTyFQ= - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" - babel-plugin-istanbul@^6.1.1: version "6.1.1" resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -1766,13 +1322,6 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha1-T4NwketAfgFEfIhDy+xUbQAC11Y= - dependencies: - "@types/babel__traverse" "^7.0.6" - babel-plugin-jest-hoist@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz#5e055cdcc47894f28341f87f5e35aad2df680b11" @@ -1801,14 +1350,6 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha1-GStSHiIX+x0fZ89z9wwzZlCtPNw= - dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" - babel-preset-jest@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz#5b6e5e69f963eb2d70f739c607b8f723c0ee75e4" @@ -1840,13 +1381,6 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - bfj@^6.1.1: version "6.1.2" resolved "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" @@ -1953,13 +1487,6 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY= - dependencies: - resolve "1.1.7" - browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" @@ -2045,7 +1572,7 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" -buffer-from@1.x, buffer-from@^1.0.0: +buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== @@ -2128,11 +1655,6 @@ callsites@^3.0.0: resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^4.1.0: - version "4.1.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -2148,18 +1670,6 @@ caniuse-lite@^1.0.30001358: resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz#a1c1cbe1c2da9e689638813618b4219acbd4925e" integrity sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw== -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha1-+5U7+uvreB9iiYI52rtCbQilCaQ= - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -2239,11 +1749,6 @@ chrome-trace-event@^1.0.2: resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -ci-info@^2.0.0: - version "2.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= - ci-info@^3.2.0: version "3.3.2" resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128" @@ -2332,13 +1837,6 @@ color-name@~1.1.4: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" - integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== - dependencies: - delayed-stream "~1.0.0" - combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -2437,11 +1935,6 @@ copy-descriptor@^0.1.0: resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== -core-util-is@1.0.2: - version "1.0.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" @@ -2478,7 +1971,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-spawn@^6.0.0, cross-spawn@^6.0.5: +cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -2539,22 +2032,15 @@ cssesc@^3.0.0: resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - cssom@^0.5.0: version "0.5.0" resolved "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== -cssstyle@^1.0.0: - version "1.4.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" - integrity sha1-nTEyginTxWXGHlhrAgQaKPzNzPE= - dependencies: - cssom "0.3.x" +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssstyle@^2.3.0: version "2.3.0" @@ -2573,22 +2059,6 @@ cyclist@^1.0.1: resolved "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A== -dashdash@^1.12.0: - version "1.14.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.0.0: - version "1.1.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4= - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - data-urls@^3.0.1: version "3.0.2" resolved "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" @@ -2642,7 +2112,7 @@ deepmerge@^4.2.2: resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.1.4: +define-properties@^1.1.3, define-properties@^1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== @@ -2700,11 +2170,6 @@ detect-file@^1.0.0: resolved "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q== -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= - detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -2765,13 +2230,6 @@ domain-browser@^1.1.1: resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== -domexception@^1.0.1: - version "1.0.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA= - dependencies: - webidl-conversions "^4.0.2" - domexception@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" @@ -2794,14 +2252,6 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -2928,40 +2378,6 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19 string.prototype.trimstart "^1.0.5" unbox-primitive "^1.0.2" -es-abstract@^1.20.1: - version "1.20.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/es-abstract/-/es-abstract-1.20.2.tgz#8495a07bc56d342a3b8ea3ab01bd986700c2ccb3" - integrity sha1-hJWge8VtNCo7jqOrAb2YZwDCzLM= - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.2" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-weakref "^1.0.2" - object-inspect "^1.12.2" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" - unbox-primitive "^1.0.2" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha1-hz8+hEGN5O4Zxb51KZCy5EcY0J4= - es-shim-unscopables@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" @@ -3003,18 +2419,6 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escodegen@^1.9.1: - version "1.14.3" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM= - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - escodegen@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" @@ -3191,11 +2595,6 @@ estraverse@^4.1.1: resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= - estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" @@ -3224,24 +2623,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha1-/yZPnjJVGaYMteJzaSlDSDzKY7w= - -execa@^1.0.0: - version "1.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^5.0.0: version "5.1.1" resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -3282,18 +2663,6 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha1-t1FltIFwdPpKFXeU9G/p8boVtso= - dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" - expect@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/expect/-/expect-28.1.1.tgz#ca6fff65f6517cf7220c2e805a49c19aea30b420" @@ -3357,11 +2726,6 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@~3.0.2: - version "3.0.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= - extglob@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -3376,16 +2740,6 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extsprintf@1.3.0: - version "1.3.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha1-jRcsBkhn8jXAyEpZaAbSeb9LzAc= - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -3538,11 +2892,6 @@ for-in@^1.0.2: resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - form-data@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" @@ -3552,15 +2901,6 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@~2.3.2: - version "2.3.3" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - forwarded@0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" @@ -3649,7 +2989,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.2: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.2" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== @@ -3663,13 +3003,6 @@ get-package-type@^0.1.0: resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-stream@^4.0.0: - version "4.1.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= - dependencies: - pump "^3.0.0" - get-stream@^6.0.0: version "6.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -3688,13 +3021,6 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== -getpass@^0.1.1: - version "0.1.7" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -3710,7 +3036,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: +glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -3795,11 +3121,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.2.9 resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -growly@^1.3.0: - version "1.3.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - gzip-size@^5.0.0: version "5.1.1" resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" @@ -3808,19 +3129,6 @@ gzip-size@^5.0.0: duplexer "^0.1.1" pify "^4.0.1" -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha1-HwgDufjLIMD6E4It8ezds2veHv0= - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" @@ -3931,18 +3239,6 @@ hoopy@^0.1.4: resolved "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k= - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg= - dependencies: - whatwg-encoding "^1.0.1" - html-encoding-sniffer@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" @@ -3980,15 +3276,6 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" -http-signature@~1.2.0: - version "1.2.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -4124,13 +3411,6 @@ interpret@^1.4.0: resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -invariant@^2.2.4: - version "2.2.4" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= - dependencies: - loose-envify "^1.0.0" - ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" @@ -4194,13 +3474,6 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-ci@^2.0.0: - version "2.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= - dependencies: - ci-info "^2.0.0" - is-core-module@^2.9.0: version "2.9.0" resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" @@ -4344,11 +3617,6 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" -is-stream@^1.1.0: - version "1.1.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - is-stream@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -4368,11 +3636,6 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -4412,34 +3675,11 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -isstream@~0.1.2: - version "0.1.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k= - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha1-pfY9kfC7wMPkee9MXeAnM17G1jA= - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: version "5.2.0" resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" @@ -4451,15 +3691,6 @@ istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: istanbul-lib-coverage "^3.2.0" semver "^6.3.0" -istanbul-lib-report@^2.0.4: - version "2.0.8" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha1-WoETzXRtQ8SInro2qxDn1QybTzM= - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" @@ -4469,17 +3700,6 @@ istanbul-lib-report@^3.0.0: make-dir "^3.0.0" supports-color "^7.1.0" -istanbul-lib-source-maps@^3.0.1: - version "3.0.6" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha1-KEmXxIIRdS7EhiU9qX44ed77qMg= - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - istanbul-lib-source-maps@^4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" @@ -4489,13 +3709,6 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^2.2.6: - version "2.2.7" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" - integrity sha1-XZOfYjfXtIOTzAlZ6rQM1P0FaTE= - dependencies: - html-escaper "^2.0.0" - istanbul-reports@^3.1.3: version "3.1.4" resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" @@ -4504,15 +3717,6 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha1-CNjBXreaf6P8mCabwUtFHugvgDk= - dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" - jest-changed-files@^28.0.2: version "28.0.2" resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.0.2.tgz#7d7810660a5bd043af9e9cfbe4d58adb05e91531" @@ -4546,25 +3750,6 @@ jest-circus@^28.1.1: stack-utils "^2.0.3" throat "^6.0.1" -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha1-rS3mLQdHLUGcarwwH8QyuYsQ0q8= - dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" - jest-cli@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.1.tgz#23ddfde8940e1818585ae4a568877b33b0e51cfe" @@ -4583,29 +3768,6 @@ jest-cli@^28.1.1: prompts "^2.0.1" yargs "^17.3.1" -jest-config@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha1-+xu8YMc6Rq8DWQcZ76SCXm5N0bU= - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" - jest-config@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-config/-/jest-config-28.1.1.tgz#e90b97b984f14a6c24a221859e81b258990fce2f" @@ -4634,17 +3796,7 @@ jest-config@^28.1.1: slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@*, jest-diff@^28.1.1: - version "28.1.1" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz#1a3eedfd81ae79810931c63a1d0f201b9120106c" - integrity sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg== - dependencies: - chalk "^4.0.0" - diff-sequences "^28.1.1" - jest-get-type "^28.0.2" - pretty-format "^28.1.1" - -jest-diff@^24.3.0, jest-diff@^24.9.0: +jest-diff@^24.3.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" integrity sha1-kxt9DVd4obr3RSy4FuMl43JAVdo= @@ -4654,12 +3806,15 @@ jest-diff@^24.3.0, jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha1-eXAgGAK6Vg4cQJLMJcvt9a9ajOI= +jest-diff@^28.1.1: + version "28.1.1" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.1.tgz#1a3eedfd81ae79810931c63a1d0f201b9120106c" + integrity sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg== dependencies: - detect-newline "^2.1.0" + chalk "^4.0.0" + diff-sequences "^28.1.1" + jest-get-type "^28.0.2" + pretty-format "^28.1.1" jest-docblock@^28.1.1: version "28.1.1" @@ -4668,17 +3823,6 @@ jest-docblock@^28.1.1: dependencies: detect-newline "^3.0.0" -jest-each@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha1-6y2mAuKmEImNvF8fbfO6hrVfiwU= - dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - jest-each@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-each/-/jest-each-28.1.1.tgz#ba5238dacf4f31d9fe23ddc2c44c01e7c23885c4" @@ -4690,18 +3834,6 @@ jest-each@^28.1.1: jest-util "^28.1.1" pretty-format "^28.1.1" -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha1-SwgGx/yU+V7bNpppzCd47sK3N1s= - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" - jest-environment-jsdom@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-28.1.1.tgz#8bd721915b32f9b196723292c4461a0ad548b55b" @@ -4716,17 +3848,6 @@ jest-environment-jsdom@^28.1.1: jest-util "^28.1.1" jsdom "^19.0.0" -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha1-Mz0tJ5b5aH8q7r8HQrUZ8zwcv9M= - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jest-environment-node@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.1.tgz#1c86c59003a7d319fa06ea3b1bbda6c193715c67" @@ -4749,25 +3870,6 @@ jest-get-type@^28.0.2: resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== -jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - integrity sha1-s4pdZCdJNOIfpBeump++t3zqrH0= - dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" - fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^1.2.7" - jest-haste-map@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.1.tgz#471685f1acd365a9394745bb97c8fc16289adca3" @@ -4787,36 +3889,6 @@ jest-haste-map@^28.1.1: optionalDependencies: fsevents "^2.3.2" -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha1-H3sb0yQsF3TmKsq7NkbZavw75qA= - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^24.9.0" - is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha1-tmXep8dxAMXE99/LFTtlzwfc+Wo= - dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - jest-leak-detector@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz#537f37afd610a4b3f4cab15e06baf60484548efb" @@ -4825,16 +3897,6 @@ jest-leak-detector@^28.1.1: jest-get-type "^28.0.2" pretty-format "^28.1.1" -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" - integrity sha1-9bNmHV5ijf/m3WUlHf2uDofDoHM= - dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - jest-matcher-utils@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz#a7c4653c2b782ec96796eb3088060720f1e29304" @@ -4845,20 +3907,6 @@ jest-matcher-utils@^28.1.1: jest-get-type "^28.0.2" pretty-format "^28.1.1" -jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" - integrity sha1-Un9UoeOA9eICqNEUmw7IcvQxGeM= - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - jest-message-util@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.1.tgz#60aa0b475cfc08c8a9363ed2fb9108514dd9ab89" @@ -4874,13 +3922,6 @@ jest-message-util@^28.1.1: slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" - integrity sha1-wig1VB7jebkIZzrVEIeiGFwT8cY= - dependencies: - "@jest/types" "^24.9.0" - jest-mock@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.1.tgz#37903d269427fa1ef5b2447be874e1c62a39a371" @@ -4889,30 +3930,16 @@ jest-mock@^28.1.1: "@jest/types" "^28.1.1" "@types/node" "*" -jest-pnp-resolver@^1.2.1, jest-pnp-resolver@^1.2.2: +jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - integrity sha1-wT+zOAveIr9ldUMsST6o/jeWVjY= - jest-regex-util@^28.0.2: version "28.0.2" resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha1-rQVRmJWcTPuopPBmxnOj8HhlB6s= - dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" - jest-resolve-dependencies@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz#3dffaaa56f4b41bc6b61053899d1756401763a27" @@ -4921,17 +3948,6 @@ jest-resolve-dependencies@^28.1.1: jest-regex-util "^28.0.2" jest-snapshot "^28.1.1" -jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" - integrity sha1-3/BMdoevNMTdflJIktnPd+XRcyE= - dependencies: - "@jest/types" "^24.9.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - jest-resolve@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.1.tgz#bc2eaf384abdcc1aaf3ba7c50d1adf01e59095e5" @@ -4947,31 +3963,6 @@ jest-resolve@^28.1.1: resolve.exports "^1.1.0" slash "^3.0.0" -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha1-V0+v29VEVcKzS0vfQ2WiOFf830I= - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - source-map-support "^0.5.6" - throat "^4.0.0" - jest-runner@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.1.tgz#9ecdb3f27a00059986797aa6b012ba8306aa436c" @@ -4999,35 +3990,6 @@ jest-runner@^28.1.1: source-map-support "0.5.13" throat "^6.0.1" -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha1-nxRYOvak9zFKap2fAibhp4HI5Kw= - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" - jest-runtime@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.1.tgz#569e1dc3c36c6c4c0b29516c1c49b6ad580abdaf" @@ -5056,30 +4018,6 @@ jest-runtime@^28.1.1: slash "^3.0.0" strip-bom "^4.0.0" -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - integrity sha1-5tfX75bTHouQeacUdUxdXFgojnM= - -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" - integrity sha1-7I6cpPLsDFyHro+SXPl0l7DpUbo= - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" - jest-snapshot@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.1.tgz#ab825c16c8d8b5e883bd57eee6ca8748c42ab848" @@ -5109,24 +4047,6 @@ jest-snapshot@^28.1.1: pretty-format "^28.1.1" semver "^7.3.5" -jest-util@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - integrity sha1-c5aBTkhTbS6Fo33j5MQx18sUAWI= - dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - jest-util@^28.0.0, jest-util@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-util/-/jest-util-28.1.1.tgz#ff39e436a1aca397c0ab998db5a51ae2b7080d05" @@ -5139,18 +4059,6 @@ jest-util@^28.0.0, jest-util@^28.1.1: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha1-B3XFU2DRc82FTkAYB1bU/1Le+Ks= - dependencies: - "@jest/types" "^24.9.0" - camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" - leven "^3.1.0" - pretty-format "^24.9.0" - jest-validate@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.1.tgz#59b7b339b3c85b5144bd0c06ad3600f503a4acc8" @@ -5163,19 +4071,6 @@ jest-validate@^28.1.1: leven "^3.1.0" pretty-format "^28.1.1" -jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha1-S1bl0c7/AF9biOUo3Jr8jdTtKzs= - dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" - jest-watcher@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.1.tgz#533597fb3bfefd52b5cd115cd916cffd237fb60c" @@ -5190,14 +4085,6 @@ jest-watcher@^28.1.1: jest-util "^28.1.1" string-length "^4.0.1" -jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha1-Xb/bWy0yLphWeJgjipaXvM5ns+U= - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - jest-worker@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" @@ -5216,14 +4103,6 @@ jest-worker@^28.1.1: merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^24.1.0: - version "24.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" - integrity sha1-mH0pDAWgi1LFYYjBAC42jtsAcXE= - dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" - jest@^28.1.1: version "28.1.1" resolved "https://registry.npmjs.org/jest/-/jest-28.1.1.tgz#3c39a3a09791e16e9ef283597d24ab19a0df701e" @@ -5247,48 +4126,11 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - jsdoctypeparser@^9.0.0: version "9.0.0" resolved "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz#8c97e2fb69315eb274b0f01377eaa5c940bd7b26" integrity sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw== -jsdom@^11.5.1: - version "11.12.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha1-GoDUDd03ih3lllbp5txaO6hle8g= - dependencies: - abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" - domexception "^1.0.1" - escodegen "^1.9.1" - html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.4" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" - xml-name-validator "^3.0.0" - jsdom@^19.0.0: version "19.0.0" resolved "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz#93e67c149fe26816d38a849ea30ac93677e16b6a" @@ -5327,7 +4169,7 @@ jsesc@^2.5.1: resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== @@ -5347,26 +4189,11 @@ json-schema-traverse@^1.0.0: resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@0.4.0: - version "0.4.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha1-995M9u+rg4666zI2R0y7paGTCrU= - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@2.x, json5@^2.1.2, json5@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - json5@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" @@ -5374,15 +4201,10 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -jsprim@^1.2.2: - version "1.4.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha1-cSxlUzoVyHi6WentXw4m1bd8X+s= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" +json5@^2.1.2, json5@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== "jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.3.1" @@ -5421,11 +4243,6 @@ kleur@^3.0.3: resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -left-pad@^1.3.0: - version "1.3.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4= - leven@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -5452,16 +4269,6 @@ lines-and-columns@^1.1.6: resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" @@ -5510,11 +4317,6 @@ lodash.merge@^4.6.2: resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - lodash.truncate@^4.4.2: version "4.4.2" resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" @@ -5525,7 +4327,7 @@ lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.6.1: resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -5546,7 +4348,7 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -make-dir@^2.0.0, make-dir@^2.1.0: +make-dir@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== @@ -5675,7 +4477,7 @@ mime-db@1.52.0: resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -5721,11 +4523,6 @@ minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - minimist@^1.2.0, minimist@^1.2.6: version "1.2.6" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" @@ -5755,7 +4552,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.3: +mkdirp@^0.5.1, mkdirp@^0.5.3: version "0.5.6" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== @@ -5865,32 +4662,11 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" -node-notifier@^5.4.2: - version "5.4.5" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/node-notifier/-/node-notifier-5.4.5.tgz#0cbc1a2b0f658493b4025775a13ad938e96091ef" - integrity sha1-DLwaKw9lhJO0Ald1oTrZOOlgke8= - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - node-releases@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -5903,13 +4679,6 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -5917,21 +4686,11 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -nwsapi@^2.0.7: - version "2.2.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" - integrity sha1-5UGIY+eQXfZ9UeyVk41nv4AfC7A= - nwsapi@^2.2.0: version "2.2.1" resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz#10a9f268fbf4c461249ebcfe38e359aa36e2577c" integrity sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg== -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= - object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -5946,7 +4705,7 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.12.0, object-inspect@^1.12.2, object-inspect@^1.9.0: +object-inspect@^1.12.0, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== @@ -5973,16 +4732,6 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.assign@^4.1.4: - version "4.1.4" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha1-lnPHx8NRq4xNC1FvQ0Pr9N+3eZ8= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - object.entries@^1.1.5: version "1.1.5" resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" @@ -6001,16 +4750,6 @@ object.fromentries@^2.0.5: define-properties "^1.1.3" es-abstract "^1.19.1" -object.getownpropertydescriptors@^2.0.3: - version "2.1.4" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37" - integrity sha1-eWXmQ3pXJ4tYc4ODGpuClFWkvDc= - dependencies: - array.prototype.reduce "^1.0.4" - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.1" - object.hasown@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3" @@ -6090,18 +4829,6 @@ os-browserify@^0.3.0: resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= - dependencies: - p-reduce "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -6123,11 +4850,6 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= - p-try@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -6165,14 +4887,6 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" -parse-json@^4.0.0: - version "4.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - parse-json@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -6188,11 +4902,6 @@ parse-passwd@^1.0.0: resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== -parse5@4.0.0: - version "4.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha1-bXhlbj2o14tOwLkG98CO8d/j9gg= - parse5@6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" @@ -6233,7 +4942,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^2.0.0, path-key@^2.0.1: +path-key@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== @@ -6253,13 +4962,6 @@ path-to-regexp@0.1.7: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== -path-type@^3.0.0: - version "3.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= - dependencies: - pify "^3.0.0" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -6276,11 +4978,6 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" -performance-now@^2.1.0: - version "2.1.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - picocolors@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" @@ -6296,17 +4993,12 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@^3.0.0: - version "3.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - pify@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pirates@^4.0.1, pirates@^4.0.4: +pirates@^4.0.4: version "4.0.5" resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== @@ -6325,11 +5017,6 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pn@^1.1.0: - version "1.1.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs= - posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -6469,11 +5156,6 @@ prr@~1.0.1: resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== -psl@^1.1.28: - version "1.9.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha1-0N8qE38AeUVl/K87LADNCfjVpac= - psl@^1.1.33: version "1.8.0" resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" @@ -6538,11 +5220,6 @@ qs@6.10.3: dependencies: side-channel "^1.0.4" -qs@~6.5.2: - version "6.5.3" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha1-Ou7/yRln7241wOSI70b7KWq3aq0= - querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -6644,23 +5321,6 @@ react@^18.0.0: dependencies: loose-envify "^1.1.0" -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg= - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -6699,13 +5359,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -realpath-native@^1.1.0: - version "1.1.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha1-IAMpT+oj+wZy8kduviL89Jii1lw= - dependencies: - util.promisify "^1.0.0" - redbox-react@^1.3.0: version "1.6.0" resolved "https://registry.npmjs.org/redbox-react/-/redbox-react-1.6.0.tgz#e753ac02595bc1bf695b3935889a4f5b1b5a21a1" @@ -6758,48 +5411,6 @@ repeat-string@^1.6.1: resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8= - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.5: - version "1.0.9" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha1-5AcSBSal79yaObKKVnm/R7nZ3Cg= - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.87.0: - version "2.88.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM= - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -6862,12 +5473,7 @@ resolve.exports@^1.1.0: resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@1.1.7: - version "1.1.7" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -resolve@1.x, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.3.2: +resolve@^1.20.0, resolve@^1.3.2: version "1.22.1" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -6917,11 +5523,6 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rsvp@^4.8.4: - version "4.8.5" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= - run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -6960,31 +5561,11 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sane@^4.0.3: - version "4.1.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0= - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sax@^1.2.4: - version "1.2.4" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= - saxes@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" @@ -7026,11 +5607,6 @@ schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5, semver@^5.5.0, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - semver@7.x, semver@^7.2.1, semver@^7.3.4, semver@^7.3.5: version "7.3.7" resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" @@ -7038,7 +5614,12 @@ semver@7.x, semver@^7.2.1, semver@^7.3.4, semver@^7.3.5: dependencies: lru-cache "^6.0.0" -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: +semver@^5.3.0, semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -7136,11 +5717,6 @@ shebang-regex@^3.0.0: resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shellwords@^0.1.1: - version "0.1.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha1-1rkYHBpI05cyTISHHvvPxz/AZUs= - side-channel@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -7150,7 +5726,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: +signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -7160,11 +5736,6 @@ sisteransi@^1.0.5: resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== -slash@^2.0.0: - version "2.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= - slash@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -7233,14 +5804,6 @@ source-map-support@0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@^0.5.6: - version "0.5.10" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" - integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - source-map-support@~0.5.12: version "0.5.21" resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -7276,20 +5839,12 @@ sourcemapped-stacktrace@^1.1.6: dependencies: source-map "0.5.6" -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha1-3s6BrJweZxPl99G28X1Gj6U9iak= - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - spdx-exceptions@^2.1.0: version "2.3.0" resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== -spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: +spdx-expression-parse@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== @@ -7314,21 +5869,6 @@ sprintf-js@~1.0.2: resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -sshpk@^1.7.0: - version "1.17.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha1-V4CC2S1P5hKxMAdJblQ/oPvL5MU= - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - ssri@^6.0.1: version "6.0.2" resolved "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" @@ -7336,13 +5876,6 @@ ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -stack-utils@^1.0.1: - version "1.0.5" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" - integrity sha1-oZsLAZR+ACnI5FHV1hpJj1uxRxs= - dependencies: - escape-string-regexp "^2.0.0" - stack-utils@^2.0.3: version "2.0.5" resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" @@ -7368,11 +5901,6 @@ statuses@2.0.1: resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - stream-browserify@^2.0.1: version "2.0.2" resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" @@ -7405,14 +5933,6 @@ stream-shift@^1.0.0: resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== -string-length@^2.0.0: - version "2.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - string-length@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -7485,13 +6005,6 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" @@ -7506,21 +6019,11 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - strip-bom@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" @@ -7580,7 +6083,7 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -symbol-tree@^3.2.2, symbol-tree@^3.2.4: +symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== @@ -7633,16 +6136,6 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" - integrity sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA= - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -7657,11 +6150,6 @@ text-table@^0.2.0: resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -throat@^4.0.0: - version "4.1.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= - throat@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" @@ -7739,14 +6227,6 @@ toidentifier@1.0.1: resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - tough-cookie@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" @@ -7756,13 +6236,6 @@ tough-cookie@^4.0.0: punycode "^2.1.1" universalify "^0.1.2" -tr46@^1.0.1: - version "1.0.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - tr46@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" @@ -7775,21 +6248,6 @@ tryer@^1.0.1: resolved "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== -ts-jest@^23.10.5: - version "23.10.5" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/ts-jest/-/ts-jest-23.10.5.tgz#cdb550df4466a30489bf70ba867615799f388dd5" - integrity sha1-zbVQ30RmowSJv3C6hnYVeZ84jdU= - dependencies: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - json5 "2.x" - make-error "1.x" - mkdirp "0.x" - resolve "1.x" - semver "^5.5" - yargs-parser "10.x" - ts-jest@^28.0.5: version "28.0.5" resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.5.tgz#31776f768fba6dfc8c061d488840ed0c8eeac8b9" @@ -7858,18 +6316,6 @@ tty-browserify@0.0.0: resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -7912,11 +6358,6 @@ typedarray@^0.0.6: resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3.tgz#f1657fc7daa27e1a8930758ace9ae8da31403221" - integrity sha1-8WV/x9qifhqJMHWKzpro2jFAMiE= - typescript@^4.7.4: version "4.7.4" resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" @@ -8017,14 +6458,6 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util.promisify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - util@0.10.3: version "0.10.3" resolved "https://registry.npmjs.org/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" @@ -8063,34 +6496,17 @@ v8-to-istanbul@^9.0.0: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - vary@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== -verror@1.10.0: - version "1.10.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - vm-browserify@^1.0.1: version "1.1.2" resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -w3c-hr-time@^1.0.1, w3c-hr-time@^1.0.2: +w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== @@ -8104,7 +6520,7 @@ w3c-xmlserializer@^3.0.0: dependencies: xml-name-validator "^4.0.0" -walker@^1.0.7, walker@^1.0.8, walker@~1.0.5: +walker@^1.0.8: version "1.0.8" resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== @@ -8129,11 +6545,6 @@ watchpack@^1.7.4: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.1" -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha1-qFWYCx8LazWbodXZ+zmulB+qY60= - webidl-conversions@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" @@ -8241,13 +6652,6 @@ webpack@^4.41.2: watchpack "^1.7.4" webpack-sources "^1.4.1" -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: - version "1.0.5" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= - dependencies: - iconv-lite "0.4.24" - whatwg-encoding@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" @@ -8255,11 +6659,6 @@ whatwg-encoding@^2.0.0: dependencies: iconv-lite "0.6.3" -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: - version "2.3.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78= - whatwg-mimetype@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" @@ -8281,24 +6680,6 @@ whatwg-url@^11.0.0: tr46 "^3.0.0" webidl-conversions "^7.0.0" -whatwg-url@^6.4.1: - version "6.5.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - integrity sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag= - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY= - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -8315,7 +6696,7 @@ which-module@^2.0.0: resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== -which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@^1.2.14, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -8364,15 +6745,6 @@ wrappy@1: resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha1-0LBUY8GIroBDlv1asqNwBir4dSk= - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - write-file-atomic@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" @@ -8381,13 +6753,6 @@ write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@^5.2.0: - version "5.2.3" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" - integrity sha1-BVQQU0FJIbwpxjvuFLiw3VCwez0= - dependencies: - async-limiter "~1.0.0" - ws@^6.0.0: version "6.2.2" resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" @@ -8400,11 +6765,6 @@ ws@^8.2.3: resolved "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769" integrity sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ== -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo= - xml-name-validator@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" @@ -8440,13 +6800,6 @@ yallist@^4.0.0: resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@10.x: - version "10.1.0" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - integrity sha1-cgImW4n36eny5XZeD+c1qQXtuqg= - dependencies: - camelcase "^4.1.0" - yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" @@ -8460,7 +6813,7 @@ yargs-parser@^21.0.0, yargs-parser@^21.0.1: resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== -yargs@^13.3.0, yargs@^13.3.2: +yargs@^13.3.2: version "13.3.2" resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== From 0e5b0e6ae6f823bf7b9ec077e75f0a4a7b275562 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Fri, 9 Sep 2022 16:10:02 +0300 Subject: [PATCH 26/32] Update outdated typescript-eslint plugins --- package.json | 6 +- yarn.lock | 164 ++++++++++++++++++++++++++++----------------------- 2 files changed, 93 insertions(+), 77 deletions(-) diff --git a/package.json b/package.json index 00ea939..8ebf3d4 100644 --- a/package.json +++ b/package.json @@ -27,9 +27,9 @@ "bump-version": "sh ./scripts/bump-version.sh" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^4.14.0", - "@typescript-eslint/eslint-plugin-tslint": "^4.14.0", - "@typescript-eslint/parser": "^4.14.0", + "@typescript-eslint/eslint-plugin": "^5.36.2", + "@typescript-eslint/eslint-plugin-tslint": "^5.36.2", + "@typescript-eslint/parser": "^5.36.2", "eslint": "^7.18.0", "eslint-plugin-jsdoc": "^31.0.8", "eslint-plugin-react": "^7.22.0", diff --git a/yarn.lock b/yarn.lock index 4811851..597f7f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -710,7 +710,7 @@ "@types/jest@^24.0.20": version "24.9.1" - resolved "https://artifactory.grammarly.io/artifactory/api/npm/common-npm/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" + resolved "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" integrity sha1-Arr5Vzx48bmXSl82d4s2aqd71TQ= dependencies: jest-diff "^24.3.0" @@ -724,10 +724,10 @@ "@types/parse5" "*" "@types/tough-cookie" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": +"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + integrity sha1-1CG2xSejA398hEM/0sQingFoY9M= "@types/node@*", "@types/node@^18.0.0": version "18.0.0" @@ -799,83 +799,94 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin-tslint@^4.14.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.33.0.tgz#c0f2a5a8a53a915d6c24983888013b7e78e75b44" - integrity sha512-o3ujMErtZJPgiNRETRJefo1bFNrloocOa5dMU49OW/G+Rq92IbXTY6FSF5MOwrdQK1X+VBEcA8y6PhUPWGlYqA== +"@typescript-eslint/eslint-plugin-tslint@^5.36.2": + version "5.36.2" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-5.36.2.tgz#f34060fd72813317dc885c9afae1ff82f3064091" + integrity sha1-80Bg/XKBMxfciFya+uH/gvMGQJE= dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/utils" "5.36.2" lodash "^4.17.21" -"@typescript-eslint/eslint-plugin@^4.14.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== +"@typescript-eslint/eslint-plugin@^5.36.2": + version "5.36.2" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz#6df092a20e0f9ec748b27f293a12cb39d0c1fe4d" + integrity sha1-bfCSog4PnsdIsn8pOhLLOdDB/k0= dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" - debug "^4.3.1" + "@typescript-eslint/scope-manager" "5.36.2" + "@typescript-eslint/type-utils" "5.36.2" + "@typescript-eslint/utils" "5.36.2" + debug "^4.3.4" functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.1.0" - semver "^7.3.5" + ignore "^5.2.0" + regexpp "^3.2.0" + semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== +"@typescript-eslint/parser@^5.36.2": + version "5.36.2" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.36.2.tgz#3ddf323d3ac85a25295a55fcb9c7a49ab4680ddd" + integrity sha1-Pd8yPTrIWiUpWlX8ucekmrRoDd0= dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" + "@typescript-eslint/scope-manager" "5.36.2" + "@typescript-eslint/types" "5.36.2" + "@typescript-eslint/typescript-estree" "5.36.2" + debug "^4.3.4" -"@typescript-eslint/parser@^4.14.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== +"@typescript-eslint/scope-manager@5.36.2": + version "5.36.2" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz#a75eb588a3879ae659514780831370642505d1cd" + integrity sha1-p161iKOHmuZZUUeAgxNwZCUF0c0= dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" + "@typescript-eslint/types" "5.36.2" + "@typescript-eslint/visitor-keys" "5.36.2" -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== +"@typescript-eslint/type-utils@5.36.2": + version "5.36.2" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz#752373f4babf05e993adf2cd543a763632826391" + integrity sha1-dSNz9Lq/BemTrfLNVDp2NjKCY5E= dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" + "@typescript-eslint/typescript-estree" "5.36.2" + "@typescript-eslint/utils" "5.36.2" + debug "^4.3.4" + tsutils "^3.21.0" -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== +"@typescript-eslint/types@5.36.2": + version "5.36.2" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" + integrity sha1-pQZuUA68/O42aUGGzMV7lVwF+vk= + +"@typescript-eslint/typescript-estree@5.36.2": + version "5.36.2" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz#0c93418b36c53ba0bc34c61fe9405c4d1d8fe560" + integrity sha1-DJNBizbFO6C8NMYf6UBcTR2P5WA= + dependencies: + "@typescript-eslint/types" "5.36.2" + "@typescript-eslint/visitor-keys" "5.36.2" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== +"@typescript-eslint/utils@5.36.2": + version "5.36.2" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.36.2.tgz#b01a76f0ab244404c7aefc340c5015d5ce6da74c" + integrity sha1-sBp28KskRATHrvw0DFAV1c5tp0w= dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.36.2" + "@typescript-eslint/types" "5.36.2" + "@typescript-eslint/typescript-estree" "5.36.2" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== +"@typescript-eslint/visitor-keys@5.36.2": + version "5.36.2" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz#2f8f78da0a3bad3320d2ac24965791ac39dace5a" + integrity sha1-L4942go7rTMg0qwklleRrDnazlo= dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" + "@typescript-eslint/types" "5.36.2" + eslint-visitor-keys "^3.3.0" "@webassemblyjs/ast@1.9.0": version "1.9.0" @@ -2075,10 +2086,10 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + integrity sha1-Exn2V5NX8jONMzfSzdSRS7XcyGU= dependencies: ms "2.1.2" @@ -2504,6 +2515,11 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha1-9kgPprHzDv4tGWiqisdFuGJGmCY= + eslint-webpack-plugin@^2.5.3: version "2.7.0" resolved "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.7.0.tgz#0525793a4f8c652c1c6d863995ce1e0f2dcbd143" @@ -3104,10 +3120,10 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globby@^11.0.3: +globby@^11.1.0: version "11.1.0" resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + integrity sha1-vUvpi7BC+D15b344EZkfvoKg00s= dependencies: array-union "^2.1.0" dir-glob "^3.0.1" @@ -3330,7 +3346,7 @@ ignore@^4.0.6: resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.8, ignore@^5.2.0: +ignore@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -3559,10 +3575,10 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + integrity sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ= dependencies: is-extglob "^2.1.1" @@ -5386,10 +5402,10 @@ regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" -regexpp@^3.1.0: +regexpp@^3.1.0, regexpp@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + integrity sha1-BCWido2PI7rXDKS5BGH6LxIT4bI= regextras@^0.7.1: version "0.7.1" @@ -5607,10 +5623,10 @@ schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" -semver@7.x, semver@^7.2.1, semver@^7.3.4, semver@^7.3.5: +semver@7.x, semver@^7.2.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: version "7.3.7" resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + integrity sha1-EsW2Sa/b+QSXB3luIqQCiBTOUj8= dependencies: lru-cache "^6.0.0" From 773e6388913f519d0f19bafeef9f67982ce95dc3 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Sun, 11 Sep 2022 15:43:07 +0300 Subject: [PATCH 27/32] =?UTF-8?q?Expose=20`structEq`=20from=20=C2=AB@gramm?= =?UTF-8?q?arly/focal=C2=BB=20to=20avoid=20breaking=20changes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/focal/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/focal/src/index.ts b/packages/focal/src/index.ts index 2a7cb8a..0185766 100644 --- a/packages/focal/src/index.ts +++ b/packages/focal/src/index.ts @@ -1,4 +1,4 @@ -export { Lens, Prism, Optic, Atom, ReadOnlyAtom, Option } from '@grammarly/focal-atom' +export { Lens, Prism, Optic, Atom, ReadOnlyAtom, Option, structEq } from '@grammarly/focal-atom' export { bind, bindElementProps, classes, F, lift, From 754fd05af3d35c37504afbe7ecc0f5543bf5562a Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Sun, 26 Feb 2023 21:29:20 +0200 Subject: [PATCH 28/32] Move focal-atom to dependencies of focal. This should avoid breaking changes for the existing projects --- packages/focal/package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/focal/package.json b/packages/focal/package.json index 139558f..08975f9 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -95,7 +95,6 @@ "url": "https://github.com/grammarly/focal.git" }, "devDependencies": { - "@grammarly/focal-atom": "^0.9.0", "@types/jest": "^24.0.20", "@types/node": "^18.0.0", "@types/react": "^18.0.14", @@ -108,10 +107,12 @@ "ts-jest": "^28.0.5", "typescript": "^4.7.4" }, + "dependencies": { + "@grammarly/focal-atom": "^0.9.0" + }, "peerDependencies": { "@types/react": ">= 18.0.0 < 19.0.0-0", "@types/react-dom": ">= 18.0.0 < 19.0.0-0", - "@grammarly/focal-atom": ">= 0.9.0 < 0.10.0.0-0", "react": ">= 18.0.0 < 19.0.0-0", "react-dom": ">= 18.0.0 < 19.0.0-0", "rxjs": ">= 6.3.3 < 7.0.0-0" From 70d575ebe93b8079bcfb2f3cc8dff2fe1763957d Mon Sep 17 00:00:00 2001 From: Serhii Yavnyi Date: Mon, 27 Feb 2023 10:03:31 -0800 Subject: [PATCH 29/32] Derussification --- packages/focal-atom/package.json | 11 +++++------ packages/focal/package.json | 10 +++++----- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/packages/focal-atom/package.json b/packages/focal-atom/package.json index 45d924a..d0a7e82 100644 --- a/packages/focal-atom/package.json +++ b/packages/focal-atom/package.json @@ -29,13 +29,12 @@ "lint": "eslint './src/**/*.ts*' 'test/**/*.ts*' && tsc --noemit", "prepack": "cp ../../README.md ./ && cp ../../LICENSE ./", "postpack": "rm README.md && rm LICENSE" - }, - "author": "Sergey Yavnyi ", + "author": "Serhii Yavnyi ", "contributors": [ { - "name": "Sergey Yavnyi", - "email": "sergey.yavnyi@grammarly.com" + "name": "Serhii Yavnyi", + "email": "serhii.yavnyi@grammarly.com" }, { "name": "Valentyn Gaidylo", @@ -58,8 +57,8 @@ "email": "yaroslav.voloshchuk@grammarly.com" }, { - "name": "Sergey Rudenko", - "email": "sergey.rudenko@grammarly.com" + "name": "Sergii Rudenko", + "email": "rudenko.sergey92@gmail.com" }, { "name": "Gregory Shehet", diff --git a/packages/focal/package.json b/packages/focal/package.json index 08975f9..42340c8 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -33,11 +33,11 @@ "prepack": "cp ../../README.md ./ && cp ../../LICENSE ./", "postpack": "rm README.md && rm LICENSE" }, - "author": "Sergey Yavnyi ", + "author": "Serhii Yavnyi ", "contributors": [ { - "name": "Sergey Yavnyi", - "email": "sergey.yavnyi@grammarly.com" + "name": "Serhii Yavnyi", + "email": "serhii.yavnyi@grammarly.com" }, { "name": "Valentyn Gaidylo", @@ -60,8 +60,8 @@ "email": "yaroslav.voloshchuk@grammarly.com" }, { - "name": "Sergey Rudenko", - "email": "sergey.rudenko@grammarly.com" + "name": "Sergii Rudenko", + "email": "rudenko.sergey92@gmail.com" }, { "name": "Gregory Shehet", From 56aaf9c24b4cf37a1b4f6bd1c687ec4544ed18c0 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Wed, 5 Apr 2023 15:32:31 +0300 Subject: [PATCH 30/32] v0.10.0-alpha.0 --- packages/examples/all/package.json | 2 +- packages/examples/todomvc/package.json | 2 +- packages/focal-atom/package.json | 2 +- packages/focal/package.json | 4 ++-- packages/test/package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/examples/all/package.json b/packages/examples/all/package.json index 209ec2f..34f634e 100644 --- a/packages/examples/all/package.json +++ b/packages/examples/all/package.json @@ -21,7 +21,7 @@ "author": "Grammarly, Inc.", "license": "Apache-2.0", "devDependencies": { - "@grammarly/focal": "0.9.0", + "@grammarly/focal": "0.10.0-alpha.0", "@types/react": "^18.0.14", "@types/react-dom": "^18.0.0", "css-loader": "^3.2.0", diff --git a/packages/examples/todomvc/package.json b/packages/examples/todomvc/package.json index d461580..6c84268 100644 --- a/packages/examples/todomvc/package.json +++ b/packages/examples/todomvc/package.json @@ -21,7 +21,7 @@ "author": "Grammarly, Inc.", "license": "Apache-2.0", "devDependencies": { - "@grammarly/focal": "0.9.0", + "@grammarly/focal": "0.10.0-alpha.0", "@types/react": "^18.0.14", "@types/react-dom": "^18.0.0", "eslint": "^7.18.0", diff --git a/packages/focal-atom/package.json b/packages/focal-atom/package.json index d0a7e82..d5f4f87 100644 --- a/packages/focal-atom/package.json +++ b/packages/focal-atom/package.json @@ -1,6 +1,6 @@ { "name": "@grammarly/focal-atom", - "version": "0.9.0", + "version": "0.10.0-alpha.0", "description": "FRP Atom: observables, immutable data and lenses", "main": "dist/_cjs/src/index.js", "module": "dist/_esm5/src/index.js", diff --git a/packages/focal/package.json b/packages/focal/package.json index 42340c8..ea00440 100644 --- a/packages/focal/package.json +++ b/packages/focal/package.json @@ -1,6 +1,6 @@ { "name": "@grammarly/focal", - "version": "0.9.0", + "version": "0.10.0-alpha.0", "description": "FRP UI with React, observables, immutable data and lenses", "main": "dist/_cjs/src/index.js", "module": "dist/_esm5/src/index.js", @@ -108,7 +108,7 @@ "typescript": "^4.7.4" }, "dependencies": { - "@grammarly/focal-atom": "^0.9.0" + "@grammarly/focal-atom": "^0.10.0-alpha.0" }, "peerDependencies": { "@types/react": ">= 18.0.0 < 19.0.0-0", diff --git a/packages/test/package.json b/packages/test/package.json index 1c970e5..f553916 100644 --- a/packages/test/package.json +++ b/packages/test/package.json @@ -17,7 +17,7 @@ "author": "Grammarly, Inc.", "license": "Apache-2.0", "devDependencies": { - "@grammarly/focal": "0.9.0", + "@grammarly/focal": "0.10.0-alpha.0", "@types/react": "^18.0.14", "@types/react-dom": "^18.0.0", "eslint": "^7.18.0", From 3ba2f9f19449bdbd5fdabbd2658b713ba137b8e4 Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Wed, 5 Apr 2023 15:32:46 +0300 Subject: [PATCH 31/32] Update bump-version script --- scripts/bump-version.sh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/scripts/bump-version.sh b/scripts/bump-version.sh index 468d6c3..cbd610b 100644 --- a/scripts/bump-version.sh +++ b/scripts/bump-version.sh @@ -1,24 +1,27 @@ #!/bin/bash +# exit when any command fails +set -e + VER=$1 echo Bumping version to v${VER}... cd packages/focal && yarn version --new-version $VER --no-git-tag-version && cd ../.. -sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/all/package.json -sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/examples/todomvc/package.json -sed -i '' 's/grammarly\/focal":.*$/grammarly\/focal": "'${VER}'",/g' packages/test/package.json +sed -i '' 's/grammarly\/focal":.*"\(.*\)$/grammarly\/focal": "'${VER}'"\1/g' packages/examples/all/package.json +sed -i '' 's/grammarly\/focal":.*"\(.*\)$/grammarly\/focal": "'${VER}'"\1/g' packages/examples/todomvc/package.json +sed -i '' 's/grammarly\/focal":.*"\(.*\)$/grammarly\/focal": "'${VER}'"\1/g' packages/test/package.json echo Bumping version to v${VER}... cd packages/focal-atom && yarn version --new-version $VER --no-git-tag-version && cd ../.. -sed -i '' 's/grammarly\/focal-atom":.*$/grammarly\/focal-atom": "'${VER}'",/g' packages/focal/package.json -sed -i '' 's/grammarly\/focal-atom":.*$/grammarly\/focal-atom": "'${VER}'",/g' packages/examples/all/package.json -sed -i '' 's/grammarly\/focal-atom":.*$/grammarly\/focal-atom": "'${VER}'",/g' packages/examples/todomvc/package.json -sed -i '' 's/grammarly\/focal-atom":.*$/grammarly\/focal-atom": "'${VER}'",/g' packages/test/package.json +sed -i '' 's/grammarly\/focal-atom":.*"\(.*\)$/grammarly\/focal-atom": "^'${VER}'"\1/g' packages/focal/package.json +sed -i '' 's/grammarly\/focal-atom":.*"\(.*\)$/grammarly\/focal-atom": "'${VER}'"\1/g' packages/examples/all/package.json +sed -i '' 's/grammarly\/focal-atom":.*"\(.*\)$/grammarly\/focal-atom": "'${VER}'"\1/g' packages/examples/todomvc/package.json +sed -i '' 's/grammarly\/focal-atom":.*"\(.*\)$/grammarly\/focal-atom": "'${VER}'"\1/g' packages/test/package.json # update yarn.lock -yarn && yarn test +yarn && yarn build && yarn test # commit changes git add . From df10b5a5afb10dde484e34728777ae82db7225fc Mon Sep 17 00:00:00 2001 From: Oleksii Levzhynskyi Date: Wed, 5 Apr 2023 15:57:17 +0300 Subject: [PATCH 32/32] Use node 16 --- .github/workflows/release.yml | 7 +++++-- .github/workflows/tests.yml | 11 +++-------- .nvmrc | 2 +- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index df4f86f..625f1d9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,6 +8,7 @@ jobs: release: name: Release runs-on: ubuntu-latest + steps: - name: Branch name id: branch_name @@ -15,8 +16,10 @@ jobs: echo ::set-output name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/} echo ::set-output name=TARBALL_FOCAL::grammarly-focal-${GITHUB_REF#refs/tags/}.tgz echo ::set-output name=TARBALL_FOCAL_ATOM::grammarly-focal-atom-${GITHUB_REF#refs/tags/}.tgz - - name: Checkout code - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 16 - run: yarn install - run: yarn build - run: yarn test diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7315eed..24af5c8 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,16 +7,11 @@ jobs: name: Run tests runs-on: ubuntu-latest - strategy: - matrix: - node-version: [12.x] - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: - node-version: ${{ matrix.node-version }} + node-version: 16 - run: yarn install - run: yarn build - run: yarn test diff --git a/.nvmrc b/.nvmrc index cae54a2..6f7f377 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v12.14.1 +v16