Skip to content

Commit acde6c6

Browse files
authored
Merge pull request #6 from Shift3/configEnv
Create a generic env config method
2 parents e8f2d7b + 5138cdc commit acde6c6

File tree

8 files changed

+224
-232
lines changed

8 files changed

+224
-232
lines changed

.eslintrc

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,28 @@
99
],
1010
"rules": {
1111
// 0 = off, 1 = warn, 2 = error
12-
"@typescript-eslint/explicit-module-boundary-types": "off",
12+
"@typescript-eslint/no-namespace": "off",
13+
"@typescript-eslint/no-explicit-any": "off",
14+
"@typescript-eslint/no-empty-function": "off",
1315
"accessor-pairs": "error",
1416
"array-bracket-newline": "off",
1517
"array-bracket-spacing": "error",
1618
"array-callback-return": "error",
17-
"array-element-newline": "error",
19+
"array-element-newline": "off",
1820
"arrow-body-style": "error",
1921
"arrow-parens": "error",
2022
"arrow-spacing": "error",
2123
"block-scoped-var": "off",
2224
"block-spacing": "error",
23-
"brace-style": "error",
25+
"brace-style": "off",
2426
"callback-return": "error",
2527
"camelcase": "error",
26-
"capitalized-comments": "error",
27-
"class-methods-use-this": "error",
28+
"capitalized-comments": "off",
29+
"class-methods-use-this": "off",
2830
"comma-dangle": "off",
2931
"comma-spacing": "error",
3032
"comma-style": "error",
31-
"complexity": "off",
33+
"complexity": "error",
3234
"computed-property-spacing": "error",
3335
"consistent-return": "error",
3436
"consistent-this": "error",
@@ -50,7 +52,7 @@
5052
"function-paren-newline": "off",
5153
"generator-star-spacing": "error",
5254
"getter-return": "error",
53-
"global-require": "error",
55+
"global-require": "off",
5456
"grouped-accessor-pairs": "error",
5557
"guard-for-in": "error",
5658
"handle-callback-err": "error",
@@ -123,7 +125,7 @@
123125
"no-else-return": "error",
124126
"no-empty": "error",
125127
"no-empty-character-class": "error",
126-
"no-empty-function": "error",
128+
"no-empty-function": "off",
127129
"no-empty-pattern": "error",
128130
"no-eq-null": "error",
129131
"no-eval": "error",
@@ -176,10 +178,10 @@
176178
"no-obj-calls": "error",
177179
"no-octal": "error",
178180
"no-octal-escape": "error",
179-
"no-param-reassign": "error",
181+
"no-param-reassign": "off",
180182
"no-path-concat": "error",
181183
"no-plusplus": "error",
182-
"no-process-env": "error",
184+
"no-process-env": "off",
183185
"no-process-exit": "error",
184186
"no-promise-executor-return": "error",
185187
"no-proto": "error",
@@ -209,7 +211,7 @@
209211
"no-ternary": "off",
210212
"no-this-before-super": "error",
211213
"no-throw-literal": "error",
212-
"no-trailing-spaces": "error",
214+
"no-trailing-spaces": "off",
213215
"no-undef": "off",
214216
"no-undef-init": "error",
215217
"no-undefined": "off",
@@ -230,8 +232,8 @@
230232
"no-useless-catch": "error",
231233
"no-useless-computed-key": "error",
232234
"no-useless-concat": "error",
233-
"no-useless-constructor": "error",
234-
"no-useless-escape": "off",
235+
"no-useless-constructor": "off",
236+
"no-useless-escape": "error",
235237
"no-useless-rename": "error",
236238
"no-useless-return": "error",
237239
"no-var": "error",
@@ -242,7 +244,7 @@
242244
"nonblock-statement-body-position": "error",
243245
"object-curly-newline": "error",
244246
"object-curly-spacing": "off",
245-
"object-property-newline": "error",
247+
"object-property-newline": "off",
246248
"object-shorthand": "error",
247249
"one-var": "off",
248250
"one-var-declaration-per-line": "error",
@@ -252,7 +254,7 @@
252254
"padding-line-between-statements": "error",
253255
"prefer-arrow-callback": "error",
254256
"prefer-const": "error",
255-
"prefer-destructuring": "error",
257+
"prefer-destructuring": "off",
256258
"prefer-exponentiation-operator": "error",
257259
"prefer-named-capture-group": "error",
258260
"prefer-numeric-literals": "error",
@@ -275,14 +277,14 @@
275277
"require-atomic-updates": "error",
276278
"require-await": "error",
277279
"require-jsdoc": "error",
278-
"require-unicode-regexp": "off",
280+
"require-unicode-regexp": "error",
279281
"require-yield": "error",
280282
"rest-spread-spacing": "error",
281283
"semi": "error",
282284
"semi-spacing": "error",
283285
"semi-style": "error",
284286
"sort-imports": "off",
285-
"sort-keys": "error",
287+
"sort-keys": "off",
286288
"sort-vars": "error",
287289
"space-before-blocks": "error",
288290
"space-before-function-paren": "off",
@@ -303,6 +305,6 @@
303305
"wrap-iife": "error",
304306
"wrap-regex": "error",
305307
"yield-star-spacing": "error",
306-
"yoda": 2
308+
"yoda": "error"
307309
}
308310
}

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
"nativescript": {
33
"id": "org.nativescript.spnativescript",
44
"tns-android": {
5-
"version": "6.5.0"
5+
"version": "6.5.3"
66
},
77
"tns-ios": {
8-
"version": "6.5.0"
8+
"version": "6.5.2"
99
}
1010
},
1111
"scripts": {
1212
"lint": "eslint . --ext .ts",
13-
"android-prod":"tns build android --env.environment='prod'",
14-
"ios-prod":"tns build ios --env.environment='prod'"
13+
"android-prod": "tns build android --env.environment='prod'",
14+
"ios-prod": "tns build ios --env.environment='prod'"
1515
},
1616
"description": "NativeScript Application",
1717
"license": "SEE LICENSE IN <your-license-filename>",
@@ -25,6 +25,7 @@
2525
"@angular/platform-browser": "8.0.0",
2626
"@angular/platform-browser-dynamic": "8.0.0",
2727
"@angular/router": "8.0.0",
28+
"@types/node": "^14.0.27",
2829
"growl": "^1.10.5",
2930
"module-alias": "^2.2.2",
3031
"nativescript": "^6.5.0",
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
2+
export const getConfig = (dev: any, prod: any, stage: any) => {
3+
4+
if (Object.prototype.hasOwnProperty.call(process.env, 'environment') &&
5+
process.env.environment
6+
) {
7+
switch (process.env.environment) {
8+
case 'prod':
9+
return prod;
10+
case 'stage':
11+
return stage;
12+
default:
13+
return dev;
14+
}
15+
}
16+
17+
return dev;
18+
};
19+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './app.config';
Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,6 @@
11
import { environment as devEnvironment } from './environment.dev';
22
import { environment as prodEnvironment } from './environment.prod';
33
import { environment as stageEnvironment } from './environment.stage';
4+
import { getConfig } from '@infrastructure/shared/config';
45

5-
export const environment = (() => {
6-
let envVars;
7-
8-
if (Object.prototype.hasOwnProperty.call(process.env, 'environment') &&
9-
process.env.environment
10-
) {
11-
switch (process.env.environment) {
12-
case 'prod':
13-
envVars = prodEnvironment;
14-
break;
15-
case 'stage':
16-
envVars = stageEnvironment;
17-
break;
18-
default:
19-
envVars = devEnvironment;
20-
}
21-
}
22-
else {
23-
envVars = devEnvironment;
24-
}
25-
26-
return envVars;
27-
})();
6+
export const environment = getConfig(devEnvironment, prodEnvironment, stageEnvironment);

src/environments/environment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ const sentryDSN = 'https://xxxx@sentry.io/9999999';
44

55
export const environment = {
66
sentryDSN,
7-
...env
7+
...env.environment
88
};

tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"@features/*": [
3131
"./app/features/*"
3232
],
33-
"@infrastructure*": [
33+
"@infrastructure/*": [
3434
"./app/infrastructure/*"
3535
]
3636
}

0 commit comments

Comments
 (0)