Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve build #223

Merged
merged 7 commits into from
Aug 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
.eslintrc.cjs
tsconfig.json
jest.config.ts
jest.presetup.ts
jest.setup.ts
coverage
scripts
26 changes: 0 additions & 26 deletions .github/workflows/deploy-preview.yml

This file was deleted.

25 changes: 0 additions & 25 deletions .github/workflows/deploy-prod.yml

This file was deleted.

21 changes: 0 additions & 21 deletions .swcrc

This file was deleted.

2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,10 @@ Official repository for HackIllinois API redesign.

- [node](https://nodejs.org)
- [yarn](https://yarnpkg.com/getting-started/install)
- [vercel (cli)](https://vercel.com/docs/cli)

#### Steps for development environment

1. `yarn install`
2. Install the [EditorConfig plugin](https://editorconfig.org/#download) for your editor if it doesn't support it by default

## To run locally

Expand Down
5 changes: 0 additions & 5 deletions api/index.js

This file was deleted.

22 changes: 21 additions & 1 deletion jest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,27 @@ const config: Config = {
testTimeout: 15 * 1000, // 15 second timeout per test

transform: {
"^.+\\.(t|j)sx?$": "@swc/jest",
"^.+\\.(t|j)sx?$": [
"@swc/jest",
{
$schema: "https://swc.rs/schema.json",
jsc: {
baseUrl: "./src",
parser: {
syntax: "typescript",
decorators: true,
},
transform: {
decoratorMetadata: true,
legacyDecorator: true,
},
target: "esnext",
experimental: {
plugins: [["swc_mut_cjs_exports", {}]],
},
},
},
],
},

verbose: true,
Expand Down
21 changes: 11 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"version": "1.0.0",
"description": "Official repository for API redesign.",
"main": "api/index.js",
"type": "module",
"type": "commonjs",
"scripts": {
"devdocs": "npx typedoc --options typedoc.json --plugin typedoc-plugin-missing-exports",
"apidocs": "apidoc -i . -o apidocs/",
Expand All @@ -12,14 +12,14 @@
"gen-jwt": "node scripts/generate-jwt-token",
"format:check": "yarn run prettier --check '**/*.{ts,js,cjs,json}'",
"format": "yarn run prettier --write '**/*.{ts,js,cjs,json}'",
"lint:check": "yarn run eslint src --ext .js,.jsx,.ts,.tsx",
"lint": "yarn run eslint src --ext .js,.jsx,.ts,.tsx --fix",
"lint:check": "tsc --noEmit && yarn run eslint src --ext .js,.jsx,.ts,.tsx",
"lint": "tsc --noEmit && yarn run eslint src --ext .js,.jsx,.ts,.tsx --fix",
"test": "jest",
"build": "tsc",
"verify": "yarn build && yarn lint:check && yarn format:check",
"serve": "node scripts/serve.mjs",
"verify": "yarn lint:check && yarn format:check",
"send-notif": "node scripts/send-notif.js",
"start": "vercel dev"
"start": "node out/index.js",
"serve": "tsc-watch --onSuccess \"node out/index.js\""
},
"keywords": [],
"author": "Aydan Pirani <aydanpirani@gmail.com>",
Expand Down Expand Up @@ -48,11 +48,13 @@
"passport-google-oauth20": "^2.0.0",
"passport-strategy": "^1.0.0",
"status-code-enum": "^1.0.0",
"tsc-watch": "^6.2.0",
"uuid": "^9.0.1"
},
"repository": "git@github.com:HackIllinois/adonix.git",
"devDependencies": {
"@swc/core": "^1.6.13",
"@swc/cli": "^0.4.0",
"@swc/core": "^1.7.5",
"@swc/jest": "^0.2.36",
"@types/cors": "^2.8.13",
"@types/express": "^4.17.17",
Expand All @@ -77,12 +79,11 @@
"open": "^9.1.0",
"prettier": "3.0.3",
"supertest": "^6.3.3",
"swc_mut_cjs_exports": "^0.90.24",
"swc_mut_cjs_exports": "^0.99.0",
"ts-jest": "^29.1.1",
"ts-node": "^10.9.1",
"typedoc": "^0.25.3",
"typedoc-plugin-missing-exports": "^2.1.0",
"typescript": "^5.1.6",
"vercel": "^32.4.1"
"typescript": "^5.1.6"
}
}
Empty file removed public/.gitkeep
Empty file.
70 changes: 0 additions & 70 deletions scripts/serve.mjs

This file was deleted.

2 changes: 1 addition & 1 deletion src/app.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import { describe, expect, test, it } from "@jest/globals";

import { get } from "./testTools.js";
import { get } from "./testTools";
import { StatusCode } from "status-code-enum";

describe("sanity tests for app", () => {
Expand Down
42 changes: 21 additions & 21 deletions src/app.ts
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
import morgan from "morgan";
import express, { Application, Request, Response } from "express";

import admissionRouter from "./services/admission/admission-router.js";
import authRouter from "./services/auth/auth-router.js";
import eventRouter from "./services/event/event-router.js";
import mailRouter from "./services/mail/mail-router.js";
import mentorRouter from "./services/mentor/mentor-router.js";
import newsletterRouter from "./services/newsletter/newsletter-router.js";
import notificationRouter from "./services/notification/notification-router.js";
import profileRouter from "./services/profile/profile-router.js";
import puzzleRouter from "./services/puzzle/puzzle-router.js";
import registrationRouter from "./services/registration/registration-router.js";
import s3Router from "./services/s3/s3-router.js";
import shopRouter from "./services/shop/shop-router.js";
import staffRouter from "./services/staff/staff-router.js";
import versionRouter from "./services/version/version-router.js";
import userRouter from "./services/user/user-router.js";

// import { InitializeConfigReader } from "./middleware/config-reader.js";
import { ErrorHandler } from "./middleware/error-handler.js";
import admissionRouter from "./services/admission/admission-router";
import authRouter from "./services/auth/auth-router";
import eventRouter from "./services/event/event-router";
import mailRouter from "./services/mail/mail-router";
import mentorRouter from "./services/mentor/mentor-router";
import newsletterRouter from "./services/newsletter/newsletter-router";
import notificationRouter from "./services/notification/notification-router";
import profileRouter from "./services/profile/profile-router";
import puzzleRouter from "./services/puzzle/puzzle-router";
import registrationRouter from "./services/registration/registration-router";
import s3Router from "./services/s3/s3-router";
import shopRouter from "./services/shop/shop-router";
import staffRouter from "./services/staff/staff-router";
import versionRouter from "./services/version/version-router";
import userRouter from "./services/user/user-router";

// import { InitializeConfigReader } from "./middleware/config-reader";
import { ErrorHandler } from "./middleware/error-handler";
import { StatusCode } from "status-code-enum";
import Config from "./config.js";
import database from "./middleware/database.js";
import corsSelector from "./middleware/cors-selector.js";
import Config from "./config";
import database from "./middleware/database";
import corsSelector from "./middleware/cors-selector";

const app: Application = express();

Expand Down
2 changes: 1 addition & 1 deletion src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* can error if they are not defined.
*/

import env from "./env.js";
import env from "./env";

export enum Device {
ADMIN = "admin",
Expand Down
26 changes: 13 additions & 13 deletions src/database/models.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import mongoose, { Model } from "mongoose";
import { getModelForClass } from "@typegoose/typegoose";

import { AuthInfo } from "./auth-db.js";
import { AttendeeFollowing, AttendeeProfile } from "./attendee-db.js";
import { AdmissionDecision } from "./admission-db.js";
import { MentorOfficeHours } from "./mentor-db.js";
import { Event, EventAttendance, EventFollowers } from "./event-db.js";
import { NewsletterSubscription } from "./newsletter-db.js";
import { RegistrationApplication } from "./registration-db.js";
import { ShopItem } from "./shop-db.js";
import { UserAttendance, UserInfo } from "./user-db.js";
import { AnyParamConstructor, IModelOptions } from "@typegoose/typegoose/lib/types.js";
import { StaffShift } from "./staff-db.js";
import { NotificationMappings, NotificationMessages } from "./notification-db.js";
import { PuzzleItem } from "./puzzle-db.js";
import { AuthInfo } from "./auth-db";
import { AttendeeFollowing, AttendeeProfile } from "./attendee-db";
import { AdmissionDecision } from "./admission-db";
import { MentorOfficeHours } from "./mentor-db";
import { Event, EventAttendance, EventFollowers } from "./event-db";
import { NewsletterSubscription } from "./newsletter-db";
import { RegistrationApplication } from "./registration-db";
import { ShopItem } from "./shop-db";
import { UserAttendance, UserInfo } from "./user-db";
import { AnyParamConstructor, IModelOptions } from "@typegoose/typegoose/lib/types";
import { StaffShift } from "./staff-db";
import { NotificationMappings, NotificationMessages } from "./notification-db";
import { PuzzleItem } from "./puzzle-db";

// Groups for collections
export enum Group {
Expand Down
3 changes: 3 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { startServer } from "./app";

void startServer();
2 changes: 1 addition & 1 deletion src/metadata.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Config from "./config.js";
import Config from "./config";
import axios, { AxiosResponse } from "axios";

interface MetadataFormat {
Expand Down
2 changes: 1 addition & 1 deletion src/middleware/cors-selector.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import cors, { CorsOptions } from "cors";
import Config from "../config.js";
import Config from "../config";

// Only allow a certain set of regexes to be allowed via CORS
const allowedOrigins: RegExp[] = [new RegExp(Config.CORS.PROD_REGEX), new RegExp(Config.CORS.DEPLOY_REGEX)];
Expand Down
2 changes: 1 addition & 1 deletion src/middleware/database.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Config from "../config.js";
import Config from "../config";
import { Request, Response, NextFunction } from "express";
import mongoose from "mongoose";

Expand Down
2 changes: 1 addition & 1 deletion src/middleware/fcm.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { NextFunction, Request, Response } from "express";
import Config from "../config.js";
import Config from "../config";
import admin, { ServiceAccount } from "firebase-admin";

export function NotificationsMiddleware(_: Request, res: Response, next: NextFunction): void {
Expand Down
Loading
Loading