New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@axelspringer/mango-api

Package Overview
Dependencies
Maintainers
9
Versions
271
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@axelspringer/mango-api

An API Gateway for WordPress

  • 1.0.0-beta.121
  • latest
  • npm
  • Socket score

Version published
Maintainers
9
Created
Source

:smiley_cat: Mango API


Taylor Swift Volkswagen TypeScript MIT license

Getting Started

requires a node version >= 6 and an npm version >= 3.x.x

we use Koa as middleware

we do provide a help command to display all possible arguments

# Installs the Mango API
npm i @axelspringer/mango-api -g

# Starts the Mango API in Mock modus
mango-api -d

Arguments

most command line arguments have a reflection in environment variables, which allows it to be easily tested and developed in many environments

help

Displays all the available arguments

-wp MANGO_WP (string)

Sets the url to the WordPress REST endpoint (e.g. http://localhost/wp-json/)

-m MANGO_MOCK (boolean)

Enables the Mocks of the Mango API.

-p MANGO_PORT (string)

Sets the port of the Mango API.

-h MANGO_HOST (string)

Sets the host of the Mango API.

-t MANGO_TOKEN (string)

Sets the X-MANGO-TOKEN to the value provided by WP Mango.

-s MANGO_SECRET (string)

Sets the X-MANGO-SECRET to the value provided by WP Mango.

-a MANGO_MOCK_ADAPTER (string)

Uses a differen adapter for the mock data. This should implement and overload.

--plugin MANGO_PLUGINS (string)

Loads an installed plugin (e.g. mango-plugin-pagemanager). If used multiple times, it loads multiple plugins. MANGO_PLUGINS should be used as follows export MANGO_PLUGINS='pagemanager,navigation'.

const api = require('@axelspringer/mango-api');

function mocks(axios, config) {
  let adapter = new api.MockAdapter(axios, config);
  adapter.get(api.WP.Posts, require('./data/posts.json')).reply(200);
  adapter.get(api.WP.Users, require('./data/users.json')).reply(200);
  adapter.get(api.WP.NavLocations, require('./data/navLocations.json'), true).reply(200);
  adapter.get(api.WP.NavLocations + '/', require('./data/navLocations.json')).reply(200);
  adapter.get(api.WP.NavMenu, require('./data/navMenus.json')).reply(200);
  adapter.get(api.WP.NavItems, require('./data/navItems.json')).reply(200);
  adapter.get(api.WP.Settings, require('./data/settings.json')).reply(200);
}

exports.default = mocks

Development

all commands can be seen via npm run help

# Clone the repository
git clone https://github.com/axelspringer/mango

# enter directory
cd mango/packages/api

# Start the local dev server
npm start

# To use your local version for development of other mango parts, run
npm link

Have fun!

License

MIT

FAQs

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

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