@spheremall_org/shared-toolbox

0.10.0 • Public • Published

SphereMall shared toolbox

A package with common scripts that are commonly used during deployment.

List of scripts:

sm-publish-swagger

publishing swagger.json to the shared S3 bucket (tsoa spec is required before publish).

Usage example:

  • package.json:

      {
        "scripts": {
            "swagger:generate": "tsoa spec",
            "swagger:publish": "sm-publish-swagger"
        }
      }
  • bitbucket-pipelines.yml

      step:
        script:
          - npm run swagger:generate
          - npm run swagger:publish

Requirements:

  • AWS_STATIC_BUCKET_NAME env variable
  • AWS_DEFAULT_REGION env variable

sm-output-hash-update

updating output hash for a microfrontend in mf-imports.json on a static S3 bucket.

Usage example:

  • package.json:

      {
        "scripts": {
            "output-hash-update": "sm-output-hash-update"
        }
      }
  • bitbucket-pipelines.yml

      step:
        artifacts:
          - public/**
        script:
          - npm run build
          - npm run output-hash-update

Requirements:

  • AWS_STATIC_BUCKET_NAME env variable
  • AWS_DEFAULT_REGION env variable

pact-broker-configuration

common constant with required properties of pact broker to authorize with basic auth flow.

Usage example:

  • publish-pacts.js
    require('dotenv').config({ path: `./.env.${process.env.NODE_ENV || 'development'}` });
    
    const pact    = require('@pact-foundation/pact-node/src/index'),
          project = require('../package.json'),
          toolbox = require('@spheremall_org/shared-toolbox');
    
    pact.publishPacts(Object.assign({
            pactFilesOrDirs: [ './pacts/files' ],
            pactBroker     : project.pactBrokerUrl,
            consumerVersion: project.version,
            tags           : [ 'latest' ]
        }, toolbox.pactBrokerConfig))
        .then(() => console.log('Pacts were successfully published!'));
    • pact.verify.spec.ts
    import pact from '@pact-foundation/pact-node';
    /**
     * For verifying pacts locally: creds for pact should not be stored in `.env.test`.
     * If no variable exists - load it from `.env.development`.
    */
    if (!process.env.PACT_BROKER_BASE_URL) {
       require('dotenv').config({ path: './.env.development' });
    }
    const project = require('../../package.json'),
          toolbox = require('@spheremall_org/shared-toolbox');
    pact.verifyPacts(Object.assign({
            providerBaseUrl          : 'http://localhost:3000',
            provider                 : project.name,
            providerVersion          : project.version,
            publishVerificationResult: true
        }, toolbox.pactBrokerConfig));

Requirements:

  • PACT_BROKER_BASE_URL env variable
  • PACT_BROKER_USERNAME env variable
  • PACT_BROKER_PASSWORD env variable

Readme

Keywords

none

Package Sidebar

Install

npm i @spheremall_org/shared-toolbox

Weekly Downloads

0

Version

0.10.0

License

MIT

Unpacked Size

8.02 kB

Total Files

9

Last publish

Collaborators

  • spheremall
  • dvorobei
  • d.sarno