Skip to content
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

Commit a6013d4

Browse files
committed
refactor(config): use elixir style config file
1 parent d5be468 commit a6013d4

12 files changed

+129
-47
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ before_script:
3131
script:
3232
# - codecov
3333
- rm -rf .next
34+
- cp config/config.ci.json config/config.json
3435
- nvm exec 10.12.0 npm run build.ci
3536
- nvm exec 10.12.0 npm run test:ci
3637

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,18 @@ dep:
2020

2121
# shortcut for serve.local
2222
dev:
23+
cp config/config.local.json config/config.json
2324
npm run local
2425

2526
build:
2627
npm build
2728

2829
build.dev:
30+
cp config/config.dev.json config/config.json
2931
npm run build.dev
3032

3133
build.prod:
34+
cp config/config.prod.json config/config.json
3235
npm run build.prod
3336

3437
serve.help:

config/assets.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
export const ASSETS_ENDPOINT = 'https://cps-oss.oss-cn-shanghai.aliyuncs.com'
1+
import * as CONFIG from './config.json'
2+
3+
export const { ASSETS_ENDPOINT } = CONFIG
24
// process.env.ALI_OSS_ADDR
35
// export const ASSETS_ENDPOINT = 'https://coderplanets.oss-cn-beijing.aliyuncs.com'
46

config/config.ci.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"// endpoint configs //": "--------------------------------",
3+
"ASSETS_ENDPOINT": "https://cps-oss.oss-cn-shanghai.aliyuncs.com",
4+
"GRAPHQL_ENDPOINT": "http://localhost:4001/graphiql",
5+
6+
"// general configs //": "--------------------------------",
7+
"DEFAULT_THEME": "cyan",
8+
"SENIOR_AMOUNT_THRESHOLD": 51.2,
9+
"SPONSOR_AMOUNT_THRESHOLD": 3999,
10+
"PAGE_SIZE": {
11+
"S": 10,
12+
"D": 20,
13+
"M": 30,
14+
"L": 40
15+
},
16+
17+
"// contact configs //": "--------------------------------",
18+
"EMAIL_CLUB": "club@group.coderplanets.com",
19+
"EMAIL_SUPPORT": "support@group.coderplanets.com",
20+
"EMAIL_HELLO": "hello@group.coderplanets.com",
21+
"EMAIL_BUSINESS": "business@group.coderplanets.com"
22+
}

config/config.dev.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"// endpoint configs //": "--------------------------------",
3+
"ASSETS_ENDPOINT": "https://cps-oss.oss-cn-shanghai.aliyuncs.com",
4+
"GRAPHQL_ENDPOINT": "https://devapi.coderplanets.com/graphiql",
5+
6+
"// general configs //": "--------------------------------",
7+
"DEFAULT_THEME": "cyan",
8+
"SENIOR_AMOUNT_THRESHOLD": 51.2,
9+
"SPONSOR_AMOUNT_THRESHOLD": 3999,
10+
"PAGE_SIZE": {
11+
"S": 10,
12+
"D": 20,
13+
"M": 30,
14+
"L": 40
15+
},
16+
17+
"// contact configs //": "--------------------------------",
18+
"EMAIL_CLUB": "club@group.coderplanets.com",
19+
"EMAIL_SUPPORT": "support@group.coderplanets.com",
20+
"EMAIL_HELLO": "hello@group.coderplanets.com",
21+
"EMAIL_BUSINESS": "business@group.coderplanets.com"
22+
}

config/config.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"// endpoint configs //": "--------------------------------",
3+
"ASSETS_ENDPOINT": "https://cps-oss.oss-cn-shanghai.aliyuncs.com",
4+
"GRAPHQL_ENDPOINT": "https://api.coderplanets.com/graphiql",
5+
"//GRAPHQL_ENDPOINT": "http://localhost:4001/graphiql",
6+
7+
"// general configs //": "--------------------------------",
8+
"DEFAULT_THEME": "cyan",
9+
"SENIOR_AMOUNT_THRESHOLD": 51.2,
10+
"SPONSOR_AMOUNT_THRESHOLD": 3999,
11+
"PAGE_SIZE": {
12+
"S": 10,
13+
"D": 20,
14+
"M": 30,
15+
"L": 40
16+
},
17+
18+
"// contact configs //": "--------------------------------",
19+
"EMAIL_CLUB": "club@group.coderplanets.com",
20+
"EMAIL_SUPPORT": "support@group.coderplanets.com",
21+
"EMAIL_HELLO": "hello@group.coderplanets.com",
22+
"EMAIL_BUSINESS": "business@group.coderplanets.com"
23+
}

config/config.local.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"// endpoint configs //": "--------------------------------",
3+
"ASSETS_ENDPOINT": "https://cps-oss.oss-cn-shanghai.aliyuncs.com",
4+
"GRAPHQL_ENDPOINT": "https://api.coderplanets.com/graphiql",
5+
"//GRAPHQL_ENDPOINT": "http://localhost:4001/graphiql",
6+
7+
"// general configs //": "--------------------------------",
8+
"DEFAULT_THEME": "cyan",
9+
"SENIOR_AMOUNT_THRESHOLD": 51.2,
10+
"SPONSOR_AMOUNT_THRESHOLD": 3999,
11+
"PAGE_SIZE": {
12+
"S": 10,
13+
"D": 20,
14+
"M": 30,
15+
"L": 40
16+
},
17+
18+
"// contact configs //": "--------------------------------",
19+
"EMAIL_CLUB": "club@group.coderplanets.com",
20+
"EMAIL_SUPPORT": "support@group.coderplanets.com",
21+
"EMAIL_HELLO": "hello@group.coderplanets.com",
22+
"EMAIL_BUSINESS": "business@group.coderplanets.com"
23+
}

config/config.prod.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"// endpoint configs //": "--------------------------------",
3+
"ASSETS_ENDPOINT": "https://cps-oss.oss-cn-shanghai.aliyuncs.com",
4+
"GRAPHQL_ENDPOINT": "https://api.coderplanets.com/graphiql",
5+
6+
"// general configs //": "--------------------------------",
7+
"DEFAULT_THEME": "cyan",
8+
"SENIOR_AMOUNT_THRESHOLD": 51.2,
9+
"SPONSOR_AMOUNT_THRESHOLD": 3999,
10+
"PAGE_SIZE": {
11+
"S": 10,
12+
"D": 20,
13+
"M": 30,
14+
"L": 40
15+
},
16+
17+
"// contact configs //": "--------------------------------",
18+
"EMAIL_CLUB": "club@group.coderplanets.com",
19+
"EMAIL_SUPPORT": "support@group.coderplanets.com",
20+
"EMAIL_HELLO": "hello@group.coderplanets.com",
21+
"EMAIL_BUSINESS": "business@group.coderplanets.com"
22+
}

config/contacts.js

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

config/endpoint.js

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,8 @@
11
/* config for different envs */
22
import { ICON_CMD } from './assets'
3+
import * as CONFIG from './config.json'
34

4-
const getGraphQLEndpoint = () => {
5-
switch (process.env.NODE_ENV) {
6-
case 'production':
7-
return 'https://api.coderplanets.com/graphiql'
8-
9-
case 'dev':
10-
return 'https://devapi.coderplanets.com/graphiql'
11-
12-
case 'ci':
13-
return 'http://localhost:4001/graphiql'
14-
15-
default:
16-
return 'https://api.coderplanets.com/graphiql'
17-
/* return 'http://localhost:4001/graphiql' */
18-
}
19-
}
20-
21-
export const GRAPHQL_ENDPOINT = getGraphQLEndpoint()
5+
export const { GRAPHQL_ENDPOINT } = CONFIG // getGraphQLEndpoint()
226

237
export const SITE_URL = 'https://coderplanets.com'
248
export const GITHUB_WEB_ADDR =

config/general.js

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,8 @@
11
/*
22
general behavior of the site
3+
TODO: move those to config
34
*/
45

5-
export const DEFAULT_THEME = 'cyan'
6-
export const SENIOR_AMOUNT_THRESHOLD = 51.2
7-
export const SPONSOR_AMOUNT_THRESHOLD = 5999
8-
9-
export const PAGE_SIZE = {
10-
S: 10,
11-
D: 20,
12-
M: 30,
13-
L: 40,
14-
}
15-
166
export const WORD_LIMIT = {
177
COMMENT: 300,
188
}

config/index.js

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1-
export {
1+
import * as CONFIG from './config.json'
2+
3+
export const { EMAIL_CLUB, EMAIL_SUPPORT, EMAIL_HELLO, EMAIL_BUSINESS } = CONFIG
4+
export const {
25
DEFAULT_THEME,
36
SENIOR_AMOUNT_THRESHOLD,
47
SPONSOR_AMOUNT_THRESHOLD,
58
PAGE_SIZE,
6-
WORD_LIMIT,
7-
TAG_COLORS,
8-
TAG_COLOR_ORDER,
9-
} from './general'
9+
} = CONFIG
10+
11+
export { WORD_LIMIT, TAG_COLORS, TAG_COLOR_ORDER } from './general'
1012

1113
export {
1214
SITE_URL,
@@ -23,13 +25,5 @@ export {
2325
DEFAULT_USER_AVATAR,
2426
} from './endpoint'
2527

26-
export {
27-
EMAIL_CLUB,
28-
EMAIL_SUPPORT,
29-
EMAIL_HELLO,
30-
EMAIL_BUSINESS,
31-
} from './contacts'
32-
3328
export { ASSETS_ENDPOINT, ICON_BASE, ICON_CMD, DEFAULT_ICON } from './assets'
34-
3529
export { default as LABEL_POOL } from './label_pool'

0 commit comments

Comments
 (0)