Socket
Socket
Sign inDemoInstall

@harlem/plugin-devtools

Package Overview
Dependencies
Maintainers
1
Versions
82
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@harlem/plugin-devtools - npm Package Compare versions

Comparing version 1.1.3 to 1.2.0

build.js

0

dist/constants.d.ts

@@ -0,0 +0,0 @@ import type { Options } from './types';

@@ -1,2 +0,219 @@

var t=require("@vue/devtools-api");function e(){return(e=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var r={label:"Harlem",color:4244621};function n(t,e){return t.localeCompare(e)}function a(t,e){return function(r){if(r){var n=r.sender,a=r.store;t.sendInspectorState("harlem"),t.addTimelineEvent({layerId:"harlem",event:{logType:e,title:"Mutation",subtitle:a,time:Date.now(),data:r,groupId:n,meta:{store:a}}})}}}module.exports=function(o){void 0===o&&(o=r);var i=e({},r,o),l=i.label,s=i.color;return{name:"devtools",install:function(e,r,o){var i=function(t,e){return function(r){if(r.app===t&&"harlem"===r.inspectorId&&0!==e.size){var a=Array.from(e.keys()).sort(n).map(function(t){return{id:t,label:t}});r.rootNodes=[{children:a,id:"$all",label:"Stores"}]}}}(e,o),u=function(t,e){return function(r){var a=r.nodeId;if(r.app===t&&"harlem"===r.inspectorId&&0!==e.size){var o=[e.get(a)];"$all"===a&&(o=Array.from(e.values())),r.state=function(t){return t.reduce(function(t,e){if(!e)return t;var r=function(t){return{state:[{key:t.name,value:t.state,editable:!0}],getters:Array.from(t.getters).sort(function(t,e){return n(t[0],e[0])}).map(function(t){return{key:t[0],value:(0,t[1])(),editable:!1,objectType:"computed"}}),mutations:Array.from(t.mutations).sort(function(t,e){return n(t[0],e[0])}).map(function(t){return{key:t[0],value:t[1],editable:!1}})}}(e);return{state:[].concat(t.state,r.state),getters:[].concat(t.getters,r.getters),mutations:[].concat(t.mutations,r.mutations)}},{state:[],getters:[],mutations:[]})}(o)}}}(e,o),c=function(t,e){return function(r){var n=r.nodeId,a=r.path,o=r.state,i=r.set;if(r.app===t&&"harlem"===r.inspectorId&&0!==e.size){var l=a.shift(),s=e.get("$all"===n&&l||n);s&&s.write("plugin:devtools:set","devtools",function(t){return i(t,a,o.value)})}}}(e,o);t.setupDevtoolsPlugin({app:e,label:l,id:"harlem",logo:"https://harlemjs.com/assets/images/favicon.png"},function(t){var e=a(t),n=a(t,"error");t.addInspector({label:l,id:"harlem",icon:"storage",treeFilterPlaceholder:"Search stores"}),t.addTimelineLayer({label:l,color:s,id:"harlem"}),t.on.getInspectorTree(i),t.on.getInspectorState(u),t.on.editInspectorState(c),r.on("mutation:after",e),r.on("mutation:error",n)})}}};
var HarlemDevtoolsPlugin = (() => {
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, {get: all[name], enumerable: true});
};
var __exportStar = (target, module, desc) => {
if (module && typeof module === "object" || typeof module === "function") {
for (let key of __getOwnPropNames(module))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, {get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable});
}
return target;
};
var __toModule = (module) => {
return __exportStar(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? {get: () => module.default, enumerable: true} : {value: module, enumerable: true})), module);
};
// src/index.ts
var src_exports = {};
__export(src_exports, {
default: () => createDevtoolsPlugin
});
// src/constants.ts
var SENDER = "devtools";
var DEVTOOLS_ID = "harlem";
var ALL_STORES_ID = "$all";
var OPTIONS = {
label: "Harlem",
color: 4244621
};
// src/index.ts
var import_devtools_api = __toModule(require("@vue/devtools-api"));
function stringComparitor(valueA, valueB) {
return valueA.localeCompare(valueB);
}
function getInspectorTreeHook(application, stores) {
return (payload) => {
const {
app,
inspectorId
} = payload;
if (app !== application || inspectorId !== DEVTOOLS_ID || stores.size === 0) {
return;
}
const children = Array.from(stores.keys()).sort(stringComparitor).map((name) => ({
id: name,
label: name
}));
payload.rootNodes = [
{
children,
id: ALL_STORES_ID,
label: "Stores"
}
];
};
}
function getStoreSnapshot(store) {
const state = [
{
key: store.name,
value: store.state,
editable: true
}
];
const getters = Array.from(store.getters).sort(([a], [b]) => stringComparitor(a, b)).map(([key, accessor]) => ({
key,
value: accessor(),
editable: false,
objectType: "computed"
}));
const mutations = Array.from(store.mutations).sort(([a], [b]) => stringComparitor(a, b)).map(([key, mutator]) => ({
key,
value: mutator,
editable: false
}));
return {
state,
getters,
mutations
};
}
function getStoreSnapshots(stores) {
return stores.reduce((output, store) => {
if (!store) {
return output;
}
const snapshot = getStoreSnapshot(store);
return {
state: [...output.state, ...snapshot.state],
getters: [...output.getters, ...snapshot.getters],
mutations: [...output.mutations, ...snapshot.mutations]
};
}, {
state: [],
getters: [],
mutations: []
});
}
function getInspectorStateHook(application, stores) {
return (payload) => {
const {
app,
inspectorId,
nodeId
} = payload;
if (app !== application || inspectorId !== DEVTOOLS_ID || stores.size === 0) {
return;
}
let internalStores = [stores.get(nodeId)];
if (nodeId === ALL_STORES_ID) {
internalStores = Array.from(stores.values());
}
payload.state = getStoreSnapshots(internalStores);
};
}
function getInspectorEditHook(application, stores) {
return (payload) => {
const {
app,
inspectorId,
nodeId,
path,
state,
set
} = payload;
if (app !== application || inspectorId !== DEVTOOLS_ID || stores.size === 0) {
return;
}
const root = path.shift();
const storeId = nodeId === ALL_STORES_ID ? root || nodeId : nodeId;
const store = stores.get(storeId);
if (!store) {
return;
}
store.write("plugin:devtools:set", SENDER, (_state) => set(_state, path, state.value));
};
}
function getMutationHook(api, logType) {
return (payload) => {
if (!payload) {
return;
}
const {
sender,
store
} = payload;
api.sendInspectorState(DEVTOOLS_ID);
api.addTimelineEvent({
layerId: DEVTOOLS_ID,
event: {
logType,
title: "Mutation",
subtitle: store,
time: Date.now(),
data: payload,
groupId: sender,
meta: {
store
}
}
});
};
}
function createDevtoolsPlugin(options = OPTIONS) {
const {
label,
color
} = {
...OPTIONS,
...options
};
return {
name: "devtools",
install(app, eventEmitter, stores) {
const inspectorTreeHook = getInspectorTreeHook(app, stores);
const inspectorStateHook = getInspectorStateHook(app, stores);
const inspectorEditHook = getInspectorEditHook(app, stores);
const descriptor = {
app,
label,
id: DEVTOOLS_ID,
logo: "https://harlemjs.com/assets/images/favicon.png"
};
(0, import_devtools_api.setupDevtoolsPlugin)(descriptor, (api) => {
const afterMutationHook = getMutationHook(api);
const errorMutationHook = getMutationHook(api, "error");
api.addInspector({
label,
id: DEVTOOLS_ID,
icon: "storage",
treeFilterPlaceholder: "Search stores"
});
api.addTimelineLayer({
label,
color,
id: DEVTOOLS_ID
});
api.on.getInspectorTree(inspectorTreeHook);
api.on.getInspectorState(inspectorStateHook);
api.on.editInspectorState(inspectorEditHook);
eventEmitter.on("mutation:after", afterMutationHook);
eventEmitter.on("mutation:error", errorMutationHook);
});
}
};
}
return src_exports;
})();
//# sourceMappingURL=harlem-devtools.js.map
import type { Options } from './types';
import type { HarlemPlugin } from '@harlem/core';
export default function createDevtoolsPlugin(options?: Partial<Options>): HarlemPlugin;

