Skip to content

Commit

Permalink
Merge pull request #134 from AthennaIO/develop
Browse files Browse the repository at this point in the history
Update dependencies
  • Loading branch information
jlenon7 authored Apr 7, 2023
2 parents ca21f2f + ff8c48e commit 7702102
Show file tree
Hide file tree
Showing 9 changed files with 573 additions and 539 deletions.
806 changes: 485 additions & 321 deletions package-lock.json

Large diffs are not rendered by default.

41 changes: 10 additions & 31 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@athenna/http",
"version": "3.8.0",
"version": "3.9.0",
"description": "The Athenna Http server. Built on top of fastify.",
"license": "MIT",
"author": "João Lenon <[email protected]>",
Expand Down Expand Up @@ -61,38 +61,22 @@
"#tests": "./tests/index.js"
},
"dependencies": {
"fastify": "^4.14.0"
"fastify": "^4.15.0"
},
"devDependencies": {
"@athenna/artisan": "^3.7.0",
"@athenna/common": "^3.5.0",
"@athenna/config": "^3.3.0",
"@athenna/ioc": "^3.2.0",
"@athenna/logger": "^3.2.0",
"@athenna/test": "^3.3.0",
"@athenna/view": "^3.1.0",
"@athenna/artisan": "^3.8.0",
"@athenna/common": "^3.5.1",
"@athenna/config": "^3.4.1",
"@athenna/ioc": "^3.3.0",
"@athenna/logger": "^3.3.0",
"@athenna/test": "^3.5.1",
"@athenna/view": "^3.2.0",
"@fastify/cors": "^8.1.1",
"@fastify/helmet": "^10.0.2",
"@fastify/rate-limit": "^7.5.0",
"@fastify/swagger": "^8.1.0",
"@fastify/swagger-ui": "^1.1.0",
"@japa/assert": "^1.3.6",
"@japa/run-failed-tests": "^1.1.0",
"@japa/runner": "^2.2.2",
"@japa/spec-reporter": "^1.3.2",
"@swc/core": "^1.3.27",
"@types/bytes": "^3.1.1",
"@types/callsite": "^1.0.31",
"@types/columnify": "^1.5.1",
"@types/debug": "^4.1.7",
"@types/figlet": "^1.5.5",
"@types/inquirer": "^9.0.3",
"@types/kind-of": "^6.0.0",
"@types/lodash": "^4.14.191",
"@types/ms": "^0.7.31",
"@types/pluralize": "^0.0.29",
"@types/sinon": "^10.0.13",
"@types/uuid": "^9.0.0",
"@typescript-eslint/eslint-plugin": "^5.56.0",
"@typescript-eslint/parser": "^5.56.0",
"c8": "^7.12.0",
Expand All @@ -108,12 +92,9 @@
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-promise": "^6.1.1",
"husky": "^3.1.0",
"js-yaml": "^4.1.0",
"lint-staged": "^12.5.0",
"minimist": "^1.2.7",
"prettier": "^2.8.7",
"reflect-metadata": "^0.1.13",
"sinon": "^15.0.2",
"ts-node": "^10.9.1",
"typescript": "^5.0.2"
},
Expand Down Expand Up @@ -171,9 +152,7 @@
}
]
},
"eslintIgnore": [
"build/**/*"
],
"eslintIgnore": [],
"eslintConfig": {
"env": {
"es2021": true,
Expand Down
52 changes: 52 additions & 0 deletions tests/Helpers/BaseCommandTest.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/**
* @athenna/http
*
* (c) João Lenon <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

import { Config, Rc } from '@athenna/config'
import { ViewProvider } from '@athenna/view'
import { File, Folder } from '@athenna/common'
import { LoggerProvider } from '@athenna/logger'
import { ExitFaker, AfterEach, BeforeEach } from '@athenna/test'
import { ConsoleKernel, ArtisanProvider } from '@athenna/artisan'

export class BaseCommandTest {
public artisan = Path.pwd('bin/artisan.ts')
public originalPackageJson = new File(Path.pwd('package.json')).getContentAsStringSync()

@BeforeEach()
public async beforeEach() {
ioc.reconstruct()

ExitFaker.fake()

process.env.IS_TS = 'true'

await Config.loadAll(Path.stubs('config'))

new ViewProvider().register()
new LoggerProvider().register()
new ArtisanProvider().register()

await Rc.setFile(Path.pwd('.athennarc.json'), true)

const kernel = new ConsoleKernel()

await kernel.registerExceptionHandler()
await kernel.registerCommands(['node', 'artisan'])
}

@AfterEach()
public async afterEach() {
ExitFaker.release()

await Folder.safeRemove(Path.app())
await Folder.safeRemove(Path.stubs('storage'))

await new File(Path.pwd('package.json')).setContent(this.originalPackageJson)
}
}
43 changes: 5 additions & 38 deletions tests/Unit/Commands/MakeControllerCommandTest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,46 +7,13 @@
* file that was distributed with this source code.
*/

import { File } from '@athenna/common'
import { Config } from '@athenna/config'
import { ViewProvider } from '@athenna/view'
import { File, Folder } from '@athenna/common'
import { LoggerProvider } from '@athenna/logger'
import { Artisan, ConsoleKernel, ArtisanProvider } from '@athenna/artisan'
import { Test, ExitFaker, AfterEach, BeforeEach, TestContext } from '@athenna/test'

export default class MakeControllerCommandTest {
private originalPackageJson = new File(Path.pwd('package.json')).getContentAsStringSync()

@BeforeEach()
public async beforeEach() {
ioc.reconstruct()

ExitFaker.fake()

process.env.IS_TS = 'true'

await Config.loadAll(Path.stubs('config'))

new ViewProvider().register()
new LoggerProvider().register()
new ArtisanProvider().register()

const kernel = new ConsoleKernel()

await kernel.registerExceptionHandler()
await kernel.registerCommands(['ts-node', 'artisan', 'make:controller'])
}

@AfterEach()
public async afterEach() {
ExitFaker.release()

await Folder.safeRemove(Path.app())
await Folder.safeRemove(Path.stubs('storage'))

await new File(Path.pwd('package.json')).setContent(this.originalPackageJson)
}
import { Artisan } from '@athenna/artisan'
import { Test, ExitFaker, TestContext } from '@athenna/test'
import { BaseCommandTest } from '#tests/Helpers/BaseCommandTest'

export default class MakeControllerCommandTest extends BaseCommandTest {
@Test()
public async shouldBeAbleToCreateAControllerFile({ assert }: TestContext) {
await Artisan.call('make:controller TestController', false)
Expand Down
43 changes: 5 additions & 38 deletions tests/Unit/Commands/MakeInterceptorCommandTest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,46 +7,13 @@
* file that was distributed with this source code.
*/

import { File } from '@athenna/common'
import { Config } from '@athenna/config'
import { ViewProvider } from '@athenna/view'
import { File, Folder } from '@athenna/common'
import { LoggerProvider } from '@athenna/logger'
import { Artisan, ConsoleKernel, ArtisanProvider } from '@athenna/artisan'
import { Test, ExitFaker, AfterEach, BeforeEach, TestContext } from '@athenna/test'

export default class MakeInterceptorCommandTest {
private originalPackageJson = new File(Path.pwd('package.json')).getContentAsStringSync()

@BeforeEach()
public async beforeEach() {
ioc.reconstruct()

ExitFaker.fake()

process.env.IS_TS = 'true'

await Config.loadAll(Path.stubs('config'))

new ViewProvider().register()
new LoggerProvider().register()
new ArtisanProvider().register()

const kernel = new ConsoleKernel()

await kernel.registerExceptionHandler()
await kernel.registerCommands(['ts-node', 'artisan', 'make:interceptor'])
}

@AfterEach()
public async afterEach() {
ExitFaker.release()

await Folder.safeRemove(Path.app())
await Folder.safeRemove(Path.stubs('storage'))

await new File(Path.pwd('package.json')).setContent(this.originalPackageJson)
}
import { Artisan } from '@athenna/artisan'
import { Test, ExitFaker, TestContext } from '@athenna/test'
import { BaseCommandTest } from '#tests/Helpers/BaseCommandTest'

export default class MakeInterceptorCommandTest extends BaseCommandTest {
@Test()
public async shouldBeAbleToCreateAInterceptorFile({ assert }: TestContext) {
await Artisan.call('make:interceptor TestInterceptor', false)
Expand Down
43 changes: 5 additions & 38 deletions tests/Unit/Commands/MakeMiddlewareCommandTest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,46 +7,13 @@
* file that was distributed with this source code.
*/

import { File } from '@athenna/common'
import { Config } from '@athenna/config'
import { ViewProvider } from '@athenna/view'
import { File, Folder } from '@athenna/common'
import { LoggerProvider } from '@athenna/logger'
import { Artisan, ConsoleKernel, ArtisanProvider } from '@athenna/artisan'
import { Test, ExitFaker, AfterEach, BeforeEach, TestContext } from '@athenna/test'

export default class MakeMiddlewareCommandTest {
private originalPackageJson = new File(Path.pwd('package.json')).getContentAsStringSync()

@BeforeEach()
public async beforeEach() {
ioc.reconstruct()

ExitFaker.fake()

process.env.IS_TS = 'true'

await Config.loadAll(Path.stubs('config'))

new ViewProvider().register()
new LoggerProvider().register()
new ArtisanProvider().register()

const kernel = new ConsoleKernel()

await kernel.registerExceptionHandler()
await kernel.registerCommands(['ts-node', 'artisan', 'make:middleware'])
}

@AfterEach()
public async afterEach() {
ExitFaker.release()

await Folder.safeRemove(Path.app())
await Folder.safeRemove(Path.stubs('storage'))

await new File(Path.pwd('package.json')).setContent(this.originalPackageJson)
}
import { Artisan } from '@athenna/artisan'
import { Test, ExitFaker, TestContext } from '@athenna/test'
import { BaseCommandTest } from '#tests/Helpers/BaseCommandTest'

export default class MakeMiddlewareCommandTest extends BaseCommandTest {
@Test()
public async shouldBeAbleToCreateAMiddlewareFile({ assert }: TestContext) {
await Artisan.call('make:middleware TestMiddleware', false)
Expand Down
43 changes: 5 additions & 38 deletions tests/Unit/Commands/MakeTerminatorCommandTest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,46 +7,13 @@
* file that was distributed with this source code.
*/

import { File } from '@athenna/common'
import { Config } from '@athenna/config'
import { ViewProvider } from '@athenna/view'
import { File, Folder } from '@athenna/common'
import { LoggerProvider } from '@athenna/logger'
import { Artisan, ConsoleKernel, ArtisanProvider } from '@athenna/artisan'
import { Test, ExitFaker, AfterEach, BeforeEach, TestContext } from '@athenna/test'

export default class MakeTerminatorCommandTest {
private originalPackageJson = new File(Path.pwd('package.json')).getContentAsStringSync()

@BeforeEach()
public async beforeEach() {
ioc.reconstruct()

ExitFaker.fake()

process.env.IS_TS = 'true'

await Config.loadAll(Path.stubs('config'))

new ViewProvider().register()
new LoggerProvider().register()
new ArtisanProvider().register()

const kernel = new ConsoleKernel()

await kernel.registerExceptionHandler()
await kernel.registerCommands(['ts-node', 'artisan', 'make:terminator'])
}

@AfterEach()
public async afterEach() {
ExitFaker.release()

await Folder.safeRemove(Path.app())
await Folder.safeRemove(Path.stubs('storage'))

await new File(Path.pwd('package.json')).setContent(this.originalPackageJson)
}
import { Artisan } from '@athenna/artisan'
import { Test, ExitFaker, TestContext } from '@athenna/test'
import { BaseCommandTest } from '#tests/Helpers/BaseCommandTest'

export default class MakeTerminatorCommandTest extends BaseCommandTest {
@Test()
public async shouldBeAbleToCreateATerminatorFile({ assert }: TestContext) {
await Artisan.call('make:terminator TestTerminator', false)
Expand Down
37 changes: 4 additions & 33 deletions tests/Unit/Commands/RouteListCommandTest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,40 +8,11 @@
*/

import { Color } from '@athenna/common'
import { Config } from '@athenna/config'
import { ViewProvider } from '@athenna/view'
import { LoggerProvider } from '@athenna/logger'
import { Artisan, ConsoleKernel, ArtisanProvider } from '@athenna/artisan'
import { Test, ExitFaker, AfterEach, BeforeEach, TestContext } from '@athenna/test'

export default class RouteListCommandTest {
private artisan = Path.pwd('bin/artisan.ts')

@BeforeEach()
public async beforeEach() {
ioc.reconstruct()

ExitFaker.fake()

process.env.IS_TS = 'true'

await Config.loadAll(Path.stubs('config'))

new ViewProvider().register()
new LoggerProvider().register()
new ArtisanProvider().register()

const kernel = new ConsoleKernel()

await kernel.registerExceptionHandler()
await kernel.registerCommands(['ts-node', 'artisan', 'route:list'])
}

@AfterEach()
public async afterEach() {
ExitFaker.release()
}
import { Artisan } from '@athenna/artisan'
import { Test, TestContext } from '@athenna/test'
import { BaseCommandTest } from '#tests/Helpers/BaseCommandTest'

export default class RouteListCommandTest extends BaseCommandTest {
@Test()
public async shouldBeAbleToListAllRoutesRegisteredInTheHttpServer({ assert }: TestContext) {
const { stderr, stdout } = await Artisan.callInChild('route:list', this.artisan)
Expand Down
Loading

0 comments on commit 7702102

Please sign in to comment.