From 54a4af2d9b0937f55c61c6bb87f1e6f950429f1f Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Thu, 17 Jun 2021 10:03:56 +0530 Subject: [PATCH 01/13] =?UTF-8?q?=F0=9F=94=A7=20enable=20no-unresolved=20r?= =?UTF-8?q?ule?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 17 +++++++++++- package-lock.json | 71 ++++++++++------------------------------------- package.json | 2 +- 3 files changed, 31 insertions(+), 59 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 38da7f5a..5adfe445 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -13,13 +13,21 @@ module.exports = { rules: { 'prettier/prettier': 'error', 'import/no-cycle': 'error', + 'import/no-unresolved': 'error', '@typescript-eslint/no-var-requires': 'warn', '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], }, + settings: { + 'import/resolver': { + node: { + extensions: ['.js', '.ts'], + }, + }, + }, overrides: [ { // For tests - files: ['*.test.{ts,js}', './**/__tests__/*.*'], + files: ['*.test.{ts,js}', './**/__tests__/**/*.*'], env: { jest: true, }, @@ -30,5 +38,12 @@ module.exports = { 'global-require': 'off', }, }, + { + // For examples + files: ['./examples/**/*.*'], + rules: { + 'import/no-unresolved': 'warn', + }, + }, ], }; diff --git a/package-lock.json b/package-lock.json index afa5325e..ce7bc75b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3052,27 +3052,6 @@ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, - "contains-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-1.0.0.tgz", - "integrity": "sha1-NFizMhhWA+ju0Y9RjUoQiIo6vJE=", - "dev": true, - "requires": { - "normalize-path": "^2.1.1", - "path-starts-with": "^1.0.0" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, "convert-source-map": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", @@ -3566,9 +3545,9 @@ } }, "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3579,14 +3558,14 @@ "has-symbols": "^1.0.2", "is-callable": "^1.2.3", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" + "unbox-primitive": "^1.0.1" } }, "es-to-primitive": { @@ -3990,14 +3969,13 @@ } }, "eslint-plugin-import": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.2.tgz", - "integrity": "sha512-LmNoRptHBxOP+nb0PIKz1y6OSzCJlB+0g0IGS3XV4KaKk2q4szqQ6s6F1utVf5ZRkxk/QOTjdxe7v4VjS99Bsg==", + "version": "2.23.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz", + "integrity": "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==", "dev": true, "requires": { "array-includes": "^3.1.3", "array.prototype.flat": "^1.2.4", - "contains-path": "^1.0.0", "debug": "^2.6.9", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.4", @@ -9003,15 +8981,14 @@ } }, "object.values": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", - "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", + "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" + "es-abstract": "^1.18.2" } }, "once": { @@ -9231,26 +9208,6 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, - "path-starts-with": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-starts-with/-/path-starts-with-1.0.0.tgz", - "integrity": "sha1-soJDAV6LE43lcmgqxS2kLmRq2E4=", - "dev": true, - "requires": { - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", diff --git a/package.json b/package.json index d44d64d8..f3bf21df 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,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", From 73f51ba5009534fe531d0d4795c75c6f5590b6a2 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 10:23:49 +0530 Subject: [PATCH 02/13] fix imports --- src/cli/commands/list.ts | 2 +- src/client/eventBus.ts | 2 +- src/client/googlePubSub.ts | 4 ++-- src/service/subscriberLoader.ts | 4 ++-- src/subscriber/subscriberV2.ts | 6 +++--- src/topic/index.ts | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/cli/commands/list.ts b/src/cli/commands/list.ts index d9931337..38dd6f09 100644 --- a/src/cli/commands/list.ts +++ b/src/cli/commands/list.ts @@ -2,7 +2,7 @@ import { PubSubService } from '../../index'; import chalk from 'chalk'; import { cli } from 'cli-ux'; import wrapAnsi = require('wrap-ansi'); -import { SubscriberTuple } from 'subscriber'; +import { SubscriberTuple } from '../../subscriber'; export default { command: 'list', diff --git a/src/client/eventBus.ts b/src/client/eventBus.ts index 2f8bfc23..e36b269c 100644 --- a/src/client/eventBus.ts +++ b/src/client/eventBus.ts @@ -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; diff --git a/src/client/googlePubSub.ts b/src/client/googlePubSub.ts index 155ddf20..969453ae 100644 --- a/src/client/googlePubSub.ts +++ b/src/client/googlePubSub.ts @@ -11,10 +11,10 @@ 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 { GooglePubSubProject } from '../interface/GooglePubSubProject'; import { CredentialBody } from 'google-auth-library'; import Bluebird from 'bluebird'; diff --git a/src/service/subscriberLoader.ts b/src/service/subscriberLoader.ts index 1c6e055e..c0fd44b3 100644 --- a/src/service/subscriberLoader.ts +++ b/src/service/subscriberLoader.ts @@ -6,13 +6,13 @@ import { } from '../subscriber'; import { resolve, join } from 'path'; import fs = require('fs'); -import { SubscriptionServiceFile } from './resourceResolver'; import { SubscriberMetadata, SubscriberObject, SubscriberVersion, SubscriberOptions, -} from 'subscriber/subscriberV2'; +} from '../subscriber/subscriberV2'; +import { SubscriptionServiceFile } from './resourceResolver'; const getSubscriberFiles = ( dir: string, diff --git a/src/subscriber/subscriberV2.ts b/src/subscriber/subscriberV2.ts index 721cf21e..730606da 100644 --- a/src/subscriber/subscriberV2.ts +++ b/src/subscriber/subscriberV2.ts @@ -1,7 +1,7 @@ -import Subscriber from './subscriber'; -import Message from '../message'; import { SubscriberOptions as GoogleCloudSubscriberOptions } from '@google-cloud/pubsub/build/src/subscriber'; -import { GooglePubSubProject } from 'interface/GooglePubSubProject'; +import { GooglePubSubProject } from '../interface/GooglePubSubProject'; +import Message from '../message'; +import Subscriber from './subscriber'; export type SubscriberVersion = 'v1' | 'v2' | 'v3'; diff --git a/src/topic/index.ts b/src/topic/index.ts index 69fe9a3a..ae097fc7 100644 --- a/src/topic/index.ts +++ b/src/topic/index.ts @@ -1,6 +1,6 @@ import PubSubService from '../service/pubsub'; import { RecursivePartial, RetryConfig } from '../interface/retryConfig'; -import { GooglePubSubProject } from 'interface/GooglePubSubProject'; +import { GooglePubSubProject } from '../interface/GooglePubSubProject'; /** * extend this interface to define your own payload From ea99d0895cf8b101cce16bc671774ef499aeb9c6 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 10:28:08 +0530 Subject: [PATCH 03/13] =?UTF-8?q?=F0=9F=9A=A8=20=20add=20import/order=20ru?= =?UTF-8?q?le?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 15 +++++++++++++++ __tests__/pubsub.google.service.test.ts | 2 +- __tests__/subscription.autoload.test.ts | 6 +----- __tests__/subscription.v2.test.ts | 6 +----- __tests__/subscription.v3.test.ts | 6 +----- __tests__/subscriptions.service.test.ts | 4 ---- __tests__/topic_withProjectCredentials.test.ts | 2 +- src/cli/commands/list.ts | 2 +- src/cli/commands/start.ts | 2 +- src/cli/commands/subscriptions.ts | 2 +- src/client/googlePubSub.ts | 10 +++++----- src/service/pubsub.ts | 2 +- src/service/subscriberLoader.ts | 4 ++-- src/service/subscription.ts | 2 +- 14 files changed, 32 insertions(+), 33 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 5adfe445..22cf412a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -14,6 +14,19 @@ module.exports = { '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: '^_' }], }, @@ -23,6 +36,8 @@ module.exports = { extensions: ['.js', '.ts'], }, }, + 'import/internal-regex': + '^(@deliveryhero|@honestfoodcompany|react|next)(/.+)?$', }, overrides: [ { diff --git a/__tests__/pubsub.google.service.test.ts b/__tests__/pubsub.google.service.test.ts index e85ecdbc..fe99a8c8 100644 --- a/__tests__/pubsub.google.service.test.ts +++ b/__tests__/pubsub.google.service.test.ts @@ -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'; diff --git a/__tests__/subscription.autoload.test.ts b/__tests__/subscription.autoload.test.ts index 64ce240d..945ad79d 100644 --- a/__tests__/subscription.autoload.test.ts +++ b/__tests__/subscription.autoload.test.ts @@ -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, diff --git a/__tests__/subscription.v2.test.ts b/__tests__/subscription.v2.test.ts index d483c6df..a8a7fb1f 100644 --- a/__tests__/subscription.v2.test.ts +++ b/__tests__/subscription.v2.test.ts @@ -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, diff --git a/__tests__/subscription.v3.test.ts b/__tests__/subscription.v3.test.ts index 7516d7fc..257c34c7 100644 --- a/__tests__/subscription.v3.test.ts +++ b/__tests__/subscription.v3.test.ts @@ -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, diff --git a/__tests__/subscriptions.service.test.ts b/__tests__/subscriptions.service.test.ts index fd6abc7b..f43a1984 100644 --- a/__tests__/subscriptions.service.test.ts +++ b/__tests__/subscriptions.service.test.ts @@ -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, diff --git a/__tests__/topic_withProjectCredentials.test.ts b/__tests__/topic_withProjectCredentials.test.ts index 136f1df9..7ff17b71 100644 --- a/__tests__/topic_withProjectCredentials.test.ts +++ b/__tests__/topic_withProjectCredentials.test.ts @@ -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'; diff --git a/src/cli/commands/list.ts b/src/cli/commands/list.ts index 38dd6f09..dca775cc 100644 --- a/src/cli/commands/list.ts +++ b/src/cli/commands/list.ts @@ -1,7 +1,7 @@ -import { PubSubService } from '../../index'; import chalk from 'chalk'; import { cli } from 'cli-ux'; import wrapAnsi = require('wrap-ansi'); +import { PubSubService } from '../../index'; import { SubscriberTuple } from '../../subscriber'; export default { diff --git a/src/cli/commands/start.ts b/src/cli/commands/start.ts index 766d0885..33c17784 100644 --- a/src/cli/commands/start.ts +++ b/src/cli/commands/start.ts @@ -1,5 +1,5 @@ -import { PubSubService } from '../../index'; import chalk from 'chalk'; +import { PubSubService } from '../../index'; export default { command: 'start', diff --git a/src/cli/commands/subscriptions.ts b/src/cli/commands/subscriptions.ts index 2d186531..b24f51d7 100644 --- a/src/cli/commands/subscriptions.ts +++ b/src/cli/commands/subscriptions.ts @@ -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', diff --git a/src/client/googlePubSub.ts b/src/client/googlePubSub.ts index 969453ae..01475187 100644 --- a/src/client/googlePubSub.ts +++ b/src/client/googlePubSub.ts @@ -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 Message from '../message'; -import grpc from 'grpc'; import { GooglePubSubProject } from '../interface/GooglePubSubProject'; -import { CredentialBody } from 'google-auth-library'; -import Bluebird from 'bluebird'; export interface Project { client: GooglePubSub; diff --git a/src/service/pubsub.ts b/src/service/pubsub.ts index 3f4f0e44..99d281c7 100644 --- a/src/service/pubsub.ts +++ b/src/service/pubsub.ts @@ -3,8 +3,8 @@ import { SubscriberTuple, Subscribers } from '../subscriber'; import EventBus from '../client/eventBus'; import { AllSubscriptions, PubSubClientV2 } from '../interface/pubSubClient'; import GooglePubSubAdapter from '../client/googlePubSub'; -import SubscriptionService from './subscription'; import { RetryConfig } from '../interface/retryConfig'; +import SubscriptionService from './subscription'; export default class PubSubService { protected static client: PubSubClientV2; diff --git a/src/service/subscriberLoader.ts b/src/service/subscriberLoader.ts index c0fd44b3..1be78e89 100644 --- a/src/service/subscriberLoader.ts +++ b/src/service/subscriberLoader.ts @@ -1,11 +1,11 @@ +import { resolve, join } from 'path'; +import fs = require('fs'); import { SubscriberV2, Subscribers, SubscriberTuple, SubscriberV1, } from '../subscriber'; -import { resolve, join } from 'path'; -import fs = require('fs'); import { SubscriberMetadata, SubscriberObject, diff --git a/src/service/subscription.ts b/src/service/subscription.ts index 07ba36b7..b3008e69 100644 --- a/src/service/subscription.ts +++ b/src/service/subscription.ts @@ -1,3 +1,4 @@ +import { resolve } from 'path'; import { Subscribers, SubscriberV1, @@ -6,7 +7,6 @@ import { SubscriberTuple, SubscriberOptions, } from '../subscriber'; -import { resolve } from 'path'; import SubscriberLoader from './subscriberLoader'; import { ResourceResolver } from './resourceResolver'; From ca47b132d2b1eab171bc01df3357003fffb638c8 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 10:30:02 +0530 Subject: [PATCH 04/13] update lint rule for examples --- .eslintrc.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.eslintrc.js b/.eslintrc.js index 22cf412a..8c0b3f3c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -57,7 +57,10 @@ module.exports = { // For examples files: ['./examples/**/*.*'], rules: { - 'import/no-unresolved': 'warn', + 'import/no-unresolved': [ + 'error', + { ignore: ['@honestfoodcompany/pubsub', '@deliveryhero/pubsub'] }, + ], }, }, ], From a5284d74c6802760e9969f8b39ce902a2f0048fe Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 11:00:13 +0530 Subject: [PATCH 05/13] add ci badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fedab619..4038bf64 100644 --- a/README.md +++ b/README.md @@ -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) From 26be6ee884330c82118e32b152ba06283e63f295 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 11:26:47 +0530 Subject: [PATCH 06/13] 1.7.12-0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index ce7bc75b..e19b6813 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@honestfoodcompany/pubsub", - "version": "1.7.11", + "version": "1.7.12-0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f3bf21df..c3e422dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@honestfoodcompany/pubsub", - "version": "1.7.11", + "version": "1.7.12-0", "description": "pubsub framework for managing topics and subscriptions", "main": "dist/index.js", "scripts": { From 239618688c142ab68231716b1d66698ebdc5972c Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 11:27:49 +0530 Subject: [PATCH 07/13] fix build pipeline --- .github/workflows/release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2b2a77d3..723c911d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,6 @@ on: jobs: publish-npm: - needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 From c065dc38312f42d8ba55c89415192757b228a622 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 11:28:44 +0530 Subject: [PATCH 08/13] 1.7.12-1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index e19b6813..b4d04352 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@honestfoodcompany/pubsub", - "version": "1.7.12-0", + "version": "1.7.12-1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index c3e422dc..f9c108eb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@honestfoodcompany/pubsub", - "version": "1.7.12-0", + "version": "1.7.12-1", "description": "pubsub framework for managing topics and subscriptions", "main": "dist/index.js", "scripts": { From 05aae2f5c4ffc381ccc4ec993ae0c897835e3f76 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 11:42:26 +0530 Subject: [PATCH 09/13] =?UTF-8?q?=F0=9F=91=B7=20add=20separate=20prereleas?= =?UTF-8?q?e=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/prerelease.yml | 49 ++++++++++++++++++++++++++++++++ .github/workflows/release.yml | 2 +- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/prerelease.yml diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml new file mode 100644 index 00000000..5bd4cda6 --- /dev/null +++ b/.github/workflows/prerelease.yml @@ -0,0 +1,49 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release 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: + 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}} + + publish-gpr: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 12 + registry-url: https://npm.pkg.github.com/ + + - name: Change package name + run: | + sed -i 's,@honestfoodcompany/pubsub,@deliveryhero/pubsub,' package.json + sed -i 's,@honestfoodcompany/pubsub,@deliveryhero/pubsub,' package-lock.json + + - name: 📦 Install dependencies + run: npm ci + + - name: 🚀 Publish + run: npm publish --tag next + env: + NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 723c911d..0d51664b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,7 @@ name: Node.js Package on: push: tags: - - 'v*' + - v[0-9]+.[0-9]+.[0-9]+ jobs: publish-npm: From 96667784b4b8d9fd2d6a06f42419df402e9655e8 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 11:45:25 +0530 Subject: [PATCH 10/13] 1.7.12-2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b4d04352..20eb30aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@honestfoodcompany/pubsub", - "version": "1.7.12-1", + "version": "1.7.12-2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f9c108eb..38d4b712 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@honestfoodcompany/pubsub", - "version": "1.7.12-1", + "version": "1.7.12-2", "description": "pubsub framework for managing topics and subscriptions", "main": "dist/index.js", "scripts": { From 458bd0e3f2bf0df823ab703896a2a0d7f9bf6b57 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 11:54:30 +0530 Subject: [PATCH 11/13] =?UTF-8?q?=F0=9F=93=9D=20add=20homepage=20link=20to?= =?UTF-8?q?=20docs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 38d4b712..566b160e 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "1.7.12-2", "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", From fe1f71b61e6c0efb61cb451ebf68f558cbb207a5 Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 11:59:46 +0530 Subject: [PATCH 12/13] =?UTF-8?q?=F0=9F=91=B7=20publish=20prereleases=20on?= =?UTF-8?q?ly=20to=20npm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/prerelease.yml | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 5bd4cda6..ad5cdb5b 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -1,4 +1,4 @@ -# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created +# 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 @@ -9,6 +9,7 @@ on: - 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: @@ -25,25 +26,3 @@ jobs: run: npm publish --tag next env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN_PUBLISH__HFC_BOT}} - - publish-gpr: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - with: - node-version: 12 - registry-url: https://npm.pkg.github.com/ - - - name: Change package name - run: | - sed -i 's,@honestfoodcompany/pubsub,@deliveryhero/pubsub,' package.json - sed -i 's,@honestfoodcompany/pubsub,@deliveryhero/pubsub,' package-lock.json - - - name: 📦 Install dependencies - run: npm ci - - - name: 🚀 Publish - run: npm publish --tag next - env: - NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} From 5e9c41d762d5aefbcb30a163a7fc705b31f2043d Mon Sep 17 00:00:00 2001 From: Rohit Gohri Date: Tue, 22 Jun 2021 12:03:35 +0530 Subject: [PATCH 13/13] 1.7.12 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 20eb30aa..3098ba5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@honestfoodcompany/pubsub", - "version": "1.7.12-2", + "version": "1.7.12", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 566b160e..8da6f574 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@honestfoodcompany/pubsub", - "version": "1.7.12-2", + "version": "1.7.12", "description": "pubsub framework for managing topics and subscriptions", "main": "dist/index.js", "homepage": "https://deliveryhero.github.io/hfc-pubsub/",