Skip to content

Commit c9468a3

Browse files
committed
Simplify everything
1 parent 6d1edc1 commit c9468a3

File tree

13 files changed

+66
-1403
lines changed

13 files changed

+66
-1403
lines changed

.eslintrc.js

Lines changed: 0 additions & 11 deletions
This file was deleted.

.github/pull_request_template.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 0 additions & 59 deletions
This file was deleted.

.github/workflows/release.yaml

Lines changed: 0 additions & 74 deletions
This file was deleted.

.prettierignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

.prettierrc

Lines changed: 0 additions & 7 deletions
This file was deleted.

index.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Some internal library function
2+
async function getRandomNumber() {
3+
return 4 // remove this line to get an actual random number from random.org – caution, rate limited to 10 events/s!
4+
const response = await fetch(
5+
'https://www.random.org/integers/?num=1&min=1&max=1000000000&col=1&base=10&format=plain&rnd=new'
6+
)
7+
return parseInt(await response.text())
8+
}
9+
10+
async function setupPlugin({ config }) {
11+
console.log(`Setting up the plugin:\n${config.greeting}`)
12+
}
13+
14+
async function processEvent(event, { config, cache }) {
15+
const counterValue = (await cache.get('greeting_counter', 0))
16+
cache.set('greeting_counter', counterValue + 1)
17+
if (!event.properties) event.properties = {}
18+
event.properties['greeting'] = config.greeting
19+
event.properties['greeting_counter'] = counterValue
20+
event.properties['random_number'] = await getRandomNumber()
21+
return event
22+
}
23+
24+
// The famed Hello World plugin itself
25+
module.exports = {
26+
setupPlugin,
27+
processEvent
28+
}
Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,60 @@
1-
const { createEvent, createIdentify, getMeta, resetMeta, clone } = require('@posthog/plugin-scaffold/test/utils')
1+
const { createEvent, createIdentify, getMeta, resetMeta, clone } = require("@posthog/plugin-scaffold/test/utils");
22

3-
const { processEvent } = require('..')
3+
const { processEvent } = require(".");
44

55
beforeEach(() => {
66
resetMeta({
77
config: {
8-
greeting: 'Dzień dobry!',
8+
greeting: "Dzień dobry!",
99
},
10-
})
11-
})
10+
});
11+
});
1212

13-
test('processEvent adds properties', async () => {
13+
test("processEvent adds properties", async () => {
1414
// create a random event
15-
const event0 = createEvent({ event: 'booking completed', properties: { amount: '20', currency: 'USD' } })
15+
const event0 = createEvent({ event: "booking completed", properties: { amount: "20", currency: "USD" } });
1616

1717
// must clone the event since `processEvent` will mutate it otherwise
18-
const event1 = await processEvent(clone(event0), getMeta())
18+
const event1 = await processEvent(clone(event0), getMeta());
1919
expect(event1).toEqual({
2020
...event0,
2121
properties: {
2222
...event0.properties,
23-
greeting: 'Dzień dobry!',
23+
greeting: "Dzień dobry!",
2424
greeting_counter: 0,
2525
random_number: 4,
2626
},
27-
})
27+
});
2828

29-
const event2 = await processEvent(clone(event0), getMeta())
29+
const event2 = await processEvent(clone(event0), getMeta());
3030
expect(event2).toEqual({
3131
...event1,
3232
properties: {
3333
...event1.properties,
3434
greeting_counter: 1,
3535
},
36-
})
36+
});
3737

38-
const event3 = await processEvent(clone(event0), getMeta())
38+
const event3 = await processEvent(clone(event0), getMeta());
3939
expect(event3).toEqual({
4040
...event2,
4141
properties: {
4242
...event2.properties,
4343
greeting_counter: 2,
4444
},
45-
})
46-
})
45+
});
46+
});
4747

48-
test('processEvent does not crash with identify', async () => {
48+
test("processEvent does not crash with identify", async () => {
4949
const defaultHelloWorldProperties = Object.freeze({
50-
greeting: 'Dzień dobry!',
50+
greeting: "Dzień dobry!",
5151
greeting_counter: 0,
5252
random_number: 4,
53-
})
53+
});
5454
// create a random event
55-
const event0 = createIdentify()
55+
const event0 = createIdentify();
5656
// must clone the event since `processEvent` will mutate it otherwise
57-
const { properties, ...restOfEvent1 } = await processEvent(clone(event0), getMeta())
58-
expect(restOfEvent1).toEqual(event0)
59-
expect(properties).toEqual(defaultHelloWorldProperties)
60-
})
57+
const { properties, ...restOfEvent1 } = await processEvent(clone(event0), getMeta());
58+
expect(restOfEvent1).toEqual(event0);
59+
expect(properties).toEqual(defaultHelloWorldProperties);
60+
});

jest.config.js

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,3 @@
1-
const { pathsToModuleNameMapper } = require('ts-jest/utils')
2-
const { compilerOptions } = require('./tsconfig')
3-
4-
const moduleNameMapper = undefined
5-
if (compilerOptions.paths) {
6-
moduleNameMapper = pathsToModuleNameMapper(compilerOptions.paths, { prefix: 'src/' })
7-
}
8-
91
module.exports = {
10-
preset: 'ts-jest',
11-
testEnvironment: 'node',
12-
moduleNameMapper,
13-
}
2+
testEnvironment: "node",
3+
};

0 commit comments

Comments
 (0)