1.857.0 • Published 7 days ago

@newfold/huapi-js v1.857.0

Weekly downloads
-
License
-
Repository
-
Last release
7 days ago

@newfold/huapi-js

A JavaScript Client Library for HUAPI

Installation

$ yarn add @newfold/huapi-js
# yarn package installed

Usage

React Hooks

import { useHostingSites } from '@newfold/huapi-js';

const MyComponent = () => {
  const hostingId = '2';
  const { isLoading, data } = useHostingSites(hostingId);

  if (isLoading) return <h1>Loading...</h1>;

  return (
    <div>
      {data?.data?.rows?.map((site) => {
        <div key={site.id}>{site.name}</div>;
      })}
    </div>
  );
};

Mocking with custom handlers

Custom Mock Service Worker handlers can be imported directly from @newfold/huapi-js to easily manipulate your local application or unit tests in an offline testing setting.

First, ensure that Mock Service Worker is configured in your project, then import and add handlers during your setupWorker or setupServer calls as follows:

// import handlers to override data as needed for testing
import { getHostingSitesHandler } from '@newfold/huapi-js/src/handlers';

// add the handlers to your setupServer call
const server = setupServer(
  ...[
    // mock GET /hosting/:hosting-id/sites
    getHostingSitesHandler(),

    // add additional handlers here:
    // postHostingSite(),
  ]
);

Advanced handlers

Building from huapi

Eventually we would like to have an automatic CICD pipeline that kicks off when new huapi builds change the openapi.json specification file (OAS). For now, we can do this manually by running the build command locally and publishing to npm. This can be done with the following steps:

  1. Ensure your repo is on the main branch and in a clean state locally (no unstaged changes)
  2. Run nx build huapi-js to pull down the OAS file from the beta server (requires VPN) and create new build files
  3. Change current directory to ./dist/libs/huapi-js
  4. Publish to npm with yarn publish --access public or to use npm first manually update the version in package.json and git commit/push this change, then use npm publish --access public to publish the changes

    NOTE: You may need to request permissions to publish to the npm registry. Please speak to your manager to request access for this through the Hosting Engineering Leadership Team. Please provide your npmjs.com username with your request, and ensure 2FA Authentication is enabled in your npmjs.com dashboard.

Development

Adding Endpoints

@newfold/haupi-js is based on the OpenAPI specification file that is published by the core huapi project. To add new endpoints, update the core project and publish an updated file, then ensure the build script in package.json is pointed to it.

# run the build command to build a new verions
$ yarn build
# building @newfold/huapi-js...

Adding Custom Mock Handlers

1.853.0

7 days ago

1.857.0

7 days ago

1.852.0

16 days ago

0.1.0-unknown

16 days ago

1.847.0

21 days ago

1.832.0

1 month ago

1.796.0

2 months ago

1.761.0

3 months ago

1.751.0

3 months ago

1.746.0

3 months ago

1.743.0

3 months ago

1.740.0

3 months ago

1.736.0

3 months ago

1.731.0

4 months ago

1.729.0

4 months ago

1.730.0-alpha.0

4 months ago

1.721.0-alpha.0

4 months ago

1.721.0

4 months ago

1.719.0

5 months ago

1.718.0

5 months ago

1.717.0

5 months ago

1.690.0

6 months ago

1.705.0

5 months ago

1.542.0

10 months ago

1.528.0

10 months ago

1.558.0

10 months ago

1.630.0

8 months ago

1.645.0

7 months ago

1.687.0

6 months ago

1.641.0

7 months ago

1.559.0

10 months ago

1.567.0

10 months ago

1.521.0

10 months ago

1.609.0

8 months ago

1.642.0

7 months ago

1.537.0

10 months ago

1.590.0

9 months ago

1.659.0

7 months ago

1.568.0

10 months ago

1.629.0

8 months ago

1.560.0

10 months ago

1.538.0

10 months ago

1.413.1-alpha

11 months ago

1.516.0

11 months ago

1.513.0

11 months ago

1.515.0

11 months ago

1.471.0

1 year ago

1.487.0

12 months ago

1.468.0

1 year ago

1.472.0

1 year ago

1.413.0-alpha.1

1 year ago

1.391.0

1 year ago

1.413.0-alpha.0

1 year ago

1.399.0

1 year ago

0.1.0-beta.347

1 year ago

1.419.0

1 year ago

1.391.0-alpha.0

1 year ago

1.391.0-alpha.1

1 year ago

0.1.0-beta.350

1 year ago

1.378.0

1 year ago

1.389.0

1 year ago

1.424.0

1 year ago

1.401.0

1 year ago

1.396.0

1 year ago

1.413.0

1 year ago

1.388.0-alpha.0

1 year ago

1.432.0

1 year ago

1.388.0-alpha.2

1 year ago

1.388.0-alpha.1

1 year ago

1.388.0-alpha.4

1 year ago

1.388.0-alpha.3

1 year ago

1.388.0-alpha.6

1 year ago

1.388.0-alpha.8

1 year ago

1.388.0-alpha.9

1 year ago

1.388.0

1 year ago

0.1.0-beta.328

1 year ago

0.1.0-beta.320

1 year ago

0.1.0-beta.324

1 year ago

0.1.0-beta.331

1 year ago

0.1.0-beta.332

1 year ago

0.1.0-beta.343

1 year ago

0.1.0-beta.316

1 year ago

0.1.0-beta.314

1 year ago

0.1.0-beta.285

1 year ago

0.1.0-beta.289

1 year ago

0.1.0-beta.292

1 year ago

0.1.0-beta.296

1 year ago

0.1.0-beta.300

1 year ago

0.1.0-beta.274

1 year ago

0.1.0-beta.313

1 year ago

0.1.0-beta.245

2 years ago

0.1.0-beta.206

2 years ago

0.1.0-beta.213

2 years ago

0.1.0-beta.228

2 years ago

0.1.0-beta.226

2 years ago

0.1.0-beta.221

2 years ago

0.1.0-beta.233

2 years ago

0.1.0-beta.172

2 years ago

0.1.0-beta.171

2 years ago

0.1.0-beta.177

2 years ago

0.1.0-beta.175

2 years ago

0.1.0-beta.181

2 years ago

0.1.0-beta.187

2 years ago

0.1.0-beta.185

2 years ago

0.1.0-beta.189

2 years ago

0.1.0-beta.191

2 years ago

0.1.0-dev.3

2 years ago

0.1.0-alpha.1

2 years ago

0.1.0-beta.195

2 years ago

0.1.0-beta.192

2 years ago

0.1.0-alpha.3

2 years ago

0.1.0-dev.1

2 years ago

0.1.0-beta.193

2 years ago

0.1.0-alpha.2

2 years ago

0.1.0-beta.128

2 years ago

0.1.0-beta.122

2 years ago

0.1.0-beta.100

2 years ago

0.1.0-beta.141

2 years ago

0.1.0-beta.142

2 years ago

0.1.0-beta.59

2 years ago

0.1.0-beta.89

2 years ago

0.1.0-beta.156

2 years ago

0.1.0-beta.135

2 years ago

1.2.8

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.8-alpha

2 years ago

1.2.8-alpha.1

2 years ago

1.3.2-alpha

2 years ago

1.2.9

2 years ago

1.2.7

2 years ago

1.2.6-alpha.4

2 years ago

1.2.6-alpha.3

2 years ago

1.2.6-alpha.2

2 years ago

1.2.6-alpha.1

2 years ago

1.2.6-alpha

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.3

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago