Socket
Socket
Sign inDemoInstall

view-launcher

Package Overview
Dependencies
3
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    view-launcher

ViewLaucherA tool for inspecting and opening view files in your code editor <s


Version published
Weekly downloads
119
decreased by-50.83%
Maintainers
1
Install size
2.21 MB
Created
Weekly downloads
 

Readme

Source

ViewLaucher

A tool for inspecting and opening view files in your code editor from browsers directly.
version license TypeScript

Table of Contents

  • Motivation
  • Demo
  • Usage
  • Options
  • Supported Editors
  • How does it work?
  • Contribution

Motivation

When you're working on a rather large project, you may have lots of views, whenever you want to make a change to a specific view, you have to figure out where it was located first.

Even if you just want to change a single letter of the view, you have to first find out the view, to me, this is super tedious and unproductive‼ Especially when collaborating with other people, chances are that you'll have a hard time finding the view file…

This package provides you a simple way to locate the view file. Just click the HTML element from the browser, it'll jump to the view file in your code editor automagically.

Kind of like a "sourcemap of markup", helps you inspect your view at light speed ⚡⚡️️

Demo

A full demo(for Vue.js using Vite) can be found at the playground directory. If you'd like to have it a try, just cd into playground run yarn dev.

The default shortcuts for inspecting elements are:

KeyAction
A AToggle inspect mode
C CToggle inspect mode, but only inspect components
DOpen with your editor(the default setting is VSCode)
EInspect the parent element of current inspecting element

🔰 Usage

Notice: This is the usage guide for client-side lib of ViewLauncher.
For framework specific installation guide see:

You can ignore this if you are using one of the above packages, you are going to have the same options in there.

import { viewLauncher } from 'view-launcher'

const options = {
  theme: 'light',
  editor: 'vscode',
  shortcuts: {
    open: 'd',
    inspect: 'a a',
    inspectComponent: 'c c',
    inspectParent: 'e',
  },
}

viewLauncher(options)

⚙️ Options

The following options are available.

type Options = {
  /**
   * The color theme to be used.
   */
  theme: 'dark' | 'light'

  /**
   * The editor you'd like to use.
   */
  editor: Editor

  /**
   * The shortcuts settings.
   * see the link below for the possible values.
   * @link https://github.com/ccampbell/mousetrap
   */
  shortcuts: {
    /**
     * Open the editor.
     */
    open: string

    /**
     * Toggle inspect mode.
     */
    inspect: string

    /**
     * Toggle inspect mode, but only inspect components.
     */
    inspectComponent: string

    /**
     * Inspect the parent element of current inspecting element.
     */
    inspectParent: string
  }
}

✏️ Supported Editors

  • sublime
  • textmate
  • emacs
  • macvim
  • phpstorm
  • webstorm
  • idea
  • vscode
  • vscode-insiders
  • atom

💡 How does it work?

Elements where have the data-tag-info attribute will be marked as "inspectable elements".

An example of the value of data-tag-info attribute may look like this:

{
  "view": "/path/to/the/view/file",
  "line": 100,
  "column": 23,
  "component": "Modal"
}

ViewLauncher(client-side lib) is going to use the information taken from data-tag-info to open the view files.
The data-tag-info attribute should be injected automatically at the compile-time of view file.
For instance, in the case of Vue-SFC, data-tag-info attributes are injected at the load/transform stage of your bundler.

Contribution

PR is always welcomed. Let me know if you are considering implementing any new support for other template languages 🖐🏼.

FAQs

Last updated on 11 May 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc