Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

parlor

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

parlor

A collection of tools for creating React and Next.js apps

  • 0.1.5
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

NPM version CircleCI Build Status Dependency Status styled with prettier Blazing Fast

parlor

A collection of tools for creating React and Next.js apps.

install

yarn add parlor or npm i -S parlor

usage

Detailed examples can be found at the interplay.app repository.

syncRouting

Sync some routing on a single page app within _app.js of a Next app.

...
import { syncRouting } from 'parlor';
import { matches, pages } from '../lib/routing';
...

class ReduxApp extends NextApp {
  state = {
    synced: false,
  };
  ...
  componentDidMount() {
    syncRouting(matches, pages, () => this.setState({ synced: true }));
  }
  ...
}

getCurrentPath

Get the current browser path in a cross-platform friendly way. Defaults to an empty string.

import { getCurrentPath } from 'parlor';
const currentPath = getCurrentPath();

getLocale

Get the current locale in a cross-platform friendly way. Defaults to en.

import { getLocale } from 'parlor';
const locale = getLocale();

matchesGenerator

Generates matches that can be used for determining if a path matches a valid route.

const { matchesGenerator } = require('parlor');
exports.matches = matchesGenerator('/:page/:alpha');

next-server

A replacement for server.js within a Next app that always renders the root page.

$ node node_modules/parlor/dist/next-server.js

spa-server-maker

Use to generate an SPA server that serves the build directory's index.html and static files. This is useful when running a server for E2E tests using Nightwatch.js.

const spaServerMaker = require('parlor/dist/spa-server-maker.js');
const appRoot = require('app-root-path');

const server = spaServerMaker(done, appRoot.toString());
server.close();

spa-server

Starts an SPA server using spa-server-maker.

$ node node_modules/parlor/dist/spa-server.js

get-dimensions

Gets the window dimensions. If not on browser, returns 0 for each dimension.

import { getDimensions } from 'parlor';
const { width, height } = getDimensions();

dimensions-change-throttler

Function that can be used to throttle the window resize callback. Truthfully, it could be used to throttle anything.

import { dimensionsChangeThrottler } from 'parlor';

...
  onDimensionsChange() {
		throttledOnDimensionsChange(() => this.setState(getDimensions()));
	}

DimensionsContext

Context provider for dimensions of page. Recommended to be used with some sort of throttling.

import { DimensionsContext } from 'parlor';

const App = () => (
  <DimensionsContext.Provider value={{ height, width }}>
    ...
  </DimensionsContext.Provider>
);

const SomeComponent = () => (
  <DimensionsContext.Consumer>
    {({ width }) => (
      ...
    )}
  </DimensionsContext.Consumer>
);

requirements

commands

  • yarn to install NPM packages
  • yarn prettier to clean code
  • yarn eslint to check code is clean
  • yarn ci to run all continuous integration tests
  • yarn babel to convert code from src to dist
  • yarn publisher - to convert code and then start publishing

FAQs

Package last updated on 13 Nov 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

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