Skip to content

Commit

Permalink
Merge pull request #38 from deliveryhero/PUB-41-fix-builds
Browse files Browse the repository at this point in the history
  • Loading branch information
rohit-gohri committed Jun 22, 2021
2 parents bb5b2b3 + 5e9c41d commit 226c49a
Show file tree
Hide file tree
Showing 22 changed files with 109 additions and 106 deletions.
35 changes: 34 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,36 @@ module.exports = {
rules: {
'prettier/prettier': 'error',
'import/no-cycle': 'error',
'import/no-unresolved': 'error',
'import/order': [
'error',
{
groups: [
'builtin',
'internal',
'external',
'parent',
'sibling',
'index',
],
},
],
'@typescript-eslint/no-var-requires': 'warn',
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
},
settings: {
'import/resolver': {
node: {
extensions: ['.js', '.ts'],
},
},
'import/internal-regex':
'^(@deliveryhero|@honestfoodcompany|react|next)(/.+)?$',
},
overrides: [
{
// For tests
files: ['*.test.{ts,js}', './**/__tests__/*.*'],
files: ['*.test.{ts,js}', './**/__tests__/**/*.*'],
env: {
jest: true,
},
Expand All @@ -30,5 +53,15 @@ module.exports = {
'global-require': 'off',
},
},
{
// For examples
files: ['./examples/**/*.*'],
rules: {
'import/no-unresolved': [
'error',
{ ignore: ['@honestfoodcompany/pubsub', '@deliveryhero/pubsub'] },
],
},
},
],
};
28 changes: 28 additions & 0 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This workflow will run publish a package to NPM when a prerelease tag is created
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages

name: Node.js Package

on:
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+-*

jobs:
# Github Package Registry doesn't handle tags very well so only publishing prereleases to npm
publish-npm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
registry-url: https://registry.npmjs.org/

- name: 📦 Install dependencies
run: npm ci

- name: 🚀 Publish
run: npm publish --tag next
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN_PUBLISH__HFC_BOT}}
3 changes: 1 addition & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@ name: Node.js Package
on:
push:
tags:
- 'v*'
- v[0-9]+.[0-9]+.[0-9]+

jobs:
publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Google Pub/Sub Node.js Framework

[![npm](https://img.shields.io/npm/v/@honestfoodcompany/pubsub)](https://www.npmjs.com/package/@honestfoodcompany/pubsub)
[![Node.js CI](https://github.com/deliveryhero/hfc-pubsub/actions/workflows/build.yml/badge.svg)](https://github.com/deliveryhero/hfc-pubsub/actions/workflows/build.yml)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/70fe253d1da34e8aa16bf37ae613d2fe)](https://www.codacy.com?utm_source=github.com&utm_medium=referral&utm_content=deliveryhero/hfc-pubsub&utm_campaign=Badge_Grade)
[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/70fe253d1da34e8aa16bf37ae613d2fe)](https://www.codacy.com?utm_source=github.com&utm_medium=referral&utm_content=deliveryhero/hfc-pubsub&utm_campaign=Badge_Coverage)

Expand Down
2 changes: 1 addition & 1 deletion __tests__/pubsub.google.service.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import PubSubService from '../src/service/pubsub';
import { RetryConfig } from '../src/interface';
import ExampleTopic from './pubsub/topics/example.topic';
import ExampleSubscriber from './pubsub/subscriptions/example.subscription-ts';
import { RetryConfig } from '../src/interface';

process.env.PUBSUB_DRIVER = 'google';

Expand Down
6 changes: 1 addition & 5 deletions __tests__/subscription.autoload.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
const path = require('path');
require('dotenv').config({ path: require('find-config')('.env') });
import SubscriptionService from '../src/service/subscription';
import { Subscribers } from '../src/subscriber';
import SubscriptionService from '../src/service/subscription';
import generateMockMessage from './helpers/generateMockMessage';

const mockPubSub = jest.fn();

process.env.PUBSUB_ROOT_DIR = path.resolve(__dirname, 'pubsub');

jest.mock('@google-cloud/pubsub', () => ({
__esModule: true,
PubSub: mockPubSub,
Expand Down
6 changes: 1 addition & 5 deletions __tests__/subscription.v2.test.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
const path = require('path');
require('dotenv').config({ path: require('find-config')('.env') });
import SubscriptionService from '../src/service/subscription';
import { Subscribers } from '../src/subscriber';
import SubscriptionService from '../src/service/subscription';

const mockPubSub = jest.fn();

process.env.PUBSUB_ROOT_DIR = path.resolve(__dirname, 'pubsub');

jest.mock('@google-cloud/pubsub', () => ({
__esModule: true,
PubSub: mockPubSub,
Expand Down
6 changes: 1 addition & 5 deletions __tests__/subscription.v3.test.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
const path = require('path');
require('dotenv').config({ path: require('find-config')('.env') });
import SubscriptionService from '../src/service/subscription';
import { Subscribers } from '../src/subscriber';
import SubscriptionService from '../src/service/subscription';

const mockPubSub = jest.fn();

process.env.PUBSUB_ROOT_DIR = path.resolve(__dirname, 'pubsub');

jest.mock('@google-cloud/pubsub', () => ({
__esModule: true,
PubSub: mockPubSub,
Expand Down
4 changes: 0 additions & 4 deletions __tests__/subscriptions.service.test.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
const path = require('path');
require('dotenv').config({ path: require('find-config')('.env') });
import SubscriptionService from '../src/service/subscription';

const mockPubSub = jest.fn();

process.env.PUBSUB_ROOT_DIR = path.resolve(__dirname, 'pubsub');

jest.mock('@google-cloud/pubsub', () => ({
__esModule: true,
PubSub: mockPubSub,
Expand Down
2 changes: 1 addition & 1 deletion __tests__/topic_withProjectCredentials.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require('dotenv').config({ path: require('find-config')('.env') });
import exampleTopicWithProjectCredentials from './pubsub/topics/example.topic_withProjectCredentials';
import GooglePubSubAdapter from '../src/client/googlePubSub';
import PubSubService from '../src/service/pubsub';
import exampleTopicWithProjectCredentials from './pubsub/topics/example.topic_withProjectCredentials';

process.env.PUBSUB_DRIVER = 'google';

Expand Down
73 changes: 15 additions & 58 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{
"name": "@honestfoodcompany/pubsub",
"version": "1.7.11",
"version": "1.7.12",
"description": "pubsub framework for managing topics and subscriptions",
"main": "dist/index.js",
"homepage": "https://deliveryhero.github.io/hfc-pubsub/",
"scripts": {
"prebuild": "rimraf dist",
"build": "tsc -p tsconfig.build.json",
Expand Down Expand Up @@ -52,7 +53,7 @@
"@typescript-eslint/parser": "^4.16.1",
"eslint": "^7.23.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-import": "^2.23.4",
"eslint-plugin-prettier": "^3.4.0",
"husky": "^3.1.0",
"jest": "^26.6.3",
Expand Down
4 changes: 2 additions & 2 deletions src/cli/commands/list.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { PubSubService } from '../../index';
import chalk from 'chalk';
import { cli } from 'cli-ux';
import wrapAnsi = require('wrap-ansi');
import { SubscriberTuple } from 'subscriber';
import { PubSubService } from '../../index';
import { SubscriberTuple } from '../../subscriber';

export default {
command: 'list',
Expand Down
2 changes: 1 addition & 1 deletion src/cli/commands/start.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { PubSubService } from '../../index';
import chalk from 'chalk';
import { PubSubService } from '../../index';

export default {
command: 'start',
Expand Down
2 changes: 1 addition & 1 deletion src/cli/commands/subscriptions.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require('dotenv').config({ path: require('find-config')('.env') });
import { PubSubService } from '../../index';
import chalk from 'chalk';
import { cli } from 'cli-ux';
import { PubSubService } from '../../index';

export default {
command: 'subscriptions',
Expand Down
2 changes: 1 addition & 1 deletion src/client/eventBus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import EventEmitter from 'events';
import { AllSubscriptions, PubSubClientV2 } from '../interface/pubSubClient';
import Message from '../message';
import { Topic, Payload } from '../index';
import { SubscriberTuple } from 'subscriber';
import { SubscriberTuple } from '../subscriber';

export default class EventBus extends EventEmitter implements PubSubClientV2 {
protected static instance: EventBus;
Expand Down
14 changes: 7 additions & 7 deletions src/client/googlePubSub.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
import chalk from 'chalk';
import { Topic, Payload } from '../index';
import { AllSubscriptions, PubSubClientV2 } from '../interface/pubSubClient';
import {
PubSub as GooglePubSub,
Message as GoogleCloudMessage,
Subscription as GoogleCloudSubscription,
Topic as GoogleCloudTopic,
} from '@google-cloud/pubsub';
import grpc from 'grpc';
import { CredentialBody } from 'google-auth-library';
import Bluebird from 'bluebird';
import { Topic, Payload } from '../index';
import { AllSubscriptions, PubSubClientV2 } from '../interface/pubSubClient';
import {
SubscriberMetadata,
SubscriberOptions,
} from '../subscriber/subscriberV2';
import { SubscriberTuple } from 'subscriber';
import { SubscriberTuple } from '../subscriber';
import Message from '../message';
import grpc from 'grpc';
import { GooglePubSubProject } from 'interface/GooglePubSubProject';
import { CredentialBody } from 'google-auth-library';
import Bluebird from 'bluebird';
import { GooglePubSubProject } from '../interface/GooglePubSubProject';

export interface Project {
client: GooglePubSub;
Expand Down
Loading

0 comments on commit 226c49a

Please sign in to comment.