diff --git a/jest.config.js b/jest.config.js index 13371ce..27f16fc 100644 --- a/jest.config.js +++ b/jest.config.js @@ -17,16 +17,28 @@ module.exports = { // }, setupFiles: ['./tests/setupTest.js'], moduleNameMapper: { + // This will be removed in the future versions '^Config(.*)$': '/src/config$1', + // This will be removed in the future versions '^Constants/errorCodes(.*)$': '/src/constants/errorCodes$1', + // This will be removed in the future versions '^Core(.*)$': '/src/core$1', + // This will be removed in the future versions '^Exceptions/ErrorException(.*)$': '/src/exceptions/ErrorException$1', + // This will be removed in the future versions '^Models(.*)$': '/src/models$1', - '^Utils/logger$': '/tests/__mocks__/utils/logger.js', - '^Utils/queue$': '/tests/__mocks__/utils/queue.js', - '^Utils/database$': '/node_modules/lesgo/src/utils/database.js', - '^Utils/sentry$': '/node_modules/lesgo/src/utils/sentry.js', + '^config(.*)$': '/src/config$1', + '^constants/errorCodes(.*)$': '/src/constants/errorCodes$1', + '^core(.*)$': '/src/core$1', + '^exceptions/ErrorException(.*)$': + '/src/exceptions/ErrorException$1', + '^models(.*)$': '/src/models$1', + '^lesgo/utils/logger$': '/tests/__mocks__/utils/logger.js', + '^lesgo/utils/queue$': '/tests/__mocks__/utils/queue.js', + '^lesgo/utils/sentry$': '/node_modules/lesgo/src/utils/sentry.js', + '^lesgo/utils/database$': + '/node_modules/lesgo/src/utils/database.js', '^@sentry/node$': '/node_modules/@sentry/node/dist/index.js', }, transformIgnorePatterns: ['/node_modules/(?!lesgo).+\\.js$'], diff --git a/jsconfig.json b/jsconfig.json index e3a81a5..c7596d4 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -49,6 +49,34 @@ ], "Utils/*": [ "src/utils/*", + "../lesgo-framework/src/utils/*", + "node_modules/lesgo/src/utils/*" + ], + "config/*": ["src/config/*"], + "constants/*": ["src/constants/*"], + "core/*": ["src/core/*"], + "exceptions/*": ["src/exceptions/*"], + "handlers/*": ["src/handlers/*"], + "middlewares/*": ["src/middlewares/*"], + "models/*": ["src/models/*"], + "services/*": ["src/services/*"], + "utils/*": ["src/utils/*"], + "lesgo/exceptions/*": [ + "../lesgo-framework/src/exceptions/*", + "node_modules/lesgo/src/exceptions/*", + "node_modules/@types/lesgo/exceptions/*" + ], + "lesgo/middlewares/*": [ + "../lesgo-framework/src/middlewares/*", + "node_modules/lesgo/src/middlewares/*", + "node_modules/@types/lesgo/middlewares/*" + ], + "lesgo/services/*": [ + "../lesgo-framework/src/services/*", + "node_modules/lesgo/src/services/*", + "node_modules/@types/lesgo/services/*" + ], + "lesgo/utils/*": [ "../lesgo-framework/src/utils/*", "node_modules/lesgo/src/utils/*", "node_modules/@types/lesgo/utils/*" diff --git a/src/core/ping.js b/src/core/ping.js index 3474a1a..17dfb02 100644 --- a/src/core/ping.js +++ b/src/core/ping.js @@ -1,6 +1,6 @@ -import logger from 'Utils/logger'; -import ErrorException from 'Exceptions/ErrorException'; -import { ERROR_SAMPLE, ERROR_UNKNOWN_PARAMETER } from 'Constants/errorCodes'; +import logger from 'lesgo/utils/logger'; +import ErrorException from 'exceptions/ErrorException'; +import { ERROR_SAMPLE, ERROR_UNKNOWN_PARAMETER } from 'constants/errorCodes'; const ping = input => { return new Promise((resolve, reject) => { diff --git a/src/exceptions/ErrorException.js b/src/exceptions/ErrorException.js index dd10d4c..6eda78f 100644 --- a/src/exceptions/ErrorException.js +++ b/src/exceptions/ErrorException.js @@ -1,4 +1,4 @@ -import { ERROR_EXCEPTION } from 'Constants/errorCodes'; +import { ERROR_EXCEPTION } from 'constants/errorCodes'; export default class ErrorException extends Error { constructor( diff --git a/src/handlers/ping.js b/src/handlers/ping.js index a67a60a..f314284 100644 --- a/src/handlers/ping.js +++ b/src/handlers/ping.js @@ -1,8 +1,9 @@ import middy from '@middy/core'; -import httpMiddleware from 'Middlewares/httpMiddleware'; -import { connectSentry } from 'Utils/sentry'; -import ping from 'Core/ping'; -import app from 'Config/app'; +import httpMiddleware from 'lesgo/middlewares/httpMiddleware'; +import { connectSentry } from 'lesgo/utils/sentry'; +import ping from 'core/ping'; +import app from 'config/app'; +import exampleMiddleware from 'middlewares/exampleMiddleware'; connectSentry(); @@ -13,4 +14,4 @@ const originalHandler = event => { // eslint-disable-next-line import/prefer-default-export export const handler = middy(originalHandler); -handler.use(httpMiddleware({ debugMode: app.debug })); +handler.use(httpMiddleware({ debugMode: app.debug })).use(exampleMiddleware()); diff --git a/src/handlers/samples/cache.js b/src/handlers/samples/cache.js index 1bc7276..5bfaec2 100644 --- a/src/handlers/samples/cache.js +++ b/src/handlers/samples/cache.js @@ -1,10 +1,10 @@ /* eslint-disable no-console */ import middy from '@middy/core'; -import httpMiddleware from 'Middlewares/httpMiddleware'; -import { connectSentry } from 'Utils/sentry'; -import app from 'Config/app'; -import cache from 'Utils/cache'; -import ErrorException from 'Exceptions/ErrorException'; +import httpMiddleware from 'lesgo/middlewares/httpMiddleware'; +import { connectSentry } from 'lesgo/utils/sentry'; +import cache from 'lesgo/utils/cache'; +import ErrorException from 'exceptions/ErrorException'; +import app from 'config/app'; connectSentry(); diff --git a/src/handlers/samples/database.js b/src/handlers/samples/database.js index d05e22b..ec1a796 100644 --- a/src/handlers/samples/database.js +++ b/src/handlers/samples/database.js @@ -1,9 +1,9 @@ /* eslint-disable no-console */ import middy from '@middy/core'; -import httpMiddleware from 'Middlewares/httpMiddleware'; -import { connectSentry } from 'Utils/sentry'; -import app from 'Config/app'; -import db from 'Utils/database'; +import httpMiddleware from 'lesgo/middlewares/httpMiddleware'; +import { connectSentry } from 'lesgo/utils/sentry'; +import db from 'lesgo/utils/database'; +import app from 'config/app'; connectSentry(); diff --git a/src/handlers/samples/db.js b/src/handlers/samples/db.js index ac8aebf..265bfe0 100644 --- a/src/handlers/samples/db.js +++ b/src/handlers/samples/db.js @@ -1,9 +1,9 @@ /* eslint-disable no-console */ import middy from '@middy/core'; -import httpMiddleware from 'Middlewares/httpMiddleware'; -import app from 'Config/app'; -import { connectSentry } from 'Utils/sentry'; -import { db, dbRead, connectDb } from 'Utils/database'; +import httpMiddleware from 'lesgo/middlewares/httpMiddleware'; +import { connectSentry } from 'lesgo/utils/sentry'; +import { db, dbRead, connectDb } from 'lesgo/utils/database'; +import app from 'config/app'; connectDb(); connectSentry(); diff --git a/src/handlers/samples/elasticsearch.js b/src/handlers/samples/elasticsearch.js index 926ae56..0eea1a9 100644 --- a/src/handlers/samples/elasticsearch.js +++ b/src/handlers/samples/elasticsearch.js @@ -1,9 +1,9 @@ /* eslint-disable no-console */ import middy from '@middy/core'; -import httpMiddleware from 'Middlewares/httpMiddleware'; -import { connectSentry } from 'Utils/sentry'; -import app from 'Config/app'; -import es from 'Utils/elasticsearch'; +import httpMiddleware from 'lesgo/middlewares/httpMiddleware'; +import { connectSentry } from 'lesgo/utils/sentry'; +import es from 'lesgo/utils/elasticsearch'; +import app from 'config/app'; connectSentry(); diff --git a/src/handlers/samples/errorHandling.js b/src/handlers/samples/errorHandling.js index 8f8cc70..bd73f68 100644 --- a/src/handlers/samples/errorHandling.js +++ b/src/handlers/samples/errorHandling.js @@ -1,11 +1,11 @@ /* eslint-disable no-console */ import middy from '@middy/core'; -import httpMiddleware from 'Middlewares/httpMiddleware'; -import { connectSentry } from 'Utils/sentry'; -import app from 'Config/app'; -import logger from 'Utils/logger'; -import ErrorException from 'Exceptions/ErrorException'; -import { ERROR_SAMPLE, ERROR_UNKNOWN_PARAMETER } from 'Constants/errorCodes'; +import httpMiddleware from 'lesgo/middlewares/httpMiddleware'; +import { connectSentry } from 'lesgo/utils/sentry'; +import logger from 'lesgo/utils/logger'; +import ErrorException from 'exceptions/ErrorException'; +import { ERROR_SAMPLE, ERROR_UNKNOWN_PARAMETER } from 'constants/errorCodes'; +import app from 'config/app'; connectSentry(); diff --git a/src/handlers/samples/jwt.js b/src/handlers/samples/jwt.js index 09d84c9..a5cae28 100644 --- a/src/handlers/samples/jwt.js +++ b/src/handlers/samples/jwt.js @@ -1,9 +1,9 @@ import middy from '@middy/core'; -import httpMiddleware from 'Middlewares/httpMiddleware'; -import verifyJwtMiddleware from 'Middlewares/verifyJwtMiddleware'; -import { connectSentry } from 'Utils/sentry'; -import ping from 'Core/ping'; -import app from 'Config/app'; +import httpMiddleware from 'lesgo/middlewares/httpMiddleware'; +import verifyJwtMiddleware from 'lesgo/middlewares/verifyJwtMiddleware'; +import { connectSentry } from 'lesgo/utils/sentry'; +import ping from 'core/ping'; +import app from 'config/app'; connectSentry(); diff --git a/src/handlers/samples/objectStore.js b/src/handlers/samples/objectStore.js index b42d6ae..1ceaf7f 100644 --- a/src/handlers/samples/objectStore.js +++ b/src/handlers/samples/objectStore.js @@ -1,9 +1,9 @@ /* eslint-disable no-console */ import middy from '@middy/core'; -import httpMiddleware from 'Middlewares/httpMiddleware'; -import { connectSentry } from 'Utils/sentry'; -import app from 'Config/app'; -import ping from 'Core/ping'; +import httpMiddleware from 'lesgo/middlewares/httpMiddleware'; +import { connectSentry } from 'lesgo/utils/sentry'; +import app from 'config/app'; +import ping from 'core/ping'; connectSentry(); diff --git a/src/handlers/samples/queue.js b/src/handlers/samples/queue.js index 3e575c0..0e58ab3 100644 --- a/src/handlers/samples/queue.js +++ b/src/handlers/samples/queue.js @@ -1,8 +1,8 @@ import middy from '@middy/core'; -import httpMiddleware from 'Middlewares/httpMiddleware'; -import { connectSentry } from 'Utils/sentry'; -import app from 'Config/app'; -import { dispatch } from 'Utils/queue'; +import httpMiddleware from 'lesgo/middlewares/httpMiddleware'; +import { connectSentry } from 'lesgo/utils/sentry'; +import { dispatch } from 'lesgo/utils/queue'; +import app from 'config/app'; connectSentry(); diff --git a/src/handlers/samples/queueProcessor.js b/src/handlers/samples/queueProcessor.js index 8db7aa0..6a106ed 100644 --- a/src/handlers/samples/queueProcessor.js +++ b/src/handlers/samples/queueProcessor.js @@ -1,11 +1,11 @@ import middy from '@middy/core'; -import normalizeSQSMessageMiddleware from 'Middlewares/normalizeSQSMessageMiddleware'; -import { connectSentry } from 'Utils/sentry'; -import ErrorException from 'Exceptions/ErrorException'; +import normalizeSQSMessageMiddleware from 'lesgo/middlewares/normalizeSQSMessageMiddleware'; +import { connectSentry } from 'lesgo/utils/sentry'; +import ErrorException from 'exceptions/ErrorException'; import { PING_QUEUE_PROCESSOR_SAMPLE_ERROR, ERROR_EMPTY_PARAMETER, -} from 'Constants/errorCodes'; +} from 'constants/errorCodes'; connectSentry(); diff --git a/src/handlers/samples/scheduledEvent.js b/src/handlers/samples/scheduledEvent.js index 50d6f8f..6fc3ace 100644 --- a/src/handlers/samples/scheduledEvent.js +++ b/src/handlers/samples/scheduledEvent.js @@ -1,6 +1,6 @@ -import logger from 'Utils/logger'; -import { connectSentry } from 'Utils/sentry'; -import ping from 'Core/ping'; +import logger from 'lesgo/utils/logger'; +import { connectSentry } from 'lesgo/utils/sentry'; +import ping from 'core/ping'; connectSentry(); diff --git a/src/models/Model.js b/src/models/Model.js index 586fbbc..0db61ee 100644 --- a/src/models/Model.js +++ b/src/models/Model.js @@ -1,4 +1,4 @@ -import db from 'Utils/database'; +import db from 'lesgo/utils/database'; import { Model as BaseModel } from 'objection/lib/model/Model'; BaseModel.knex(db().query); diff --git a/tests/core/ping.spec.js b/tests/core/ping.spec.js index 57aada0..6572dc3 100644 --- a/tests/core/ping.spec.js +++ b/tests/core/ping.spec.js @@ -1,5 +1,5 @@ -import ping from 'Core/ping'; -import { ERROR_SAMPLE, ERROR_UNKNOWN_PARAMETER } from 'Constants/errorCodes'; +import ping from 'core/ping'; +import { ERROR_SAMPLE, ERROR_UNKNOWN_PARAMETER } from 'constants/errorCodes'; describe('test ping core', () => { it('ping request should return Pong', () => { diff --git a/tests/exceptions/ErrorException.spec.js b/tests/exceptions/ErrorException.spec.js index 548ae9f..58b127d 100644 --- a/tests/exceptions/ErrorException.spec.js +++ b/tests/exceptions/ErrorException.spec.js @@ -1,5 +1,5 @@ -import ErrorException from 'Exceptions/ErrorException'; -import { ERROR_EXCEPTION, ERROR_SAMPLE } from 'Constants/errorCodes'; +import ErrorException from 'exceptions/ErrorException'; +import { ERROR_EXCEPTION, ERROR_SAMPLE } from 'constants/errorCodes'; describe('test ErrorException', () => { it('test ErrorException with default parameters', () => { diff --git a/tests/utils/database.spec.js b/tests/utils/database.spec.js index 8b3be6c..3d22e09 100644 --- a/tests/utils/database.spec.js +++ b/tests/utils/database.spec.js @@ -1,4 +1,4 @@ -import User from 'Models/User'; +import User from 'models/User'; describe('test model', () => { it('should return the table name', async () => { diff --git a/tests/utils/sentry.spec.js b/tests/utils/sentry.spec.js index c8e41e4..01d5d39 100644 --- a/tests/utils/sentry.spec.js +++ b/tests/utils/sentry.spec.js @@ -1,4 +1,4 @@ -import { connectSentry } from 'Utils/sentry'; +import { connectSentry } from 'lesgo/utils/sentry'; describe('test sentry utils', () => { it('should connect to sentry', () => { diff --git a/webpack.config.js b/webpack.config.js index 832289d..cb1e031 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -53,30 +53,22 @@ module.exports = { new AliasPlugin( 'described-resolve', [ + // This will be removed in future versions { name: 'Config', - alias: [ - path.resolve(__dirname, 'src/config/'), - path.resolve(__dirname, '../lesgo-framework/src/config/'), - path.resolve(__dirname, 'node_modules/lesgo/src/config/'), - ], + alias: [path.resolve(__dirname, 'src/config/')], }, + // This will be removed in future versions { name: 'Constants', - alias: [ - path.resolve(__dirname, 'src/constants/'), - path.resolve(__dirname, '../lesgo-framework/src/constants/'), - path.resolve(__dirname, 'node_modules/lesgo/src/constants/'), - ], + alias: [path.resolve(__dirname, 'src/constants/')], }, + // This will be removed in future versions { name: 'Core', - alias: [ - path.resolve(__dirname, 'src/core/'), - path.resolve(__dirname, '../lesgo-framework/src/core/'), - path.resolve(__dirname, 'node_modules/lesgo/src/core/'), - ], + alias: [path.resolve(__dirname, 'src/core/')], }, + // This will be removed in future versions { name: 'Exceptions', alias: [ @@ -85,38 +77,37 @@ module.exports = { path.resolve(__dirname, 'node_modules/lesgo/src/exceptions/'), ], }, + // This will be removed in future versions { name: 'Handlers', - alias: [ - path.resolve(__dirname, 'src/handlers/'), - path.resolve(__dirname, '../lesgo-framework/src/handlers/'), - path.resolve(__dirname, 'node_modules/lesgo/src/handlers/'), - ], + alias: [path.resolve(__dirname, 'src/handlers/')], }, + // This will be removed in future versions { name: 'Middlewares', alias: [ path.resolve(__dirname, 'src/middlewares/'), - path.resolve(__dirname, '../lesgo-framework/src/middlewares'), - path.resolve(__dirname, 'node_modules/lesgo/src/middlewares'), + // This will be removed in future versions + path.resolve(__dirname, '../lesgo-framework/src/middlewares/'), + path.resolve(__dirname, 'node_modules/lesgo/src/middlewares/'), ], }, + // This will be removed in future versions { name: 'Models', - alias: [ - path.resolve(__dirname, 'src/models/'), - path.resolve(__dirname, '../lesgo-framework/src/models/'), - path.resolve(__dirname, 'node_modules/lesgo/src/models/'), - ], + alias: [path.resolve(__dirname, 'src/models/')], }, + // This will be removed in future versions { name: 'Services', alias: [ path.resolve(__dirname, 'src/services/'), + // This will be removed in future versions path.resolve(__dirname, '../lesgo-framework/src/services/'), path.resolve(__dirname, 'node_modules/lesgo/src/services/'), ], }, + // This will be removed in future versions { name: 'Utils', alias: [ @@ -125,6 +116,70 @@ module.exports = { path.resolve(__dirname, 'node_modules/lesgo/src/utils/'), ], }, + { + name: 'config', + alias: [path.resolve(__dirname, 'src/config/')], + }, + { + name: 'constants', + alias: [path.resolve(__dirname, 'src/constants/')], + }, + { + name: 'core', + alias: [path.resolve(__dirname, 'src/core/')], + }, + { + name: 'exceptions', + alias: [path.resolve(__dirname, 'src/exceptions/')], + }, + { + name: 'handlers', + alias: [path.resolve(__dirname, 'src/handlers/')], + }, + { + name: 'middlewares', + alias: [path.resolve(__dirname, 'src/middlewares/')], + }, + { + name: 'models', + alias: [path.resolve(__dirname, 'src/models/')], + }, + { + name: 'services', + alias: [path.resolve(__dirname, 'src/services/')], + }, + { + name: 'utils', + alias: [path.resolve(__dirname, 'src/utils/')], + }, + { + name: 'lesgo/exceptions', + alias: [ + path.resolve(__dirname, '../lesgo-framework/src/exceptions/'), + path.resolve(__dirname, 'node_modules/lesgo/src/exceptions/'), + ], + }, + { + name: 'lesgo/middlewares', + alias: [ + path.resolve(__dirname, '../lesgo-framework/src/middlewares/'), + path.resolve(__dirname, 'node_modules/lesgo/src/middlewares/'), + ], + }, + { + name: 'lesgo/services', + alias: [ + path.resolve(__dirname, '../lesgo-framework/src/services/'), + path.resolve(__dirname, 'node_modules/lesgo/src/services/'), + ], + }, + { + name: 'lesgo/utils', + alias: [ + path.resolve(__dirname, '../lesgo-framework/src/utils/'), + path.resolve(__dirname, 'node_modules/lesgo/src/utils/'), + ], + }, ], 'resolve' ),