New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

lpm-core

Package Overview
Dependencies
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lpm-core

Layout Package Manager Project

latest
Source
npmnpm
Version
0.1.78
Version published
Maintainers
1
Created
Source

LPM

LPM stands for Layout Package Manager (it is indeed an acronym). The Core of the project is the Layout-JSON format, a markup format to describe cross-language layouts:

See the Layout-JSON specification

This repository contains:

  • Information: format specifications, links to the project's repositories
  • Element component for ReactJS - renders the Layout-JSON markup

Incentive

To improve the process of developing new layouts by borrowing successful code practices:

  • Package management: install layout packages, publish new layouts
  • Transpilers: transform Layout-JSON to other popular formats
  • Tools: online editors, gists , import/export plugins (for Sketch, Webstorm, etc.)

Specifications

  • Packages: support unique identifiers, simple versioning, description package specification
  • Markup: support responsive layouts, variables, placeholders Layout-JSON specification
  • Transpilers: to HTML / SASS, ReactJS and React Native

Repositories

Current projects:

Core

  • lpm Layout-JSON specification, Element component, transpilers
  • lpm-transpilers transform Layout-JSON to HTML/SASS, ReactJS, React Native

Components

Services

currently empty

Future projects:

  • lpmjs: Package Manager Server lpmjs.com
  • lpm-cli: install packages from terminal
  • rnbin: collaborative gists for React Native rnbin.com
  • htmlbin: collaborative gists for HTML/SASS htmlbin.com
  • jupiter: visual artboards for large projects
  • sketch-lpm: Sketch plugin to export layouts from sketch

Element Component

npm install lpm-core

Example

https://dht.github.io/lpm

Usage

Here is a quick example to get you started:

Import

 import Element from 'lpm-core/Element';

Simple

<div style={{width: '400px',position: 'fixed',top: 0,left: 0,marginLeft: '60px',zIndex: 999,backgroundColor: 'white',boxShadow: '0 0 5px rgba(0,0,0,0.1)',borderRadius: '1px'}}>
    <Element id={ 1 }
        statePath={ 'elements/elements' }
        onElementClick={(element_id, parent_id, element_type, ev)=>{}}
        onElementDblClick={(element_id, parent_id, element_type, ev)=>{}}
    />
</div>

Note: statePath is the path to the elements in the redux store.

Contribution

To run locally install all the dependencies:

dev:

npm install

peer:

npm install react@^15.4.1 react-dom@^15.4.1

run with npm:

npm start

and open:http://localhost:3000

Furthor development

Firbase integration ideas

With Firebase's socket-based service, LPM project may explore the following ideas:

  • Live collaboration: see others as they build layouts, build layouts in teams
  • Real-time UI: layouts loaded in real time by the user's client. A modal component for instance which takes a modal-identifier and loads a modal from Firebase.
  • Tutorials (with redux): replay a process of layout building, learn how it was done

We will soon try to build a dashboard with Real-time UI and composite layouts.

License

This project is licensed under the terms of the MIT license

FAQs

Package last updated on 02 Nov 2017

Did you know?

Socket

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