Skip to content

Commit

Permalink
Merge pull request #1045 from WatWowMap/cjs-exports-cleanup
Browse files Browse the repository at this point in the history
refactor: cleanup module.exports on server side
  • Loading branch information
TurtIeSocks authored Aug 29, 2024
2 parents 464b777 + 08a6e7d commit f919f87
Show file tree
Hide file tree
Showing 80 changed files with 315 additions and 483 deletions.
2 changes: 1 addition & 1 deletion packages/types/lib/client.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ declare global {
}
}

export interface CustomI extends React.HTMLProps<HTMLLIElement> {
export interface CustomI extends React.HTMLAttributes<HTMLLIElement> {
size?: ButtonProps['size']
}

Expand Down
2 changes: 1 addition & 1 deletion packages/types/lib/general.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { SliderProps } from '@mui/material'
import type { Feature, Polygon, MultiPolygon } from '@turf/helpers'
import type { Feature, Polygon, MultiPolygon } from 'geojson'
import { Config } from './config'

export type HttpMethod = 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE'
Expand Down
6 changes: 4 additions & 2 deletions packages/types/lib/poracle.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -291,14 +291,16 @@ export interface PoracleAPIRef {
}

export type PoracleUI = ReturnType<
import('server/src/services/Poracle')['generateUi']
import('server/src/services/Poracle').PoracleAPI['generateUi']
>

export type PoracleDefault<T extends keyof Omit<PoracleUI, 'human'>> =
PoracleUI[T]['defaults']

export type PoracleClientContext = Omit<
ReturnType<import('server/src/services/Poracle')['getClientContext']>,
ReturnType<
import('server/src/services/Poracle').PoracleAPI['getClientContext']
>,
'ui'
> & {
ui: PoracleUI
Expand Down
19 changes: 11 additions & 8 deletions packages/types/lib/server.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { Model } from 'objection'
import { NextFunction, Request, Response } from 'express'
import { VerifyCallback } from 'passport-oauth2'

import DbCheck = require('server/src/services/DbCheck')
import DbManager = require('server/src/services/DbManager')
import EventManager = require('server/src/services/EventManager')
import Pokemon = require('server/src/models/Pokemon')
import Gym = require('server/src/models/Gym')
Expand Down Expand Up @@ -86,7 +86,7 @@ export interface DbConnection {

export type Schema = ApiEndpoint | DbConnection

export interface DbCheckClass {
export interface DbManagerClass {
models: {
[key in ScannerModelKeys]?: (DbContext & {
connection: number
Expand Down Expand Up @@ -133,8 +133,8 @@ export interface GqlContext {
userId: number
req: Request
res: Response
Db: DbCheck
Event: EventManager
Db: DbManager.DbManager
Event: EventManager.EventManager
perms: Permissions
username: string
operation: OperationTypeNode
Expand Down Expand Up @@ -238,19 +238,22 @@ export type DiscordVerifyFunction = (
done: VerifyCallback,
) => void

export type BaseFilter = import('server/src/filters/Base')
export type BaseFilter = import('server/src/filters/Base').BaseFilter

export type PokemonFilter = import('server/src/filters/pokemon/Frontend')
export type PokemonFilter =
import('server/src/filters/pokemon/Frontend').PokemonFilter

export type AllFilters = ReturnType<
typeof import('server/src/filters/builder/base')
(typeof import('server/src/filters/builder/base'))['buildDefaultFilters']
>

export type Categories = keyof AllFilters

export type AdvCategories = 'pokemon' | 'gyms' | 'pokestops' | 'nests'

export type UIObject = ReturnType<typeof import('server/src/ui/primary')>
export type UIObject = ReturnType<
(typeof import('server/src/ui/drawer'))['drawer']
>

export interface PokemonGlow
extends Partial<Omit<Config['clientSideOptions']['pokemon'], 'glow'>> {
Expand Down
22 changes: 11 additions & 11 deletions packages/types/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,19 @@
"prettier:fix": "prettier --write \"**/*.{css,html,js,jsx,yml}\""
},
"devDependencies": {
"@apollo/client": "^3.7.15",
"@mui/material": "^5.14.0",
"@mui/system": "^5.15.2",
"@sentry/node": "^7.48.0",
"@types/config": "^3.3.0",
"@types/node": "^20.5.1",
"@types/react": "^18.2.20",
"@types/react-dom": "^18.0.9",
"@turf/helpers": "^6.5.0",
"@apollo/client": "3.11.4",
"@mui/material": "5.16.7",
"@mui/system": "5.16.7",
"@sentry/node": "^7.65.0",
"@types/config": "^3.3.4",
"@types/node": "^18",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"express": "^4.19.2",
"knex": "^2.4.2",
"geojson": "0.5.0",
"knex": "3.1.0",
"loglevel": "^1.8.1",
"objection": "^3.0.1",
"objection": "3.1.4",
"passport-discord": "https://github.com/tonestrike/passport-discord.git",
"passport-oauth2": "^1.7.0"
}
Expand Down
2 changes: 1 addition & 1 deletion server/src/filters/Base.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ class BaseFilter {
}
}

module.exports = BaseFilter
module.exports = { BaseFilter }
14 changes: 7 additions & 7 deletions server/src/filters/builder/base.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// @ts-check
const config = require('@rm/config')

const state = require('../../services/state')
const buildPokemon = require('./pokemon')
const buildPokestops = require('./pokestop')
const buildGyms = require('./gym')
const BaseFilter = require('../Base')
const PokemonFilter = require('../pokemon/Frontend')
const { state } = require('../../services/state')
const { buildPokemon } = require('./pokemon')
const { buildPokestops } = require('./pokestop')
const { buildGyms } = require('./gym')
const { BaseFilter } = require('../Base')
const { PokemonFilter } = require('../pokemon/Frontend')

/**
* @param {import("@rm/types").Permissions} perms
Expand Down Expand Up @@ -230,4 +230,4 @@ function buildDefaultFilters(perms) {
}
}

module.exports = buildDefaultFilters
module.exports = { buildDefaultFilters }
6 changes: 3 additions & 3 deletions server/src/filters/builder/gym.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @ts-check
const state = require('../../services/state')
const BaseFilter = require('../Base')
const { state } = require('../../services/state')
const { BaseFilter } = require('../Base')

/**
*
Expand Down Expand Up @@ -44,4 +44,4 @@ function buildGyms(perms, defaults) {
return gymFilters
}

module.exports = buildGyms
module.exports = { buildGyms }
6 changes: 3 additions & 3 deletions server/src/filters/builder/pokemon.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @ts-check
const state = require('../../services/state')
const BaseFilter = require('../Base')
const { state } = require('../../services/state')
const { BaseFilter } = require('../Base')

/**
*
Expand Down Expand Up @@ -66,4 +66,4 @@ function buildPokemon(defaults, base, custom) {
return pokemon
}

module.exports = buildPokemon
module.exports = { buildPokemon }
6 changes: 3 additions & 3 deletions server/src/filters/builder/pokestop.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// @ts-check
const { log, TAGS } = require('@rm/logger')

const BaseFilter = require('../Base')
const state = require('../../services/state')
const { state } = require('../../services/state')
const { BaseFilter } = require('../Base')

/**
*
Expand Down Expand Up @@ -110,4 +110,4 @@ function buildPokestops(perms, defaults) {
return quests
}

module.exports = buildPokestops
module.exports = { buildPokestops }
14 changes: 8 additions & 6 deletions server/src/filters/pokemon/Backend.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ const {
dnfifyIvFilter,
} = require('./functions')
const { filterRTree } = require('../../utils/filterRTree')
const state = require('../../services/state')
const PokemonFilter = require('./Frontend')
const { PokemonFilter } = require('./Frontend')
const { state } = require('../../services/state')

module.exports = class PkmnBackend {
class PkmnBackend {
/**
* @param {`${number}-${number}` | 'global'} id
* @param {import("./Frontend")} filter
* @param {import("./Frontend")} global
* @param {import("./Frontend").PokemonFilter} filter
* @param {import("./Frontend").PokemonFilter} global
* @param {object} perms
* @param {boolean} perms.pokemon
* @param {boolean} perms.iv
Expand Down Expand Up @@ -162,7 +162,7 @@ module.exports = class PkmnBackend {
}

/**
* @param {import("./Frontend")} filter
* @param {import("./Frontend").PokemonFilter} filter
* @returns {Set<string>}
*/
getRelevantKeys(filter = this.filter) {
Expand Down Expand Up @@ -476,3 +476,5 @@ module.exports = class PkmnBackend {
return result
}
}

module.exports = { PkmnBackend }
4 changes: 2 additions & 2 deletions server/src/filters/pokemon/Frontend.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @ts-check
const config = require('@rm/config')
const BaseFilter = require('../Base')
const { BaseFilter } = require('../Base')

class PokemonFilter extends BaseFilter {
/**
Expand Down Expand Up @@ -53,4 +53,4 @@ class PokemonFilter extends BaseFilter {
}
}

module.exports = PokemonFilter
module.exports = { PokemonFilter }
18 changes: 9 additions & 9 deletions server/src/graphql/resolvers.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ const { S2LatLng, S2RegionCoverer, S2LatLngRect } = require('nodes2ts')
const config = require('@rm/config')
const { missing, readAndParseJson } = require('@rm/locales')

const buildDefaultFilters = require('../filters/builder/base')
const filterComponents = require('../utils/filterComponents')
const validateSelectedWebhook = require('../utils/validateSelectedWebhook')
const PoracleAPI = require('../services/Poracle')
const { buildDefaultFilters } = require('../filters/builder/base')
const { filterComponents } = require('../utils/filterComponents')
const { validateSelectedWebhook } = require('../utils/validateSelectedWebhook')
const { PoracleAPI } = require('../services/Poracle')
const { geocoder } = require('../services/geocoder')
const scannerApi = require('../services/scannerApi')
const getPolyVector = require('../utils/getPolyVector')
const getPlacementCells = require('../utils/getPlacementCells')
const getTypeCells = require('../utils/getTypeCells')
const { scannerApi } = require('../services/scannerApi')
const { getPolyVector } = require('../utils/getPolyVector')
const { getPlacementCells } = require('../utils/getPlacementCells')
const { getTypeCells } = require('../utils/getTypeCells')
const { getValidCoords } = require('../utils/getValidCoords')

/** @type {import("@apollo/server").ApolloServerOptions<import("@rm/types").GqlContext>['resolvers']} */
Expand Down Expand Up @@ -788,4 +788,4 @@ const resolvers = {
},
}

module.exports = resolvers
module.exports = { resolvers }
6 changes: 3 additions & 3 deletions server/src/graphql/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ const {
const config = require('@rm/config')
const { Logger, TAGS, log } = require('@rm/logger')

const resolvers = require('./resolvers')
const state = require('../services/state')
const { resolvers } = require('./resolvers')
const { state } = require('../services/state')

/** @param {import('http').Server} httpServer */
async function startApollo(httpServer) {
Expand Down Expand Up @@ -167,4 +167,4 @@ async function startApollo(httpServer) {
return apolloServer
}

module.exports = startApollo
module.exports = { startApollo }
26 changes: 5 additions & 21 deletions server/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,11 @@ const { rainbow } = require('chalkercli')
const cors = require('cors')
const { json } = require('body-parser')
const http = require('http')
const { default: helmet } = require('helmet')

const { log, TAGS, Logger } = require('@rm/logger')
const config = require('@rm/config')

const state = require('./services/state')
const { state } = require('./services/state')
const { starti18n } = require('./services/i18n')
const { checkForUpdates } = require('./services/checkForUpdates')
const { loadLatestAreas, loadCachedAreas } = require('./services/areas')
Expand All @@ -31,11 +30,12 @@ const { initPassport } = require('./middleware/passport')
const { errorMiddleware } = require('./middleware/error')
const { sessionMiddleware } = require('./middleware/session')
const { apolloMiddleware } = require('./middleware/apollo')
const { helmetMiddleware } = require('./middleware/helmet')

const startApollo = require('./graphql/server')
const { startApollo } = require('./graphql/server')
const { bindConnections } = require('./models')
const { migrate } = require('./db/migrate')
const rootRouter = require('./routes/rootRouter')
const { rootRouter } = require('./routes/rootRouter')

const startServer = async () => {
if (!config.getSafe('devOptions.skipUpdateCheck')) {
Expand Down Expand Up @@ -77,23 +77,7 @@ const startServer = async () => {
)

if (config.getSafe('api.enableHelmet')) {
app.use(
helmet({
hidePoweredBy: true,
contentSecurityPolicy: {
directives: {
scriptSrc: [
"'self'",
'https://cdn.jsdelivr.net',
'https://telegram.org',
'https://static.cloudflareinsights.com',
],
frameSrc: ["'self'", 'https://*.telegram.org'],
workerSrc: ["'self'", 'blob:'],
},
},
}),
)
app.use(helmetMiddleware())
}

initPassport(app)
Expand Down
10 changes: 5 additions & 5 deletions server/src/middleware/apollo.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ const { ApolloServerErrorCode } = require('@apollo/server/errors')
const { GraphQLError } = require('graphql')
const { parse } = require('graphql')

const state = require('../services/state')
const pkg = require('../../../package.json')
const { state } = require('../services/state')
const { version } = require('../../../package.json')
const { DataLimitCheck } = require('../services/DataLimitCheck')

/**
*
* @param {Awaited<ReturnType<import('../graphql/server')>>} server
* @param {Awaited<ReturnType<import('../graphql/server')['startApollo']>>} server
* @returns
*/
function apolloMiddleware(server) {
Expand All @@ -23,9 +23,9 @@ function apolloMiddleware(server) {
const clientVHeader = req.headers['apollographql-client-version']
const clientV =
(typeof clientVHeader === 'string' && clientVHeader.trim()) ||
pkg.version ||
version ||
1
const serverV = pkg.version || 1
const serverV = version || 1

const definition =
/** @type {import('graphql').OperationDefinitionNode} */ (
Expand Down
Loading

0 comments on commit f919f87

Please sign in to comment.