diff --git a/packages/churnzero/.babelrc b/packages/churnzero/.babelrc deleted file mode 100644 index cf7ddd9..0000000 --- a/packages/churnzero/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": [["@nrwl/web/babel", { "useBuiltIns": "usage" }]] -} diff --git a/packages/churnzero/.eslintrc.json b/packages/churnzero/.eslintrc.json deleted file mode 100644 index 9d9c0db..0000000 --- a/packages/churnzero/.eslintrc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": ["../../.eslintrc.json"], - "ignorePatterns": ["!**/*"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ] -} diff --git a/packages/churnzero/jest.config.ts b/packages/churnzero/jest.config.ts deleted file mode 100644 index 0241fd3..0000000 --- a/packages/churnzero/jest.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* eslint-disable */ -export default { - displayName: 'ChurnZero', - preset: '../../jest.preset.js', - globals: { - 'ts-jest': { - tsconfig: '/tsconfig.spec.json', - }, - }, - transform: { - '^.+\\.[tj]sx?$': 'ts-jest', - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/packages/ChurnZero', -}; diff --git a/packages/churnzero/package.json b/packages/churnzero/package.json deleted file mode 100644 index ce0884d..0000000 --- a/packages/churnzero/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "@flowpath/churnzero", - "version": "0.0.1" -} diff --git a/packages/churnzero/project.json b/packages/churnzero/project.json deleted file mode 100644 index 03e2272..0000000 --- a/packages/churnzero/project.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "ChurnZero", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/ChurnZero/src", - "projectType": "library", - "targets": { - "build": { - "executor": "@nrwl/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/packages/ChurnZero", - "main": "packages/ChurnZero/src/index.ts", - "tsConfig": "packages/ChurnZero/tsconfig.lib.json", - "assets": ["packages/ChurnZero/*.md"] - } - }, - "lint": { - "executor": "@nrwl/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["packages/ChurnZero/**/*.ts"] - } - }, - "test": { - "executor": "@nrwl/jest:jest", - "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], - "options": { - "jestConfig": "packages/ChurnZero/jest.config.ts", - "passWithNoTests": true - } - } - }, - "tags": [] -} diff --git a/packages/churnzero/src/index.ts b/packages/churnzero/src/index.ts deleted file mode 100644 index 77437bf..0000000 --- a/packages/churnzero/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './lib/ChurnZero'; -export * from './lib/plugins/index' diff --git a/packages/churnzero/src/lib/ChurnZero.ts b/packages/churnzero/src/lib/ChurnZero.ts deleted file mode 100644 index c8b4ee4..0000000 --- a/packages/churnzero/src/lib/ChurnZero.ts +++ /dev/null @@ -1,34 +0,0 @@ -// TEMP docs: https://support.churnzero.com/hc/en-us/articles/360004683552-Integrate-ChurnZero-using-Javascript -import { - ChurnZeroAttributePayload, - ChurnZeroPushPayload, - ChurnZeroRegisterEventPayload, - ChurnZeroSetContactPayload, - ChurnZeroTrackEventPayload, -} from './ChurnZero.types'; - -export type ChurnZeroPayload = { - // Setup & Management - injectSnippet: (node?: HTMLDivElement) => void; - setAppKey: (appKey: string) => void; - setModule: (moduleName: string) => void; - verify: () => void; - stop: () => void; - toggleUrlTracking: (value: boolean) => void; - toggleSilentMode: (value: boolean) => void; - toggleSuccessPanel: (value: boolean) => void; - debug: () => void; - - // Interaction - setContact: (payload: ChurnZeroSetContactPayload) => void; - setAttribute: (payload: ChurnZeroAttributePayload) => void; - trackEvent: (payload: ChurnZeroTrackEventPayload) => void; - registerEvent: (payload: ChurnZeroRegisterEventPayload) => void; - deregisterEvent: (eventName: string) => void; - push: (payload: ChurnZeroPushPayload) => void; // should we allow direct access as a fallback for complex cases? -} - - -export function ChurnZero(): string { - return 'ChurnZero'; -} diff --git a/packages/churnzero/src/lib/ChurnZero.types.ts b/packages/churnzero/src/lib/ChurnZero.types.ts deleted file mode 100644 index ce5bf91..0000000 --- a/packages/churnzero/src/lib/ChurnZero.types.ts +++ /dev/null @@ -1,36 +0,0 @@ -export type ChurnZeroAction = - | 'setAttribute' - | 'incrementAttribute' - | 'trackEvent' - | 'setContact'; - -export type ChurnZeroPushPayload = [ - ChurnZeroAction, - string, - string, - Record -]; - -export type ChurnZeroRegisterEventPayload = { - eventName: string; - callback: (data: unknown) => void; -}; - -export type ChurnZeroSetContactPayload = { - accountExternalId: string; - contactExternalId: string; -}; - -export type ChurnZeroAttributeEntity = 'contact' | 'account'; - -export type ChurnZeroAttributePayload = { - attributes: { name: string; value: unknown }[]; - entity: ChurnZeroAttributeEntity; -}; - -export type ChurnZeroTrackEventPayload = { - eventName: string; - description?: string; - quantity?: number; - customFields?: Record; -}; diff --git a/packages/churnzero/src/lib/churnzero.ts b/packages/churnzero/src/lib/churnzero.ts deleted file mode 100644 index c8b4ee4..0000000 --- a/packages/churnzero/src/lib/churnzero.ts +++ /dev/null @@ -1,34 +0,0 @@ -// TEMP docs: https://support.churnzero.com/hc/en-us/articles/360004683552-Integrate-ChurnZero-using-Javascript -import { - ChurnZeroAttributePayload, - ChurnZeroPushPayload, - ChurnZeroRegisterEventPayload, - ChurnZeroSetContactPayload, - ChurnZeroTrackEventPayload, -} from './ChurnZero.types'; - -export type ChurnZeroPayload = { - // Setup & Management - injectSnippet: (node?: HTMLDivElement) => void; - setAppKey: (appKey: string) => void; - setModule: (moduleName: string) => void; - verify: () => void; - stop: () => void; - toggleUrlTracking: (value: boolean) => void; - toggleSilentMode: (value: boolean) => void; - toggleSuccessPanel: (value: boolean) => void; - debug: () => void; - - // Interaction - setContact: (payload: ChurnZeroSetContactPayload) => void; - setAttribute: (payload: ChurnZeroAttributePayload) => void; - trackEvent: (payload: ChurnZeroTrackEventPayload) => void; - registerEvent: (payload: ChurnZeroRegisterEventPayload) => void; - deregisterEvent: (eventName: string) => void; - push: (payload: ChurnZeroPushPayload) => void; // should we allow direct access as a fallback for complex cases? -} - - -export function ChurnZero(): string { - return 'ChurnZero'; -} diff --git a/packages/churnzero/src/lib/plugins/facade.react.tsx b/packages/churnzero/src/lib/plugins/facade.react.tsx deleted file mode 100644 index 0117fd7..0000000 --- a/packages/churnzero/src/lib/plugins/facade.react.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { ReactElement, ReactNode } from 'react'; -import * as React from 'react'; - -export type ChurnZeroContextValue = { - churnZero: any; -}; -export type ChurnZeroContextShape = { - children: ReactNode; -}; - -const ChurnZeroContext = React.createContext(undefined); -ChurnZeroContext.displayName = 'ChurnZeroContext'; - -const ChurnZeroProvider = React.memo((props: ChurnZeroContextShape): ReactElement => { - // TODO - const churnZero: any = {}; - - const value: ChurnZeroContextValue = React.useMemo( - () => ({ - churnZero, - }), - [churnZero] - ); - - return ; -}); - -function useChurnZeroContext(): ChurnZeroContextValue { - const context = React.useContext(ChurnZeroContext); - if (context === undefined) { - throw new Error(`useChurnZeroContext must be used within a ChurnZeroProvider`); - } - return context; -} - -export { ChurnZeroProvider, useChurnZeroContext }; diff --git a/packages/churnzero/tsconfig.json b/packages/churnzero/tsconfig.json deleted file mode 100644 index e258886..0000000 --- a/packages/churnzero/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - }, - { - "path": "./tsconfig.spec.json" - } - ], - "compilerOptions": { - "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true - } -} diff --git a/packages/churnzero/tsconfig.lib.json b/packages/churnzero/tsconfig.lib.json deleted file mode 100644 index 27316c6..0000000 --- a/packages/churnzero/tsconfig.lib.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "declaration": true, - "types": [] - }, - "include": ["src/**/*.ts"], - "exclude": ["jest.config.ts", "src/**/*.spec.ts"] -} diff --git a/packages/churnzero/tsconfig.spec.json b/packages/churnzero/tsconfig.spec.json deleted file mode 100644 index 26ef046..0000000 --- a/packages/churnzero/tsconfig.spec.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "module": "commonjs", - "types": ["jest", "node"] - }, - "include": [ - "jest.config.ts", - "src/**/*.test.ts", - "src/**/*.spec.ts", - "src/**/*.test.tsx", - "src/**/*.spec.tsx", - "src/**/*.test.js", - "src/**/*.spec.js", - "src/**/*.test.jsx", - "src/**/*.spec.jsx", - "src/**/*.d.ts" - ] -}