25

package.json
{
"name": "@harlem/plugin-devtools",
"version": "1.1.3",
"amdName": "harlemDevtools",
"version": "1.2.0",
"license": "MIT",

@@ -8,12 +9,15 @@ "author": "Andrew Courtice <andrewcourtice@users.noreply.github.com>",

"homepage": "https://harlemjs.com",
"main": "dist/harlem-devtools.js",
"module": "dist/harlem-devtools.esm.js",
"main": "dist/harlem-devtools..js",
"module": "dist/harlem-devtools.mjs",
"umd:main": "dist/harlem-devtools.umd.js",
"unpkg": "dist/harlem-devtools.js",
"unpkg": "dist/harlem-devtools.min.js",
"types": "dist/index.d.ts",
"source": "src/index.ts",
"exports": {
"require": "./dist/harlem-devtools.js",
"import": "./dist/harlem-devtools.esm.js",
"default": "./dist/harlem-devtools.esm.js"
".": {
"require": "./dist/harlem-devtools.js",
"umd": "./dist/harlem-devtools.umd.js",
"browser": "./dist/harlem-devtools.mjs",
"import": "./dist/harlem-devtools.mjs"
}
},

@@ -37,3 +41,3 @@ "keywords": [

"dev": "microbundle watch --raw",
"build": "microbundle build --raw",
"build": "node build.js",
"prepublish": "yarn build"

@@ -48,5 +52,6 @@ },

"devDependencies": {
"@harlem/core": "^1.1.3"
"@harlem/build": "^1.2.0",
"@harlem/core": "^1.2.0"
},
"gitHead": "4345a656ed321f5210032f07627c9e146118bbd2"
"gitHead": "549873cf8d6a6c7d1871e79ca6f11e87d3858004"
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc