Compare commits
	
		
			3 Commits
		
	
	
		
			0d3c62c6ad
			...
			b1c581ca6e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| b1c581ca6e | |||
| 96189c2392 | |||
| 700353cff4 | 
@@ -2,13 +2,13 @@ FROM node:alpine as files
 | 
			
		||||
ENV TZ="Europe/Berlin"
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
COPY [ "package-lock.json", "package.json", "index.ts", "tsconfig.json", "./" ]
 | 
			
		||||
COPY server ./server
 | 
			
		||||
 | 
			
		||||
FROM files as proddependencies
 | 
			
		||||
ENV NODE_ENV=production
 | 
			
		||||
RUN npm ci --omit=dev
 | 
			
		||||
 | 
			
		||||
FROM proddependencies as compile 
 | 
			
		||||
COPY server ./server
 | 
			
		||||
RUN npm run build
 | 
			
		||||
CMD ["npm","run","start"]
 | 
			
		||||
 | 
			
		||||
@@ -16,6 +16,7 @@ FROM files as dependencies
 | 
			
		||||
RUN npm ci
 | 
			
		||||
 | 
			
		||||
FROM dependencies as test
 | 
			
		||||
COPY server ./server
 | 
			
		||||
COPY jest.config.js .
 | 
			
		||||
COPY tests ./tests
 | 
			
		||||
RUN npm run test
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +1,19 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
  'roots': [
 | 
			
		||||
    '<rootDir>/tests',
 | 
			
		||||
    '<rootDir>/server'
 | 
			
		||||
  ],
 | 
			
		||||
  'transform': {
 | 
			
		||||
    '^.+\\.tsx?$': 'ts-jest'
 | 
			
		||||
  },
 | 
			
		||||
  'testRegex': '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
 | 
			
		||||
  'moduleFileExtensions': [
 | 
			
		||||
    'ts',
 | 
			
		||||
    'tsx',
 | 
			
		||||
    'js',
 | 
			
		||||
    'jsx',
 | 
			
		||||
    'json',
 | 
			
		||||
    'node'
 | 
			
		||||
  ],
 | 
			
		||||
	'roots': [
 | 
			
		||||
		'<rootDir>/tests',
 | 
			
		||||
		'<rootDir>/server'
 | 
			
		||||
	],
 | 
			
		||||
	'transform': {
 | 
			
		||||
		'^.+\\.tsx?$': 'ts-jest'
 | 
			
		||||
	},
 | 
			
		||||
	'testRegex': '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
 | 
			
		||||
	'setupFiles': ["<rootDir>/tests/testenv.js"],
 | 
			
		||||
	'moduleFileExtensions': [
 | 
			
		||||
		'ts',
 | 
			
		||||
		'tsx',
 | 
			
		||||
		'js',
 | 
			
		||||
		'jsx',
 | 
			
		||||
		'json',
 | 
			
		||||
		'node'
 | 
			
		||||
	],
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										100
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										100
									
								
								package.json
									
									
									
									
									
								
							@@ -1,52 +1,52 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "node-jellyfin-discord-bot",
 | 
			
		||||
  "version": "1.1.3",
 | 
			
		||||
  "description": "A discord bot to sync jellyfin accounts with discord roles",
 | 
			
		||||
  "main": "index.js",
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@discordjs/rest": "^1.7.0",
 | 
			
		||||
    "@tsconfig/recommended": "^1.0.2",
 | 
			
		||||
    "@types/node": "^18.15.11",
 | 
			
		||||
    "@types/node-cron": "^3.0.7",
 | 
			
		||||
    "@types/request": "^2.48.8",
 | 
			
		||||
    "@types/uuid": "^9.0.1",
 | 
			
		||||
    "axios": "^1.3.5",
 | 
			
		||||
    "date-fns": "^2.29.3",
 | 
			
		||||
    "date-fns-tz": "^2.0.0",
 | 
			
		||||
    "discord-api-types": "^0.37.38",
 | 
			
		||||
    "discord.js": "^14.9.0",
 | 
			
		||||
    "dotenv": "^16.0.3",
 | 
			
		||||
    "jellyfin-apiclient": "^1.10.0",
 | 
			
		||||
    "node-cron": "^3.0.2",
 | 
			
		||||
    "sqlite3": "^5.1.6",
 | 
			
		||||
    "ts-node": "^10.9.1",
 | 
			
		||||
    "typescript": "^5.0.4",
 | 
			
		||||
    "uuid": "^9.0.0",
 | 
			
		||||
    "winston": "^3.8.2"
 | 
			
		||||
  },
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "build": "tsc",
 | 
			
		||||
    "buildwatch": "tsc --watch",
 | 
			
		||||
    "clean": "rimraf build",
 | 
			
		||||
    "start": "node build/index.js",
 | 
			
		||||
    "debuggable": "node build/index.js --inspect-brk",
 | 
			
		||||
    "monitor": "nodemon build/index.js",
 | 
			
		||||
    "lint": "eslint . --ext .ts",
 | 
			
		||||
    "lint-fix": "eslint . --ext .ts --fix",
 | 
			
		||||
    "test": "jest",
 | 
			
		||||
    "test-watch": "jest --watch"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@types/jest": "^29.5.2",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "^5.58.0",
 | 
			
		||||
    "@typescript-eslint/parser": "^5.58.0",
 | 
			
		||||
    "eslint": "^8.38.0",
 | 
			
		||||
    "jest": "^29.5.0",
 | 
			
		||||
    "jest-cli": "^29.5.0",
 | 
			
		||||
    "mockdate": "^3.0.5",
 | 
			
		||||
    "nodemon": "^2.0.22",
 | 
			
		||||
    "rimraf": "^5.0.0",
 | 
			
		||||
    "ts-jest": "^29.1.0"
 | 
			
		||||
  }
 | 
			
		||||
	"name": "node-jellyfin-discord-bot",
 | 
			
		||||
	"version": "1.1.3",
 | 
			
		||||
	"description": "A discord bot to sync jellyfin accounts with discord roles",
 | 
			
		||||
	"main": "index.js",
 | 
			
		||||
	"license": "MIT",
 | 
			
		||||
	"dependencies": {
 | 
			
		||||
		"@discordjs/rest": "^1.7.0",
 | 
			
		||||
		"@tsconfig/recommended": "^1.0.2",
 | 
			
		||||
		"@types/node": "^18.15.11",
 | 
			
		||||
		"@types/node-cron": "^3.0.7",
 | 
			
		||||
		"@types/request": "^2.48.8",
 | 
			
		||||
		"@types/uuid": "^9.0.1",
 | 
			
		||||
		"axios": "^1.3.5",
 | 
			
		||||
		"date-fns": "^2.29.3",
 | 
			
		||||
		"date-fns-tz": "^2.0.0",
 | 
			
		||||
		"discord-api-types": "^0.37.38",
 | 
			
		||||
		"discord.js": "^14.9.0",
 | 
			
		||||
		"dotenv": "^16.0.3",
 | 
			
		||||
		"jellyfin-apiclient": "^1.10.0",
 | 
			
		||||
		"node-cron": "^3.0.2",
 | 
			
		||||
		"sqlite3": "^5.1.6",
 | 
			
		||||
		"ts-node": "^10.9.1",
 | 
			
		||||
		"typescript": "^5.0.4",
 | 
			
		||||
		"uuid": "^9.0.0",
 | 
			
		||||
		"winston": "^3.8.2"
 | 
			
		||||
	},
 | 
			
		||||
	"scripts": {
 | 
			
		||||
		"build": "tsc",
 | 
			
		||||
		"buildwatch": "tsc --watch",
 | 
			
		||||
		"clean": "rimraf build",
 | 
			
		||||
		"start": "node build/index.js",
 | 
			
		||||
		"debuggable": "node build/index.js --inspect-brk",
 | 
			
		||||
		"monitor": "nodemon build/index.js",
 | 
			
		||||
		"lint": "eslint . --ext .ts",
 | 
			
		||||
		"lint-fix": "eslint . --ext .ts --fix",
 | 
			
		||||
		"test": "jest --runInBand",
 | 
			
		||||
		"test-watch": "jest --watch"
 | 
			
		||||
	},
 | 
			
		||||
	"devDependencies": {
 | 
			
		||||
		"@types/jest": "^29.5.2",
 | 
			
		||||
		"@typescript-eslint/eslint-plugin": "^5.58.0",
 | 
			
		||||
		"@typescript-eslint/parser": "^5.58.0",
 | 
			
		||||
		"eslint": "^8.38.0",
 | 
			
		||||
		"jest": "^29.5.0",
 | 
			
		||||
		"jest-cli": "^29.5.0",
 | 
			
		||||
		"mockdate": "^3.0.5",
 | 
			
		||||
		"nodemon": "^2.0.22",
 | 
			
		||||
		"rimraf": "^5.0.0",
 | 
			
		||||
		"ts-jest": "^29.1.0"
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								tests/testenv.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								tests/testenv.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
process.env.CLIENT_ID = "CLIENT_ID"
 | 
			
		||||
process.env.SECRET = "SECRET"
 | 
			
		||||
process.env.BOT_TOKEN = "BOT_TOKEN"
 | 
			
		||||
process.env.WATCHER_ROLE = "WATCHER_ROLE"
 | 
			
		||||
process.env.ADMIN_ROLE = "ADMIN_ROLE"
 | 
			
		||||
process.env.CHANNEL_ID = "CHANNEL_ID"
 | 
			
		||||
process.env.WATCHPARTY_ANNOUNCEMENT_ROLE = "WATCHPARTY_ANNOUNCEMENT_ROLE"
 | 
			
		||||
process.env.YAVIN_JELLYFIN_URL = "YAVIN_JELLYFIN_URL"
 | 
			
		||||
process.env.YAVIN_COLLECTION_ID = "YAVIN_COLLECTION_ID"
 | 
			
		||||
process.env.YAVIN_COLLECTION_USER = "YAVIN_COLLECTION_USER"
 | 
			
		||||
process.env.YAVIN_TOKEN = "YAVIN_TOKEN"
 | 
			
		||||
process.env.TOKEN = "TOKEN"
 | 
			
		||||
process.env.JELLYFIN_USER = "JELLYFIN_USER"
 | 
			
		||||
process.env.JELLYFIN_COLLECTION_ID = "JELLYFIN_COLLECTION_ID"
 | 
			
		||||
process.env.JELLYFIN_URL = "JELLYFIN_URL"
 | 
			
		||||
		Reference in New Issue
	
	Block a user