Skip to content

Commit 161c57a

Browse files
committed
Merge branch 'at-shared-on-cloud' into develop
2 parents 266ef52 + 26a8652 commit 161c57a

File tree

72 files changed

+216
-157
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+216
-157
lines changed

cloud/functions/package-lock.json

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cloud/functions/package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
"name": "functions",
33
"scripts": {
44
"lint": "eslint --ext .js,.ts .",
5-
"build": "tsc",
6-
"build:watch": "tsc --watch",
5+
"build": "tsc --build",
6+
"build:watch": "tsc --build --watch",
77
"serve": "npm run build && env-cmd -f ./.env.local firebase emulators:start --import data --export-on-exit --inspect-functions --project ${FIREBASE_PROJECT_NAME:-voxxrin-v3}",
88
"shell": "npm run build && firebase functions:shell",
99
"start": "npm run shell",
10+
"predeploy": "npm run build && cp -r ../../shared/dist ./lib/shared",
1011
"deploy": "firebase deploy --only functions --project ${FIREBASE_PROJECT_NAME:-voxxrin-v3}",
1112
"logs": "firebase functions:log",
1213
"test": "vitest"
@@ -15,7 +16,7 @@
1516
"engines": {
1617
"node": "20"
1718
},
18-
"main": "lib/cloud/functions/src/index.js",
19+
"main": "lib/cloud-functions/index.js",
1920
"dependencies": {
2021
"@googleapis/youtube": "15.0.0",
2122
"@js-temporal/polyfill": "^0.4.3",
@@ -28,13 +29,15 @@
2829
"isomorphic-dompurify": "2.14.0",
2930
"lodash": "^4.17.21",
3031
"marked": "13.0.2",
32+
"module-alias": "2.2.3",
3133
"string-similarity-js": "2.1.4",
3234
"ts-pattern": "5.1.1",
3335
"uuid": "9.0.0",
3436
"yaml": "2.3.2",
3537
"zod": "3.22.4"
3638
},
3739
"devDependencies": {
40+
"@types/module-alias": "2.0.4",
3841
"@types/uuid": "9.0.2",
3942
"@typescript-eslint/eslint-plugin": "^5.12.0",
4043
"@typescript-eslint/parser": "^5.12.0",
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import moduleAlias from 'module-alias';
2+
3+
// This needs to be done as soon as possible in the loading process...
4+
5+
const isEmulator = !!process.env.FIREBASE_EMULATOR_HUB || !!process.env.FUNCTIONS_EMULATOR;
6+
moduleAlias.addAliases({
7+
// In Emulator (dev mode) it's easier to directly reference shared/dist folder (so that we don't need to copy its content into lib/shared/ folder)
8+
'@shared': isEmulator ? `${__dirname}/../../../../shared/dist`:`${__dirname}/../shared`,
9+
})

cloud/functions/src/crawlers/bdxio/crawler.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@ import {
44
BreakTimeSlot,
55
DailySchedule, DetailedTalk, Room, ScheduleTimeSlot,
66
Speaker, Talk, TalksTimeSlot,
7-
} from "../../../../../shared/daily-schedule.firestore";
7+
} from "@shared/daily-schedule.firestore";
88
import * as cheerio from 'cheerio';
9-
import {ConferenceDescriptor} from "../../../../../shared/conference-descriptor.firestore";
10-
import {Day} from "../../../../../shared/event-list.firestore";
9+
import {ConferenceDescriptor} from "@shared/conference-descriptor.firestore";
10+
import {Day} from "@shared/event-list.firestore";
1111
import {
1212
BREAK_PARSER,
1313
BREAK_TIME_SLOT_PARSER,
1414
DAY_PARSER,
1515
EVENT_DESCRIPTOR_PARSER, SPEAKER_PARSER
1616
} from "../crawler-parsers";
1717
import {CrawlerKind} from "../crawl";
18-
import {ISODatetime} from "../../../../../shared/type-utils";
18+
import {ISODatetime} from "@shared/type-utils";
1919
import {Temporal} from "@js-temporal/polyfill";
2020
import {match, P} from "ts-pattern";
2121
import {http} from "../utils";

cloud/functions/src/crawlers/camping-des-speakers/crawler.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ import {
44
BreakTimeSlot,
55
DailySchedule, DetailedTalk, ScheduleTimeSlot,
66
Speaker, TalksTimeSlot,
7-
} from "../../../../../shared/daily-schedule.firestore";
7+
} from "@shared/daily-schedule.firestore";
88
import * as cheerio from 'cheerio';
9-
import {ConferenceDescriptor} from "../../../../../shared/conference-descriptor.firestore";
9+
import {ConferenceDescriptor} from "@shared/conference-descriptor.firestore";
1010
import {
1111
BREAK_PARSER,
1212
BREAK_TIME_SLOT_PARSER,
1313
DAY_PARSER,
1414
EVENT_DESCRIPTOR_PARSER
1515
} from "../crawler-parsers";
1616
import {CrawlerKind} from "../crawl";
17-
import {ISODatetime} from "../../../../../shared/type-utils";
17+
import {ISODatetime} from "@shared/type-utils";
1818
import {Temporal} from "@js-temporal/polyfill";
1919
import {http} from "../utils";
2020

cloud/functions/src/crawlers/codeurs-en-seine/crawler.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import {FullEvent} from "../../models/Event";
33
import {
44
Break, BreakTimeSlot, DailySchedule,
55
DetailedTalk, ScheduleTimeSlot, SocialLink, Speaker, Talk, TalksTimeSlot
6-
} from "../../../../../shared/daily-schedule.firestore";
7-
import {ConferenceDescriptor} from "../../../../../shared/conference-descriptor.firestore";
8-
import {Day} from "../../../../../shared/event-list.firestore";
6+
} from "@shared/daily-schedule.firestore";
7+
import {ConferenceDescriptor} from "@shared/conference-descriptor.firestore";
8+
import {Day} from "@shared/event-list.firestore";
99
import {
1010
BREAK_PARSER,
1111
BREAK_TIME_SLOT_PARSER,
@@ -14,7 +14,7 @@ import {
1414
THEMABLE_TALK_FORMAT_PARSER
1515
} from "../crawler-parsers";
1616
import {CrawlerKind} from "../crawl";
17-
import {ISODatetime, ISOLocalDate, Replace} from "../../../../../shared/type-utils";
17+
import {ISODatetime, ISOLocalDate, Replace} from "@shared/type-utils";
1818
import {Temporal} from "@js-temporal/polyfill";
1919
import {match, P} from "ts-pattern";
2020
import {GithubMDXCrawler} from "../github/GithubMDXCrawler";

cloud/functions/src/crawlers/crawl.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ import {db, info, error} from "../firebase"
22
import { FullEvent } from "../models/Event";
33
import {z} from "zod";
44
import {FIREBASE_CRAWLER_DESCRIPTOR_PARSER} from "./crawler-parsers";
5-
import {HexColor} from "../../../../shared/type-utils";
5+
import {HexColor} from "@shared/type-utils";
66
import {Temporal} from "@js-temporal/polyfill";
77
import {match, P} from "ts-pattern";
88
import {v4 as uuidv4} from "uuid"
9-
import {ConferenceOrganizerSpace} from "../../../../shared/conference-organizer-space.firestore";
9+
import {ConferenceOrganizerSpace} from "@shared/conference-organizer-space.firestore";
1010
import {eventLastUpdateRefreshed} from "../functions/firestore/firestore-utils";
1111
import {http} from "./utils";
1212
import {
@@ -17,18 +17,18 @@ import {
1717
Room, TalkAsset,
1818
TalkFormat,
1919
Track
20-
} from "../../../../shared/daily-schedule.firestore";
20+
} from "@shared/daily-schedule.firestore";
2121
import {ensureRoomsStatsFilledFor} from "../functions/firestore/services/stats-utils";
2222
import {getEventOrganizerToken, getFamilyOrganizerToken} from "../functions/firestore/services/publicTokens-utils";
2323
import {getCrawlersMatching} from "../functions/firestore/services/crawlers-utils";
24-
import {ListableEvent} from "../../../../shared/event-list.firestore";
25-
import {ConferenceDescriptor} from "../../../../shared/conference-descriptor.firestore";
26-
import {toValidFirebaseKey} from "../../../../shared/utilities/firebase.utils";
24+
import {ListableEvent} from "@shared/event-list.firestore";
25+
import {ConferenceDescriptor} from "@shared/conference-descriptor.firestore";
26+
import {toValidFirebaseKey} from "@shared/utilities/firebase.utils";
2727
import { sanitize as domPurifySanitize } from "isomorphic-dompurify";
2828
import { marked } from 'marked'
2929
import {
3030
resolvedEventFirestorePath,
31-
} from "../../../../shared/utilities/event-utils";
31+
} from "@shared/utilities/event-utils";
3232
import { DocumentSnapshot } from "firebase-admin/firestore";
3333

3434
export type CrawlerKind<ZOD_TYPE extends z.ZodType> = {

cloud/functions/src/crawlers/crawler-parsers.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {z, ZodLiteral} from "zod";
2-
import {type ISODatetime, ISOLocalDate, ISOZonedTime} from "../../../../shared/type-utils";
3-
import {ConferenceDescriptor} from "../../../../shared/conference-descriptor.firestore";
4-
import {RecordingPlatform, ScheduleTimeSlot} from "../../../../shared/daily-schedule.firestore";
2+
import {type ISODatetime, ISOLocalDate, ISOZonedTime} from "@shared/type-utils";
3+
import {ConferenceDescriptor} from "@shared/conference-descriptor.firestore";
4+
import {RecordingPlatform, ScheduleTimeSlot} from "@shared/daily-schedule.firestore";
55
import {ISO_DATETIME_PARSER} from "../utils/zod-parsers";
66

77

cloud/functions/src/crawlers/devoxx-scala/crawler.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ import {
1818
TalksTimeSlot,
1919
ThemedTalkFormat,
2020
ThemedTrack
21-
} from "../../../../../shared/daily-schedule.firestore"
21+
} from "@shared/daily-schedule.firestore"
2222
import {FullEvent} from "../../models/Event";
23-
import {ISODatetime} from "../../../../../shared/type-utils";
23+
import {ISODatetime} from "@shared/type-utils";
2424
import {Temporal} from "@js-temporal/polyfill";
2525
import {z} from "zod";
2626
import {EVENT_DESCRIPTOR_PARSER, THEMABLE_TALK_FORMAT_PARSER, THEMABLE_TALK_TRACK_PARSER,} from "../crawler-parsers";

cloud/functions/src/crawlers/devoxx/crawler.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ import {
1111
DetailedTalk, Room,
1212
Speaker,
1313
Talk
14-
} from "../../../../../shared/daily-schedule.firestore"
14+
} from "@shared/daily-schedule.firestore"
1515
import { FullEvent } from "../../models/Event";
16-
import { ISODatetime, ISOLocalDate } from "../../../../../shared/type-utils";
17-
import { Day, ListableEvent } from "../../../../../shared/event-list.firestore";
16+
import { ISODatetime, ISOLocalDate } from "@shared/type-utils";
17+
import { Day, ListableEvent } from "@shared/event-list.firestore";
1818
import { Temporal } from "@js-temporal/polyfill";
1919
import {z} from "zod";
20-
import {ConferenceDescriptor} from "../../../../../shared/conference-descriptor.firestore";
20+
import {ConferenceDescriptor} from "@shared/conference-descriptor.firestore";
2121
import {
2222
EVENT_DESCRIPTOR_PARSER,
2323
INFOS_PARSER,
@@ -26,7 +26,7 @@ import {
2626
import {CrawlerKind, TALK_FORMAT_FALLBACK_COLORS} from "../crawl";
2727
import {match, P} from "ts-pattern";
2828
import {http} from "../utils";
29-
import {TalkStats} from "../../../../../shared/event-stats";
29+
import {TalkStats} from "@shared/event-stats";
3030

3131
const daysOfWeek = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']
3232

0 commit comments

Comments
 (0)