JSPM

  • Created
  • Published
  • Downloads 2239
  • Score
    100M100P100Q109685F
  • License MIT

Official JavaScript library for the WordPress.com REST API

Package Exports

  • wpcom

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (wpcom) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

wpcom.js

Official JavaScript library for the WordPress.com REST API. Compatible with Node.js and web browsers.

How to use

Node.js

Introduce the wpcom dependency into your package.json ...

npm install --save wpcom

... and then initialize it with your API token ( [optional ] ( #authentication ) ).

// Edit a post on a site
var wpcom = require( 'wpcom' )( '<your-token>' );

wpcom
    .site( 'your-blog.wordpress.com' )
    .postsList( { number: 8 } )
        then( list => { ... } )
        catch( error => { ... } );

Browser

Include dist/wpcom.js.

<script src="wpcom.js"></script>
<script>
    var wpcom = WPCOM( '<your-token>' );
    var blog = wpcom.site( 'your-blog.wordpress.com' );
    blog.postsList( { number: 8 } )
        .then( list => { ... } )
        .catch( error => { ... } );
</script>

If bundling your project with webpack, you may need to add this to your main webpack.config.js file to avoid Cannot resolve module fs errors when bundling.

node: {
    fs: 'empty'
},

This instructs webpack to mock the fs module.

Authentication

Not all requests require a REST API token. For example, listing posts on a public site is something anyone can do.

If you do need a token, here are some links that will help you generate one:

API

Examples

// Edit a post on a site
var wpcom = require( 'wpcom' )( '<your-token>' );
var blog = wpcom.site( 'your-blog.wordpress.com' );
blog.post( { slug: 'a-post-slug' } ).update( data )
    then( res => { ... } )
    catch( err => { ... } );

You can omit the API token for operations that don't require permissions:

// List the last 8 posts on a site
var wpcom = require( 'wpcom' )();
var blog = wpcom.site( 'your-blog.wordpress.com' );
blog.postsList( { number: 8 } )
    .then( list => { ... } )
    .catch( error => { ... } );

More pre-made examples are in the examples/ directory.

Test

The token and site vars must be given to testing scripts either using TOKEN and SITE environment vars respectively or through of a config.json file into test/ folder like bellow:

{
    "site": "<site-id>",
    "token": "<token>"
}

Run tests:

$ make test-all

Also tests can be filtered using make test FILTER=<filter>:

$ make test FILTER=wpcom.site.post

License

MIT – Copyright 2014 Automattic