🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

@lonelyplanet/dotcom-core

Package Overview
Dependencies
Maintainers
6
Versions
125
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lonelyplanet/dotcom-core

This package is meant to house some of our more common UI and shared libs across dotcom applications.

2.10.0
npm
Version published
Maintainers
6
Created
Source

Dotcom Core

This package is meant to house some of our more common UI and shared libs across dotcom applications.

Install

npm i

Build

npm run build

Building this application generates 3 things, a dist folder with commonjs modules, a dist-es folder with ES Next modules, and lib which contains webpack bundles for including core JS and CSS assets in other applications.

You can use dotcom-core in multiple ways.

Regular imports

import { Toast } from "@lonelyplanet/dotcom-core";

export () => <Toast />;

Global Components

There are 2 parts to using global components.

Server Side Rendering

Rendering components on the server side in an external application is simple.

// app/layout.tsx
import { ssr } from "@lonelyplanet/dotcom-core/dist/classes/runtime";

{ssr({ component: "globalautocomplete", props: { foo: "bar" } })}

There is a registry of components to choose from in src/registry.

What the ssr method does is render your component with renderToString, and then calls renderToStaticMarkup to generate something like...

<div
  data-lpui-component="globalautocomplete"
  data-lpui-component-props="{&quot;foo&quot;:&quot;bar&quot;}"
>
  <div data-reactroot=""><!-- your component --></div>
</div>

Client Side

In order to mount the components on the client side, you can simply include the latest version of dotcom-core from s3.

<script async src="https://assets.staticlp.com/dotcom-core/1.0.0/core.min.js" />
<link rel="stylesheet" href="https://assets.staticlp.com/dotcom-core/1.0.0/core.css" />

We will also be regularly updating a https://assets.staticlp.com/dotcom-core/version.json file on s3 so that a middleware can determine the latest version of the header and footer, and automatically inject the latest scripts.

Local Development

npm run dev

This will run webpack with hot mode enabled on localhost:8080 by default. You can then add the assets to dotcom-web or any other application you're wanting to test simply with...

<script async src="http://localhost:8080/assets/core.js" />
<link rel="stylesheet" href="http://localhost:8080/assets/core.css" />

FAQs

Package last updated on 10 Sep 2018

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