Skip to content

Node.js package of HR data sets for mocking and testing

Notifications You must be signed in to change notification settings

seek-oss/fake-hr

Repository files navigation

fake-hr

Powered by skuba

fake-hr is a Node.js package that contains limited HR data sets.

It can be plugged into generators like Chance and Faker to supplement their built-in data sets, and is intentionally abstracted away from SEEK's own data structures and knowledge graphs.

We use this to generate mock data for our GraphQL Playground and Wingman mockup.

Table of contents

API

competencies

Get a list of competencies.

import { fakeHr } from 'fake-hr';

fakeHr.competencies.all;
// string[]

fakeHr.competencies.all[0];
// Active Learning

education.institutions

Get a list of education institutions.

import { fakeHr } from 'fake-hr';

fakeHr.education.institutions.all;
// EducationInstitution[]

fakeHr.education.institutions.filter({ country: 'au', level: [6, 7] });
// EducationInstitution[]

fakeHr.education.institutions.all[0];
// {
//   countries: [ 'au' ],
//   name: 'Canberra Institute of Technology',
//   levels: [ 2, 3, 4, 5 ]
// }

education.qualifications

Get a list of education qualifications.

import { fakeHr } from 'fake-hr';

fakeHr.education.qualifications.all;
// EducationQualification[]

fakeHr.education.qualifications.filter({ level: [2, 3] });
// EducationQualification[]

fakeHr.education.qualifications.all[0];
// {
//   countries: [ 'au' ],
//   level: 2,
//   name: 'Certificate I in Aboriginal and Torres Strait Islander Language and Knowledge Work'
// }

Development

Prerequisites

  • Node.js LTS
  • pnpm
pnpm install

Test

pnpm run test

Lint

# fix
pnpm run format

# check
pnpm run lint

Package

# compile source
pnpm run build

# review bundle
npm pack

Release

This package is published to the public npm registry with a GitHub Actions release workflow.

The workflow runs on select branches:

on:
  push:
    branches:
      # add others as necessary
      - beta
      - master
      # - alpha

It depends on this repo being hosted on seek-oss with appropriate access.

Releasing latest

Commits to the master branch will be released with the latest tag, which is the default used when running pnpm install.

Releasing other dist-tags

semantic-release prescribes a branch-based workflow for managing distribution tags.

You can push to other branches to manage betas, maintenance updates to prior major versions, and more.

Here are some branches that semantic-release supports by default:

Git branch npm dist-tag
master latest
alpha alpha
beta beta
next next
1.x release-1.x

For more information, see the semantic-release docs on triggering a release.