intermediate-component-sa 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/app.server.js +7 -0
  2. package/client/css/main.css +1 -0
  3. package/{src/client → client}/index.html +6 -40
  4. package/client/js/app.js +1 -0
  5. package/client/js/shims.js +17 -0
  6. package/{src/client → client}/tsconfig.json +0 -0
  7. package/package.json +75 -340
  8. package/{src/server/config/app.config.ts → server/config/app.config.js} +47 -57
  9. package/server/config/jwt.config.js +4 -0
  10. package/{src/server/config/logger.config.ts → server/config/logger.config.js} +142 -161
  11. package/server/config/mssql.config.js +32 -0
  12. package/server/config/redis.config.js +8 -0
  13. package/server/config/server.config.js +12 -0
  14. package/server/config/templates.config.js +23 -0
  15. package/server/crypt.js +29 -0
  16. package/server/customRequest.js +370 -0
  17. package/server/index.js +125 -0
  18. package/server/interfaces/cleaner.interface.js +2 -0
  19. package/server/interfaces/supervisor.interface.js +2 -0
  20. package/{src/server/routes-centralized.ts → server/routes-centralized.js} +37 -36
  21. package/server/routes.js +7 -0
  22. package/server/services/index.js +8 -0
  23. package/server/services/routes.service.js +18 -0
  24. package/server/shared/file-manager.js +616 -0
  25. package/server/shared/http.shared.js +39 -0
  26. package/server/shared/promises.shared.js +14 -0
  27. package/server/shared/security.shared.js +52 -0
  28. package/{src/server → server}/ssl/star_inconcertcc_com.key +0 -0
  29. package/{src/server → server}/ssl/star_inconcertcc_com.pem +0 -0
  30. package/CHANGELOG.md +0 -11
  31. package/README.md +0 -1
  32. package/build-dev.bat +0 -2
  33. package/build-prod-aot.bat +0 -2
  34. package/build-prod-rollup-aot.bat +0 -2
  35. package/build-prod.bat +0 -2
  36. package/config.ts +0 -4
  37. package/gulpfile.ts +0 -172
  38. package/index.js +0 -12
  39. package/karma.conf.js +0 -124
  40. package/postgrator-test.json +0 -9
  41. package/postgrator.json +0 -9
  42. package/src/app.server.ts +0 -4
  43. package/src/client/app/app.component.ts +0 -37
  44. package/src/client/app/app.html +0 -6
  45. package/src/client/app/app.module.ts +0 -36
  46. package/src/client/app/app.routing.ts +0 -7
  47. package/src/client/app/hot_loader_main.ts +0 -14
  48. package/src/client/app/main-aot.ts +0 -8
  49. package/src/client/app/main.ts +0 -8
  50. package/src/client/app/rxjs-operators.ts +0 -15
  51. package/src/server/config/jwt.config.ts +0 -4
  52. package/src/server/config/mssql.config.ts +0 -30
  53. package/src/server/config/redis.config.ts +0 -10
  54. package/src/server/config/server.config.ts +0 -20
  55. package/src/server/config/templates.config.ts +0 -41
  56. package/src/server/crypt.ts +0 -37
  57. package/src/server/customRequest.ts +0 -609
  58. package/src/server/index.ts +0 -231
  59. package/src/server/interfaces/cleaner.interface.ts +0 -3
  60. package/src/server/interfaces/supervisor.interface.ts +0 -3
  61. package/src/server/routes.ts +0 -6
  62. package/src/server/services/index.ts +0 -10
  63. package/src/server/services/routes.service.ts +0 -11
  64. package/src/server/shared/file-manager.ts +0 -1007
  65. package/src/server/shared/http.shared.ts +0 -49
  66. package/src/server/shared/promises.shared.ts +0 -13
  67. package/src/server/shared/security.shared.ts +0 -90
  68. package/src/server/tsconfig.json +0 -38
  69. package/tools/build.js.prod.ts +0 -40
  70. package/tools/config/project.config.ts +0 -718
  71. package/tools/config.ts +0 -4
  72. package/tools/database/SchemaZen.exe +0 -0
  73. package/tools/database/generate-all-data-scripts.bat +0 -32
  74. package/tools/database/generate-database-scripts.bat +0 -36
  75. package/tools/debug.ts +0 -17
  76. package/tools/env/base.ts +0 -8
  77. package/tools/env/dev.ts +0 -9
  78. package/tools/env/env-config.interface.ts +0 -1
  79. package/tools/env/prod.ts +0 -10
  80. package/tools/manual_typings/project/sample.package.d.ts +0 -3
  81. package/tools/manual_typings/seed/angular2-hot-loader.d.ts +0 -9
  82. package/tools/manual_typings/seed/autoprefixer.d.ts +0 -13
  83. package/tools/manual_typings/seed/colorguard.d.ts +0 -15
  84. package/tools/manual_typings/seed/connect-livereload.d.ts +0 -5
  85. package/tools/manual_typings/seed/cssnano.d.ts +0 -18
  86. package/tools/manual_typings/seed/doiuse.d.ts +0 -16
  87. package/tools/manual_typings/seed/express-history-api-fallback.d.ts +0 -18
  88. package/tools/manual_typings/seed/istream.d.ts +0 -10
  89. package/tools/manual_typings/seed/karma.d.ts +0 -12
  90. package/tools/manual_typings/seed/merge-stream.d.ts +0 -8
  91. package/tools/manual_typings/seed/open.d.ts +0 -8
  92. package/tools/manual_typings/seed/postcss-reporter.d.ts +0 -20
  93. package/tools/manual_typings/seed/slash.d.ts +0 -5
  94. package/tools/manual_typings/seed/stylelint.d.ts +0 -16
  95. package/tools/manual_typings/seed/systemjs-builder.d.ts +0 -10
  96. package/tools/manual_typings/seed/tildify.d.ts +0 -5
  97. package/tools/manual_typings/seed/tiny-lr.d.ts +0 -10
  98. package/tools/manual_typings/seed/walk.d.ts +0 -10
  99. package/tools/scripts/install.speech-analytic.sh +0 -35
  100. package/tools/tasks/build.app.server.ts +0 -57
  101. package/tools/tasks/build.assets.dev.ts +0 -19
  102. package/tools/tasks/build.assets.prod.ts +0 -31
  103. package/tools/tasks/build.bundles.app.aot.ts +0 -31
  104. package/tools/tasks/build.bundles.app.rollup.aot.ts +0 -101
  105. package/tools/tasks/build.bundles.app.ts +0 -31
  106. package/tools/tasks/build.bundles.ts +0 -45
  107. package/tools/tasks/build.database.scripts.runner.ts +0 -137
  108. package/tools/tasks/build.database.scripts.ts +0 -27
  109. package/tools/tasks/build.flags.ts +0 -9
  110. package/tools/tasks/build.fonts.ts +0 -9
  111. package/tools/tasks/build.html_css.ts +0 -126
  112. package/tools/tasks/build.index.dev.ts +0 -68
  113. package/tools/tasks/build.index.prod.ts +0 -64
  114. package/tools/tasks/build.js.dev.ts +0 -66
  115. package/tools/tasks/build.js.prod.aot.ts +0 -44
  116. package/tools/tasks/build.js.prod.rollup.aot.ts +0 -50
  117. package/tools/tasks/build.js.prod.ts +0 -40
  118. package/tools/tasks/build.packages.prod.ts +0 -19
  119. package/tools/tasks/build.server.dev.ts +0 -59
  120. package/tools/tasks/build.server.prod.ts +0 -31
  121. package/tools/tasks/build.server.statics.ts +0 -24
  122. package/tools/tasks/build.skins.ts +0 -51
  123. package/tools/tasks/build.sme.prod.aot.ts +0 -6
  124. package/tools/tasks/build.sme.prod.rollup.aot.ts +0 -6
  125. package/tools/tasks/build.sme.prod.ts +0 -6
  126. package/tools/tasks/build.tar.prod.ts +0 -17
  127. package/tools/tasks/build.test.database.scripts.ts +0 -52
  128. package/tools/tasks/clean.dev.ts +0 -7
  129. package/tools/tasks/clean.prod.ts +0 -7
  130. package/tools/tasks/compile.ahead.prod.ts +0 -65
  131. package/tools/tasks/copy.client.js.prod.rollup.aot.ts +0 -33
  132. package/tools/tasks/copy.client.js.prod.ts +0 -18
  133. package/tools/tasks/copy.server.assets.ts +0 -38
  134. package/tools/tasks/copy.server.js.prod.ts +0 -16
  135. package/tools/tasks/css-lint.ts +0 -58
  136. package/tools/tasks/e2e.ts +0 -32
  137. package/tools/tasks/karma.run.ts +0 -18
  138. package/tools/tasks/karma.watch.ts +0 -9
  139. package/tools/tasks/minify.server.statics.ts +0 -52
  140. package/tools/tasks/server.prod.ts +0 -6
  141. package/tools/tasks/server.start.ts +0 -6
  142. package/tools/tasks/test.database.ts +0 -6
  143. package/tools/tasks/transpile.bundles.rollup.aot.ts +0 -43
  144. package/tools/tasks/tslint.ts +0 -64
  145. package/tools/tasks/watch.file.changes.dev.ts +0 -37
  146. package/tools/tasks/watch.key.press.dev.ts +0 -116
  147. package/tools/tasks/webdriver.ts +0 -6
  148. package/tools/utils/project/sample_util.ts +0 -18
  149. package/tools/utils/project.utils.ts +0 -4
  150. package/tools/utils/seed/build_optimizer.ts +0 -26
  151. package/tools/utils/seed/clean.ts +0 -35
  152. package/tools/utils/seed/code_change_tools.ts +0 -38
  153. package/tools/utils/seed/karma.start.ts +0 -10
  154. package/tools/utils/seed/server.ts +0 -43
  155. package/tools/utils/seed/sme.ts +0 -51
  156. package/tools/utils/seed/tasks_tools.ts +0 -70
  157. package/tools/utils/seed/template_locals.ts +0 -64
  158. package/tools/utils/seed/tsproject.ts +0 -25
  159. package/tools/utils/seed.utils.ts +0 -11
  160. package/tools/utils.ts +0 -5
  161. package/tsconfig.json +0 -33
  162. package/tslint.json +0 -120
  163. package/utils.ts +0 -5
@@ -1,49 +0,0 @@
1
- import * as express from 'express';
2
- import * as url from 'url';
3
- import * as jwt from 'jsonwebtoken';
4
- import * as log4js from 'log4js';
5
-
6
- // Importo configuracion de JWT
7
- import { JWT_SECRET } from '../config/jwt.config';
8
-
9
- // Obtengo logger
10
- let logger = log4js.getLogger('ServerScripts');
11
-
12
- export function GetDomainFromRequestHost(requestHost: string): string {
13
-
14
- // Acomodo el host para que tenga forma de url
15
- let host: string = requestHost || '';
16
- if (host.match(/^http:\/\//)) host = host.substring(7);
17
- if (host.match(/^https:\/\//)) host = host.substring(8);
18
- if (host.match(/^www\./)) host = host.substring(4);
19
- if (!/http:/.test(host) && !/https:/.test(host)) host = 'http://' + host;
20
-
21
- // Obtengo el dominio asociado al request
22
- let requestDomain: string = url.parse(host).hostname;
23
-
24
- // Devuelvo el dominio obtenido
25
- return requestDomain;
26
- }
27
-
28
- export function GetRequestUser(authorizationHeader: string): string {
29
-
30
- // Verifico que el input no sea nulo
31
- let session: string = authorizationHeader || '';
32
- let userId: string;
33
-
34
- try {
35
- // Decodifico el token recibido
36
- session = session.replace(/^Bearer /i, '');
37
- // Si no hay sesion no sigo
38
- if (session) {
39
- let decoded: any = jwt.verify(session, JWT_SECRET);
40
- if (decoded.userId) userId = decoded.userId;
41
- }
42
- } catch (err) {
43
- // Obtengo el mensaje de error, que es lo que se va a enviar hacia atras
44
- let errMsg: string = (typeof err === 'string' ? err : err.message || err.description || '');
45
- logger.error('Error al decodificar datos de la sesion: ' + errMsg);
46
- }
47
- // Devuelvo el dato obtenido
48
- return userId;
49
- }
@@ -1,13 +0,0 @@
1
- export function DummyPromise(): Promise<boolean> {
2
- // Devuelvo promesa dummy que siempre resuelve true
3
- return new Promise(function(resolve, reject) {
4
- resolve(true);
5
- });
6
- }
7
-
8
- export function SleepPromise(secondTime: number): Promise<boolean> {
9
- // Devuelvo promesa dummy que siempre resuelve true
10
- return new Promise(function(resolve, reject) {
11
- setTimeout(resolve,(1000 * secondTime));
12
- });
13
- }
@@ -1,90 +0,0 @@
1
- import * as express from 'express';
2
- import * as cors from 'cors';
3
-
4
- export function InitHeaders(app: express.Application) {
5
-
6
- // Aplico los handelrs para setear los headers de seguridad
7
- app.use(FrameGuard);
8
- app.use(HidePoweredBy);
9
- app.use(XssFilter);
10
- app.use(IeNoOpen);
11
-
12
- // Configuración para CORS
13
- let corsOptions: cors.CorsOptions = {
14
- // Header Access-Control-Allow-Origin con el origen del request (sin esto no puedo setear cookies)
15
- origin: true,
16
- // Header Access-Control-Allow-Credentials
17
- credentials: true,
18
- // Header Access-Control-Allow-Methods
19
- methods: ['GET', 'POST']
20
- };
21
-
22
- // Activo CORS para las URL necesarias
23
- app.all('/api|auth|public|popup|builder|payments|distributed|static|template|assets|favicon/*', cors(corsOptions));
24
- }
25
-
26
- export function FrameGuard(req: express.Request, res: express.Response, next: any) {
27
-
28
- // El header se aplica solo para URLs que no sean embebibles
29
- if (req.url.match('^\/(builder|payments|popup)\/') || req.url.startsWith('/public/tracking/frame.html') || req.url.startsWith('/public/preview_template_edit/')) return next();
30
-
31
- // Aplico el X-Frame-Options para indicar que la página solo se puede meter dentro de un iframe en el mismo origen (evitar clickjacking)
32
- res.setHeader('X-Frame-Options', 'SAMEORIGIN');
33
-
34
- // Sigo procesando
35
- return next();
36
- }
37
-
38
- export function HidePoweredBy(req: express.Request, res: express.Response, next: any) {
39
-
40
- // Escondo el X-Powered-By: Express para no dar información a atacantes
41
- res.removeHeader('X-Powered-By');
42
-
43
- // Sigo procesando
44
- return next();
45
- }
46
-
47
- export function XssFilter(req: express.Request, res: express.Response, next: any) {
48
-
49
- // Verifico si estoy en un browser IE viejo (el header no se usa en estos casos)
50
- let matches: RegExpExecArray = /msie\s*(\d+)/i.exec(req.headers['user-agent']);
51
-
52
- // Valor del header
53
- let value: string;
54
-
55
- // Segun el caso habilito el header o no el X-XSS-Protection
56
- if (!matches || (parseFloat(matches[1]) >= 9))
57
- value = '1; mode=block';
58
- else
59
- value = '0';
60
-
61
- // Agrego el X-XSS-Protection para vitar reflected XSS (ejecucion de scripts injectados en el querystring de la página)
62
- res.setHeader('X-XSS-Protection', value);
63
-
64
- // Sigo procesando
65
- return next();
66
- }
67
-
68
- export function IeNoOpen(req: express.Request, res: express.Response, next: any) {
69
-
70
- // Agrego el X-Download-Options para evitar descargas inseguras en explorer
71
- res.setHeader('X-Download-Options', 'noopen');
72
-
73
- // Sigo procesando
74
- return next();
75
- }
76
-
77
- export function HstsGuard(req: express.Request, res: express.Response, next: any) {
78
-
79
- // Por defecto empezo con maxage 0, lo cual deshabilita el HSTS
80
- let maxAge: string = '0';
81
-
82
- // Si estoy en un dominio que tiene habilitado HTTPS seteo un año de HSTS
83
- if (res.locals && res.locals.domain && res.locals.domain.hasHttps) maxAge = '31536000';
84
-
85
- // Aplico el X-Frame-Options para indicar que la página solo se puede meter dentro de un iframe en el mismo origen (evitar clickjacking)
86
- res.setHeader('Strict-Transport-Security', 'max-age=' + maxAge);
87
-
88
- // Sigo procesando
89
- return next();
90
- }
@@ -1,38 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es5",
4
- "module": "commonjs",
5
- "declaration": false,
6
- "removeComments": true,
7
- "noLib": false,
8
- "lib": ["es2016", "dom"],
9
- "emitDecoratorMetadata": true,
10
- "experimentalDecorators": true,
11
- "sourceMap": true,
12
- "pretty": true,
13
- "allowUnreachableCode": false,
14
- "allowUnusedLabels": false,
15
- "noImplicitAny": false,
16
- "noImplicitReturns": true,
17
- "noImplicitUseStrict": false,
18
- "noFallthroughCasesInSwitch": true,
19
- "allowSyntheticDefaultImports": true,
20
- "typeRoots": [
21
- "../../node_modules/@types",
22
- "../../node_modules"
23
- ],
24
- "types": [
25
- "core-js",
26
- "node",
27
- "express",
28
- "jasmine",
29
- "systemjs"
30
- ]
31
- },
32
- "exclude": [
33
- "node_modules",
34
- "dist",
35
- "src"
36
- ],
37
- "compileOnSave": false
38
- }
@@ -1,40 +0,0 @@
1
- import * as gulp from 'gulp';
2
- import * as gulpLoadPlugins from 'gulp-load-plugins';
3
- import { join } from 'path';
4
-
5
- import { APP_CLIENT_SRC, TMP_CLIENT_DIR, TOOLS_DIR, BOOTSTRAP_MODULE_AOT, TEMPLATE_CONFIG } from '../config';
6
- import { makeTsProject, TemplateLocalsBuilder } from '../utils';
7
-
8
- const plugins = <any>gulpLoadPlugins();
9
-
10
- const INLINE_OPTIONS = {
11
- base: TMP_CLIENT_DIR,
12
- useRelativePaths: true,
13
- removeLineBreaks: true
14
- };
15
-
16
- /**
17
- * Executes the build process, transpiling the TypeScript files for the production environment.
18
- */
19
- export = () => {
20
-
21
- let tsProject = makeTsProject({}, APP_CLIENT_SRC);
22
-
23
- let src = [
24
- TOOLS_DIR + '/manual_typings/**/*.d.ts',
25
- join(TMP_CLIENT_DIR, '**/*.ts'),
26
- '!' + join(TMP_CLIENT_DIR, '/' + BOOTSTRAP_MODULE_AOT + '.ts'),
27
- ];
28
-
29
- let result = gulp.src(src)
30
- .pipe(plugins.plumber())
31
- .pipe(plugins.inlineNg2Template(INLINE_OPTIONS))
32
- .pipe(tsProject())
33
- .once('error', function () {
34
- this.once('finish', () => process.exit(1));
35
- });
36
-
37
- return result.js
38
- .pipe(plugins.template(new TemplateLocalsBuilder().withStringifiedSystemConfigDev().build(), TEMPLATE_CONFIG))
39
- .pipe(gulp.dest(TMP_CLIENT_DIR));
40
- };