feat(core): Support for store methods in plugins
This commit is contained in:
parent
364eaa58bc
commit
e2c5b61b17
7 changed files with 208 additions and 94 deletions
|
@ -55,6 +55,9 @@ core:
|
|||
'bezier-js': '^4.1.1'
|
||||
'bin-pack': '^1.0.2'
|
||||
'hooks': '^0.3.2'
|
||||
'lodash.get' : '^4.4.2'
|
||||
'lodash.set': '^4.3.2'
|
||||
'lodash.unset': '^4.5.2'
|
||||
dev:
|
||||
'nyc': '^15.1.0'
|
||||
diana:
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
"clean": "rimraf dist",
|
||||
"mbuild": "NO_MINIFY=1 node build.mjs",
|
||||
"symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -",
|
||||
"test": "nyc -x node_modules -x tests -x bin-pack npx mocha tests/*.test.mjs",
|
||||
"test": "nyc -x node_modules -x tests -x bin-pack npx mocha tests/store.test.mjs",
|
||||
"vbuild": "VERBOSE=1 node build.mjs",
|
||||
"lab": "cd ../../sites/lab && yarn start",
|
||||
"tips": "node ../../scripts/help.mjs",
|
||||
|
@ -48,7 +48,10 @@
|
|||
"dependencies": {
|
||||
"bezier-js": "^4.1.1",
|
||||
"bin-pack": "^1.0.2",
|
||||
"hooks": "^0.3.2"
|
||||
"hooks": "^0.3.2",
|
||||
"lodash.get": "^4.4.2",
|
||||
"lodash.set": "^4.3.2",
|
||||
"lodash.unset": "^4.5.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nyc": "^15.1.0"
|
||||
|
|
|
@ -4,6 +4,7 @@ import { Pattern } from './pattern.mjs'
|
|||
import { Point } from './point.mjs'
|
||||
import { Path } from './path.mjs'
|
||||
import { Snippet } from './snippet.mjs'
|
||||
import { Store } from './store.mjs'
|
||||
import {
|
||||
isCoord,
|
||||
capitalize,
|
||||
|
@ -44,6 +45,7 @@ export {
|
|||
Point,
|
||||
Path,
|
||||
Snippet,
|
||||
Store,
|
||||
|
||||
Bezier,
|
||||
capitalize,
|
||||
|
|
|
@ -86,7 +86,7 @@ export function Pattern(config = { options: {} }) {
|
|||
this.is = '' // Will be set when drafting/sampling
|
||||
this.autoLayout = { parts: {} } // Will hold auto-generated layout
|
||||
this.cutList = {} // Will hold the cutlist
|
||||
this.store = new Store(this.raise) // Store for sharing data across parts
|
||||
this.store = new Store([[ 'emit', this.raise]]) // Store for sharing data across parts
|
||||
this.parts = {} // Parts container
|
||||
this.hooks = new Hooks() // Hooks container
|
||||
this.Point = Point // Point constructor
|
||||
|
@ -549,6 +549,7 @@ Pattern.prototype.loadPlugin = function (plugin, data, explicit=false) {
|
|||
this.plugins[plugin.name] = plugin
|
||||
if (plugin.hooks) this.loadPluginHooks(plugin, data)
|
||||
if (plugin.macros) this.loadPluginMacros(plugin)
|
||||
if (plugin.store) this.loadPluginStoreMethods(plugin)
|
||||
this.raise.info(`Loaded plugin \`${plugin.name}:${plugin.version}\``)
|
||||
|
||||
return this
|
||||
|
@ -611,6 +612,11 @@ Pattern.prototype.loadPluginMacros = function (plugin) {
|
|||
}
|
||||
}
|
||||
|
||||
Pattern.prototype.loadPluginStoreMethods = function (plugin) {
|
||||
if (Array.isArray(plugin.store)) this.store = this.store.extend(...plugin.store)
|
||||
else this.raise.warning(`Plugin store methods should be an Array`)
|
||||
}
|
||||
|
||||
Pattern.prototype.macro = function (key, method) {
|
||||
this.macros[key] = method
|
||||
}
|
||||
|
|
|
@ -1,22 +1,71 @@
|
|||
export function Store(raise) {
|
||||
this.data = new Map()
|
||||
this.raise = raise
|
||||
import set from 'lodash.set'
|
||||
import unset from 'lodash.unset'
|
||||
import get from 'lodash.get'
|
||||
|
||||
const avoid = ['set', 'setIfUnset', 'push', 'unset', 'get', 'extend']
|
||||
|
||||
export function Store(methods=[]) {
|
||||
for (const method of methods) {
|
||||
if (avoid.indexOf(method[0]) !== -1) {
|
||||
console.log(`WARNING: You can't squat ${method[0]}in the store`)
|
||||
} else set(this, ...method)
|
||||
}
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
/** Sets a value under index key */
|
||||
Store.prototype.set = function (key, value) {
|
||||
this.data.set(key, value)
|
||||
/** Extends the store with additional methods */
|
||||
Store.prototype.extend = function (...methods) {
|
||||
for (const [path, method] of methods) {
|
||||
if (avoid.indexOf(method[0]) !== -1) {
|
||||
console.log(`WARNING: You can't squat ${method[0]}in the store`)
|
||||
} else set(this, path, (...args) => method(this, ...args))
|
||||
}
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
/** Sets a value under index key */
|
||||
Store.prototype.setIfUnset = function (key, value) {
|
||||
if (!this.data.has(key)) this.data.set(key, value)
|
||||
/** Set key at path to value */
|
||||
Store.prototype.set = function (path, value) {
|
||||
set(this, path, value)
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
/** Gets a value under index key */
|
||||
Store.prototype.get = function (key) {
|
||||
if (!this.data.has(key))
|
||||
this.raise.warning(`Tried to access \`${key}\` in the \`store\` but it is not set`)
|
||||
return this.data.get(key)
|
||||
/** Set key at path to value, but only if it's not currently set */
|
||||
Store.prototype.setIfUnset = function (path, value) {
|
||||
if (typeof get(this, path) === 'undefined') {
|
||||
return set(this, path, value)
|
||||
}
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
/** Adds a value to an array stored under path */
|
||||
Store.prototype.push = function (path, ...values) {
|
||||
const arr = get(this, path)
|
||||
if (Array.isArray(arr)) {
|
||||
return this.set(path, [...arr, ...values])
|
||||
}
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
/** Remove the key at path */
|
||||
Store.prototype.unset = function (path) {
|
||||
unset(this, path)
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
/** Retrieve a key */
|
||||
Store.prototype.get = function (path) {
|
||||
const val = get(this, path)
|
||||
if (typeof val === 'undefined') {
|
||||
const msg = `Tried to access \`${path}\` in the \`store\` but it is not set`
|
||||
if (typeof this.emit?.warning === 'function') this.emit.warning(msg)
|
||||
else console.log(msg)
|
||||
}
|
||||
|
||||
return val
|
||||
}
|
||||
|
|
|
@ -1,31 +1,70 @@
|
|||
import chai from "chai"
|
||||
import { Pattern } from "./dist/index.mjs"
|
||||
import { Design, Store } from "./dist/index.mjs"
|
||||
|
||||
const expect = chai.expect
|
||||
|
||||
const pattern = new Pattern();
|
||||
const store = pattern.store;
|
||||
const store = new Store()
|
||||
|
||||
describe('Store', () => {
|
||||
it("Store should be a Map", () => {
|
||||
expect(store.data.toString()).to.equal("[object Map]");
|
||||
});
|
||||
|
||||
it("Should set/get a store value", () => {
|
||||
it("Should set/get a top-level store value", () => {
|
||||
store.set("foo", "bar");
|
||||
expect(store.get("foo")).to.equal("bar");
|
||||
});
|
||||
|
||||
it("Should set a store value only if unset", () => {
|
||||
store.setIfUnset("few", "baz");
|
||||
store.setIfUnset("few", "schmoo");
|
||||
expect(store.get("few")).to.equal("baz");
|
||||
it("Should set/get a nested store value", () => {
|
||||
store.set("some.nested.key.foo", "bar");
|
||||
expect(store.get("some.nested.key").foo).to.equal("bar");
|
||||
});
|
||||
|
||||
it("Should raise a warning when retrieving a invalid key", () => {
|
||||
it("Should set a store value only if unset", () => {
|
||||
store.setIfUnset("dew.few", "baz");
|
||||
store.setIfUnset("dew.few", "schmoo");
|
||||
expect(store.get("dew").few).to.equal("baz");
|
||||
});
|
||||
|
||||
it("Should push to an array value in the store", () => {
|
||||
store.set("dew.few", ["baz", "bar"]);
|
||||
// store.push is variadic
|
||||
store.push("dew.few", "boz", "bor");
|
||||
expect(store.get("dew").few.length).to.equal(4);
|
||||
});
|
||||
|
||||
it("Should emit a warning when retrieving a invalid key", () => {
|
||||
const events = []
|
||||
const warning = msg => events.push(msg)
|
||||
const store = new Store([[ "emit.warning", warning]])
|
||||
store.get('nope')
|
||||
expect(pattern.events.warning.length).to.equal(1)
|
||||
expect(pattern.events.warning[0]).to.equal('Tried to access `nope` in the `store` but it is not set')
|
||||
expect(events.length).to.equal(1)
|
||||
expect(events[0]).to.equal('Tried to access `nope` in the `store` but it is not set')
|
||||
});
|
||||
|
||||
it("Should add methods to the store from a plugin", () => {
|
||||
const plugin = {
|
||||
name: 'test',
|
||||
version: 1,
|
||||
store: [
|
||||
['test.example.warning', function(store, msg) {
|
||||
store.set('test.message.warning', msg)
|
||||
}],
|
||||
['test.example.info', function(store, msg) {
|
||||
store.set('test.message.info', msg)
|
||||
}],
|
||||
]
|
||||
}
|
||||
const part = {
|
||||
name: 'example.part',
|
||||
draft: part => {
|
||||
const { store } = part.shorthand()
|
||||
store.test.example.warning('hello warning')
|
||||
store.test.example.info('hello info')
|
||||
}
|
||||
}
|
||||
const Test = new Design({plugins: [plugin], parts: [ part ]})
|
||||
const pattern = new Test()
|
||||
pattern.draft()
|
||||
expect(pattern.store.get("test.message.warning")).to.equal("hello warning")
|
||||
expect(pattern.store.get("test.message.info")).to.equal("hello info")
|
||||
});
|
||||
});
|
||||
|
||||
|
|
138
yarn.lock
138
yarn.lock
|
@ -2749,6 +2749,20 @@
|
|||
treeverse "^2.0.0"
|
||||
walk-up-path "^1.0.0"
|
||||
|
||||
"@npmcli/config@^4.0.0":
|
||||
version "4.2.2"
|
||||
resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.2.2.tgz#2e3334dda84f48d059309c53d152e66b05ca24b7"
|
||||
integrity sha512-5GNcLd+0c4bYBnFop53+26CO5GQP0R9YcxlernohpHDWdIgzUg9I0+GEMk3sNHnLntATVU39d283A4OO+W402w==
|
||||
dependencies:
|
||||
"@npmcli/map-workspaces" "^2.0.2"
|
||||
ini "^3.0.0"
|
||||
mkdirp-infer-owner "^2.0.0"
|
||||
nopt "^6.0.0"
|
||||
proc-log "^2.0.0"
|
||||
read-package-json-fast "^2.0.3"
|
||||
semver "^7.3.5"
|
||||
walk-up-path "^1.0.0"
|
||||
|
||||
"@npmcli/fs@^2.1.0":
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.1.tgz#c0c480b03450d8b9fc086816a50cb682668a48bf"
|
||||
|
@ -2780,6 +2794,16 @@
|
|||
npm-bundled "^1.1.1"
|
||||
npm-normalize-package-bin "^1.0.1"
|
||||
|
||||
"@npmcli/map-workspaces@^2.0.2":
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz#9e5e8ab655215a262aefabf139782b894e0504fc"
|
||||
integrity sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==
|
||||
dependencies:
|
||||
"@npmcli/name-from-folder" "^1.0.1"
|
||||
glob "^8.0.1"
|
||||
minimatch "^5.0.1"
|
||||
read-package-json-fast "^2.0.3"
|
||||
|
||||
"@npmcli/map-workspaces@^2.0.3":
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.3.tgz#2d3c75119ee53246e9aa75bc469a55281cd5f08f"
|
||||
|
@ -3381,11 +3405,6 @@
|
|||
dependencies:
|
||||
"@types/istanbul-lib-report" "*"
|
||||
|
||||
"@types/js-yaml@^4.0.0":
|
||||
version "4.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138"
|
||||
integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==
|
||||
|
||||
"@types/json-buffer@~3.0.0":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/json-buffer/-/json-buffer-3.0.0.tgz#85c1ff0f0948fc159810d4b5be35bf8c20875f64"
|
||||
|
@ -3475,11 +3494,6 @@
|
|||
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.45.tgz#155b13a33c665ef2b136f7f245fa525da419e810"
|
||||
integrity sha512-3rKg/L5x0rofKuuUt5zlXzOnKyIHXmIu5R8A0TuNDMF2062/AOIDBciFIjToLEJ/9F9DzkHNot+BpNsMI1OLdQ==
|
||||
|
||||
"@types/node@^17.0.0":
|
||||
version "17.0.45"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190"
|
||||
integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==
|
||||
|
||||
"@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.1":
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
|
||||
|
@ -3838,7 +3852,7 @@ JSONStream@^1.0.4:
|
|||
jsonparse "^1.2.0"
|
||||
through ">=2.2.7 <3"
|
||||
|
||||
abbrev@1:
|
||||
abbrev@1, abbrev@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
||||
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
|
||||
|
@ -5143,13 +5157,6 @@ builtins@^1.0.3:
|
|||
resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88"
|
||||
integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==
|
||||
|
||||
builtins@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/builtins/-/builtins-4.1.0.tgz#1edd016dd91ce771a1ed6fc3b2b71fb918953250"
|
||||
integrity sha512-1bPRZQtmKaO6h7qV1YHXNtr6nCK28k0Zo95KM4dXfILcZZwoHJBN1m3lfLv9LPkcOZlrSr+J1bzMaZFO98Yq0w==
|
||||
dependencies:
|
||||
semver "^7.0.0"
|
||||
|
||||
builtins@^5.0.0, builtins@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9"
|
||||
|
@ -5351,6 +5358,11 @@ camelcase@^6.0.0, camelcase@^6.2.0, camelcase@^6.3.0:
|
|||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
|
||||
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
|
||||
|
||||
camelcase@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.0.tgz#fd112621b212126741f998d614cbc2a8623fd174"
|
||||
integrity sha512-JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ==
|
||||
|
||||
caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373:
|
||||
version "1.0.30001373"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz#2dc3bc3bfcb5d5a929bec11300883040d7b4b4be"
|
||||
|
@ -9105,7 +9117,7 @@ glob@7.2.0:
|
|||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^7.0.0, glob@^7.0.5, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0:
|
||||
glob@^7.0.5, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0:
|
||||
version "7.2.3"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
|
||||
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
|
||||
|
@ -9117,7 +9129,7 @@ glob@^7.0.0, glob@^7.0.5, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0:
|
|||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^8.0.1, glob@^8.0.3:
|
||||
glob@^8.0.0, glob@^8.0.1, glob@^8.0.3:
|
||||
version "8.0.3"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e"
|
||||
integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
|
||||
|
@ -9952,12 +9964,10 @@ import-local@^3.0.2:
|
|||
pkg-dir "^4.2.0"
|
||||
resolve-cwd "^3.0.0"
|
||||
|
||||
import-meta-resolve@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-1.1.1.tgz#244fd542fd1fae73550d4f8b3cde3bba1d7b2b18"
|
||||
integrity sha512-JiTuIvVyPaUg11eTrNDx5bgQ/yMKMZffc7YSjvQeSMXy58DO2SQ8BtAf3xteZvmzvjYh14wnqNjL8XVeDy2o9A==
|
||||
dependencies:
|
||||
builtins "^4.0.0"
|
||||
import-meta-resolve@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-2.1.0.tgz#c8952d331ed6e9bb6ad524a7549deb3d34af41ce"
|
||||
integrity sha512-yG9pxkWJVTy4cmRsNWE3ztFdtFuYIV8G4N+cbCkO8b+qngkLyIUhxQFuZ0qJm67+0nUOxjMPT7nfksPKza1v2g==
|
||||
|
||||
imurmurhash@^0.1.4:
|
||||
version "0.1.4"
|
||||
|
@ -10012,11 +10022,16 @@ ini@2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
|
||||
integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
|
||||
|
||||
ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
|
||||
ini@^1.3.2, ini@^1.3.4, ini@~1.3.0:
|
||||
version "1.3.8"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
|
||||
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
|
||||
|
||||
ini@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.1.tgz#c76ec81007875bc44d544ff7a11a55d12294102d"
|
||||
integrity sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==
|
||||
|
||||
init-package-json@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69"
|
||||
|
@ -11277,15 +11292,6 @@ libnpmaccess@^6.0.3:
|
|||
npm-package-arg "^9.0.1"
|
||||
npm-registry-fetch "^13.0.0"
|
||||
|
||||
libnpmconfig@^1.0.0:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/libnpmconfig/-/libnpmconfig-1.2.1.tgz#c0c2f793a74e67d4825e5039e7a02a0044dfcbc0"
|
||||
integrity sha512-9esX8rTQAHqarx6qeZqmGQKBNZR5OIbl/Ayr0qQDy3oXja2iFVQQI81R6GZ2a02bSNZ9p3YOGX1O6HHCb1X7kA==
|
||||
dependencies:
|
||||
figgy-pudding "^3.5.1"
|
||||
find-up "^3.0.0"
|
||||
ini "^1.3.5"
|
||||
|
||||
libnpmpublish@^6.0.4:
|
||||
version "6.0.4"
|
||||
resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.4.tgz#adb41ec6b0c307d6f603746a4d929dcefb8f1a0b"
|
||||
|
@ -11407,13 +11413,13 @@ load-json-file@^7.0.0:
|
|||
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-7.0.1.tgz#a3c9fde6beffb6bedb5acf104fad6bb1604e1b00"
|
||||
integrity sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==
|
||||
|
||||
load-plugin@^4.0.0:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/load-plugin/-/load-plugin-4.0.1.tgz#9a239b0337064c9b8aac82b0c9f89b067db487c5"
|
||||
integrity sha512-4kMi+mOSn/TR51pDo4tgxROHfBHXsrcyEYSGHcJ1o6TtRaP2PsRM5EwmYbj1uiLDvbfA/ohwuSWZJzqGiai8Dw==
|
||||
load-plugin@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/load-plugin/-/load-plugin-5.0.0.tgz#e24f6a69ed905e6b31d4555b1a46603c11e9c1f0"
|
||||
integrity sha512-jTz8tvC0BTMtof27lTSV5SAOnCRT0Z++k+S3QeQ5CrF8ZAS5L2nhi3euf4ZhJyDkds+nOQGyPcFqdQZ9s8ELkg==
|
||||
dependencies:
|
||||
import-meta-resolve "^1.0.0"
|
||||
libnpmconfig "^1.0.0"
|
||||
"@npmcli/config" "^4.0.0"
|
||||
import-meta-resolve "^2.0.0"
|
||||
|
||||
loader-runner@^2.4.0:
|
||||
version "2.4.0"
|
||||
|
@ -13779,6 +13785,13 @@ nopt@^5.0.0:
|
|||
dependencies:
|
||||
abbrev "1"
|
||||
|
||||
nopt@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d"
|
||||
integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==
|
||||
dependencies:
|
||||
abbrev "^1.0.0"
|
||||
|
||||
nopt@~1.0.10:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
|
||||
|
@ -16061,13 +16074,13 @@ release-zalgo@^1.0.0:
|
|||
dependencies:
|
||||
es6-error "^4.0.1"
|
||||
|
||||
remark-cli@^10.0.1:
|
||||
version "10.0.1"
|
||||
resolved "https://registry.yarnpkg.com/remark-cli/-/remark-cli-10.0.1.tgz#0a38166b8bb1a1720f5ed8a324715563f63dbcba"
|
||||
integrity sha512-+eln31zLE69JwBMoa8nd2sPC0DFZyiWgBrshL8aKb3L2XXTRMuEKWE/IAtNPYEtcktceAQw+OpmqVy8pAmGOwQ==
|
||||
remark-cli@^11.0.0:
|
||||
version "11.0.0"
|
||||
resolved "https://registry.yarnpkg.com/remark-cli/-/remark-cli-11.0.0.tgz#302c15c5e73c0b422a6709f65adb74cac3b5eb53"
|
||||
integrity sha512-8JEWwArXquRq1/In4Ftz7gSG9Scwb1ijT2/dEuBETW9omqhmMRxcfjZ3iKqrak3BnCJeZSXCdWEmPhFKC8+RUQ==
|
||||
dependencies:
|
||||
remark "^14.0.0"
|
||||
unified-args "^9.0.0"
|
||||
unified-args "^10.0.0"
|
||||
|
||||
"remark-copy-linked-files@https://github.com/joostdecock/remark-copy-linked-files":
|
||||
version "1.5.0"
|
||||
|
@ -18577,42 +18590,40 @@ unicode-trie@^2.0.0:
|
|||
pako "^0.2.5"
|
||||
tiny-inflate "^1.0.0"
|
||||
|
||||
unified-args@^9.0.0:
|
||||
version "9.0.2"
|
||||
resolved "https://registry.yarnpkg.com/unified-args/-/unified-args-9.0.2.tgz#0c14f555e73ee29c23f9a567942e29069f56e5a2"
|
||||
integrity sha512-qSqryjoqfJSII4E4Z2Jx7MhXX2MuUIn6DsrlmL8UnWFdGtrWvEtvm7Rx5fKT5TPUz7q/Fb4oxwIHLCttvAuRLQ==
|
||||
unified-args@^10.0.0:
|
||||
version "10.0.0"
|
||||
resolved "https://registry.yarnpkg.com/unified-args/-/unified-args-10.0.0.tgz#95994c5558fea83ff07006cb560fd88cdcf31134"
|
||||
integrity sha512-PqsqxwkXpGSLiMkbjNnKU33Ffm6gso6rAvz1TlBGzMBx3gpx7ewIhViBX8HEWmy0v7pebA5PM6RkRWWaYmtfYw==
|
||||
dependencies:
|
||||
"@types/text-table" "^0.2.0"
|
||||
camelcase "^6.0.0"
|
||||
chalk "^4.0.0"
|
||||
camelcase "^7.0.0"
|
||||
chalk "^5.0.0"
|
||||
chokidar "^3.0.0"
|
||||
fault "^2.0.0"
|
||||
json5 "^2.0.0"
|
||||
minimist "^1.0.0"
|
||||
text-table "^0.2.0"
|
||||
unified-engine "^9.0.0"
|
||||
unified-engine "^10.0.0"
|
||||
|
||||
unified-engine@^9.0.0:
|
||||
version "9.1.1"
|
||||
resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-9.1.1.tgz#f8c7ecc76fc0925db3932dee25ee03696be84408"
|
||||
integrity sha512-yfXfc9zkoCileXE2lyj58AKQr6JK2HeBE8PxEG1U+P6opNSN4lAPPXEyBxL+ITyOQo0ZRDQmXQD04RwdwMovVg==
|
||||
unified-engine@^10.0.0:
|
||||
version "10.0.1"
|
||||
resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-10.0.1.tgz#94f27f1f88660d9b5910595095e4b463ca18e389"
|
||||
integrity sha512-lsj7VC8kNWhK87rGBhidklk4llgrEdJoOZHoQFbTZQ/fA22JqowUPM10bEf05eSZOR6UnUSrZ/mPWHrQsHGm7g==
|
||||
dependencies:
|
||||
"@types/concat-stream" "^2.0.0"
|
||||
"@types/debug" "^4.0.0"
|
||||
"@types/is-empty" "^1.0.0"
|
||||
"@types/js-yaml" "^4.0.0"
|
||||
"@types/node" "^17.0.0"
|
||||
"@types/node" "^18.0.0"
|
||||
"@types/unist" "^2.0.0"
|
||||
concat-stream "^2.0.0"
|
||||
debug "^4.0.0"
|
||||
fault "^2.0.0"
|
||||
glob "^7.0.0"
|
||||
glob "^8.0.0"
|
||||
ignore "^5.0.0"
|
||||
is-buffer "^2.0.0"
|
||||
is-empty "^1.0.0"
|
||||
is-plain-obj "^4.0.0"
|
||||
js-yaml "^4.0.0"
|
||||
load-plugin "^4.0.0"
|
||||
load-plugin "^5.0.0"
|
||||
parse-json "^6.0.0"
|
||||
to-vfile "^7.0.0"
|
||||
trough "^2.0.0"
|
||||
|
@ -18620,6 +18631,7 @@ unified-engine@^9.0.0:
|
|||
vfile-message "^3.0.0"
|
||||
vfile-reporter "^7.0.0"
|
||||
vfile-statistics "^2.0.0"
|
||||
yaml "^2.0.0"
|
||||
|
||||
unified-lint-rule@^2.0.0:
|
||||
version "2.1.1"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue