Skip to content

Instantly share code, notes, and snippets.

View kerren's full-sized avatar

Kerren Ortlepp kerren

View GitHub Profile
@kerren
kerren / Dockerfile
Last active August 7, 2019 11:45
Adding wait to the Dockerfile
# ...
# Add the lines below
ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.5.1/wait /wait
RUN chmod +x /wait
ENTRYPOINT [ "/bin/bash" ]
CMD [ "-c", "/wait && /entrypoint.sh" ]
# ...
@kerren
kerren / team-city-docker-compose.sh
Created August 6, 2019 22:11
The script to paste into Team City that runs a Docker Compose file
cd ./devops/testing/backend
TEST_NAME="your-project-${BUILD_NUMBER}"
echo "Running test ${TEST_NAME}"
docker-compose -p $TEST_NAME up --build --abort-on-container-exit
STATUS=$?
docker-compose -p $TEST_NAME down
docker-compose -p $TEST_NAME rm --force database redis
@kerren
kerren / docker-compose.yaml
Last active August 6, 2019 22:07
The Docker Compose file used for testing
version: '3.6'
services:
database:
image: postgres
environment:
- POSTGRES_PASSWORD=testing
- POSTGRES_USER=testing
- POSTGRES_DB=testing
ports:
- 5432
@kerren
kerren / Dockerfile
Created August 6, 2019 21:58
The dockerfile for testing
FROM node:lts
COPY package.json package.json
COPY package-lock.json package-lock.json
RUN npm install
COPY . .
ENTRYPOINT [ "npm" ]
@kerren
kerren / nestrand.module.ts
Created July 10, 2019 20:48
The new module with logger injections
import { DynamicModule, Module } from '@nestjs/common';
import { RandomNumberService } from './random-number.service';
import { RandomNumberServiceOptions } from './random-number-service-options';
import { Logger } from '@modules/shared/services/logger.service';
const randomNumberServiceFactory = (
options: Partial<RandomNumberServiceOptions>,
) => {
return {
provide: RandomNumberService,
@kerren
kerren / random-number.service.ts
Last active July 10, 2019 20:44
The new Random Number Service that injects a Logger Service
import { Injectable } from '@nestjs/common';
import {
defaultRandomNumberServiceOptions,
RandomNumberServiceOptions,
} from './random-number-service-options';
import { Logger } from '@modules/shared/services/logger.service';
@Injectable()
export class RandomNumberService {
private options: RandomNumberServiceOptions;
@kerren
kerren / looped-random-number-service-options.ts
Created July 10, 2019 20:38
The options for the Looped Random Number Service
export interface LoopedRandomNumberServiceOptions {
loops: number;
}
export const defaultLoopedRandomNumberServiceOptions: LoopedRandomNumberServiceOptions = {
loops: 10,
};
@kerren
kerren / looped-random-number.service.ts
Created July 10, 2019 20:37
The new Looped Random Number Generator Service
import { Injectable } from '@nestjs/common';
import { RandomNumberService } from './random-number.service';
import {
defaultLoopedRandomNumberServiceOptions,
LoopedRandomNumberServiceOptions,
} from './looped-random-number-service-options';
@Injectable()
export class LoopedRandomNumberService {
private options: LoopedRandomNumberServiceOptions;
@kerren
kerren / app.module.ts
Created July 10, 2019 20:21
Using our imported module
import { SharedModule } from '@modules/shared/shared.module';
import { NestrandModule } from 'nestrand';
@Module({
imports: [
SharedModule,
NestrandModule.forRoot({
min: 100,
max: 200
})
@kerren
kerren / package.json
Created July 10, 2019 20:16
The package.json for publishing your npm package
{
"name": "nestrand",
"version": "0.0.0",
"description": "A random number generator for NestJS",
"main": "dist/index",
"types": "dist/index",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "rimraf dist && tsc",
"prepublish": "npm run build"