Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 17 additions & 7 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,23 +1,33 @@
{
"extends": ["eslint:recommended"],
"extends": [
"eslint:recommended"
],
"parserOptions": {
"ecmaVersion": 2018,
"ecmaVersion": 2022,
"sourceType": "module"
},
"env": {
"browser": true,
"node": true,
"es6": true
"es2022": true
},
"globals": {
"App": true
},
"ignorePatterns": ["dist/*", "frontend/dist/*"],
"ignorePatterns": [
"dist/*",
"frontend/dist/*"
],
"overrides": [
{
"files": ["**/*.ts", "**/*.tsx"],
"files": [
"**/*.ts",
"**/*.tsx"
],
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"plugins": [
"@typescript-eslint"
],
"extends": [
"eslint:recommended",
"plugin:react/recommended",
Expand Down Expand Up @@ -49,4 +59,4 @@
"version": "detect"
}
}
}
}
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: "16"
node-version: "18"
cache: npm

- run: npm install
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:16-alpine
FROM node:18-alpine

RUN mkdir -p /opt/pulldasher
WORKDIR /opt/pulldasher
Expand Down
47 changes: 27 additions & 20 deletions app.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,31 @@
var config = require("./lib/config-loader"),
express = require("express"),
bodyParser = require("body-parser"),
expressSession = require("express-session"),
authManager = require("./lib/authentication"),
passport = authManager.passport,
socketAuthenticator = require("./lib/socket-auth"),
refresh = require("./lib/refresh"),
pullManager = require("./lib/pull-manager"),
dbManager = require("./lib/db-manager"),
pullQueue = require("./lib/pull-queue"),
mainController = require("./controllers/main"),
hooksController = require("./controllers/githubHooks"),
reqLogger = require("./lib/debug")("pulldasher:server:request"),
debug = require("./lib/debug")("pulldasher");
import config from "./lib/config-loader.js";
import express from "express";
import bodyParser from "body-parser";
import expressSession from "express-session";
import authManager from "./lib/authentication.js";
import socketAuthenticator from "./lib/socket-auth.js";
import refresh from "./lib/refresh.js";
import pullManager from "./lib/pull-manager.js";
import dbManager from "./lib/db-manager.js";
import pullQueue from "./lib/pull-queue.js";
import mainController from "./controllers/main.js";
import hooksController from "./controllers/githubHooks.js";
import Debug from "./lib/debug.js";
import { createServer } from "http";
import { Server } from "socket.io";
import { fileURLToPath } from "url";
import { dirname } from "path";

var app = express();
var httpServer = require("http").createServer(app);
const reqLogger = Debug("pulldasher:server:request");
const debug = Debug("pulldasher");

const app = express();
const httpServer = createServer(app);
const maxPostSize = 1024 * 1024;

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

app.set("view engine", "html");

/**
Expand All @@ -33,8 +41,8 @@ app.use(
saveUninitialized: false,
})
);
app.use(passport.initialize());
app.use(passport.session());
app.use(authManager.passport.initialize());
app.use(authManager.passport.session());

app.use(function (req, res, next) {
reqLogger("%s %s", req.method, req.url);
Expand Down Expand Up @@ -73,7 +81,6 @@ dbManager.closeStalePulls();

//====================================================
// Socket.IO
const { Server } = require("socket.io");
const io = new Server(httpServer);
io.on("connection", function (socket) {
var unauthenticated_timeout =
Expand Down
30 changes: 13 additions & 17 deletions bin/migrate
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#!/usr/bin/env node

var config = require('../lib/config-loader');
var mysql = require('mysql2'),
fs = require('fs');
import { createConnection } from 'mysql2';
import { readFileSync } from 'fs/promises';
import config from '../lib/config-loader.js';

var db = mysql.createConnection({
const db = createConnection({
host: config.mysql.host,
database: config.mysql.db,
user: config.mysql.user,
Expand All @@ -15,23 +15,19 @@ var db = mysql.createConnection({
console.log("Running this script will initalize your database for pulldasher.");
console.log("It will not drop any existing tables.");

fs.readFile('migrations/schema.sql', function(err, data) {
const data = readFileSync('migrations/schema.sql');

db.query(data.toString(), function (err) {
// If the connection fails, return a failure code so that entrypoint.sh
// will retry this script.
if (err) {
throw err;
console.log(err);
process.exit(1);
}

db.query(data.toString(), function(err, res, fields) {
// If the connection fails, return a failure code so that entrypoint.sh
// will retry this script.
db.end(function (err) {
if (err) {
console.log(err);
process.exit(1);
throw err;
}

db.end(function(err) {
if (err) {
throw err;
}
});
});
});
20 changes: 10 additions & 10 deletions bin/pulldasher
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
#!/usr/bin/env node
var fs = require('fs');
var config = require('../lib/config-loader');
var debug = require('../lib/debug')('pulldasher:bin');
import { writeFileSync, unlinkSync } from 'fs';
import config from '../lib/config-loader.js';
import debug from '../lib/debug.js';

// Save the pid to a file if requested (for an init script)
if (config.pidFile) {
fs.writeFileSync(config.pidFile, '' + process.pid);
process.on('exit', function() {
var m = "\nExiting...";
writeFileSync(config.pidFile, '' + process.pid);
process.on('exit', function () {
const m = "\nExiting...";
debug(m);
console.warn(m);
fs.unlinkSync(config.pidFile);
unlinkSync(config.pidFile);
});

// Without these, the onExit handler above is never called.
process.on('SIGINT', exitBad);
process.on('SIGINT', exitBad);
process.on('SIGTERM', exitBad);
process.on('SIGHUP', exitBad);
process.on('SIGHUP', exitBad);

function exitBad() {
process.exit(1);
}
}

require(__dirname + "/../app.js");
import('../app.js');
13 changes: 7 additions & 6 deletions bin/refresh-all-issues
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
#!/usr/bin/env node
require('../lib/debug').default('pulldasher:refresh*');
import { default as debugInit } from '../lib/debug.js';
import refresh from '../lib/refresh.js';
import db from '../lib/db.js';

var refresh = require('../lib/refresh');
var db = require('../lib/db');
debugInit('pulldasher:refresh*');

refresh.allIssues()
.done(function() {
db.end();
});
.done(function () {
db.end();
});
13 changes: 7 additions & 6 deletions bin/refresh-all-pulls
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
#!/usr/bin/env node
require('../lib/debug').default('pulldasher:refresh*');
import { default as debugInit } from '../lib/debug.js';
import refresh from '../lib/refresh.js';
import db from '../lib/db.js';

var refresh = require('../lib/refresh');
var db = require('../lib/db');
debugInit('pulldasher:refresh*');

refresh.allPulls()
.done(function() {
db.end();
});
.done(function () {
db.end();
});
18 changes: 10 additions & 8 deletions bin/refresh-issue
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
#!/usr/bin/env node
require('../lib/debug').default('pulldasher:refresh*');
import { default as debugInit } from '../lib/debug.js';
import refresh from '../lib/refresh.js';
import db from '../lib/db.js';

var refresh = require('../lib/refresh');
var db = require('../lib/db');
var repo = process.argv[2];
var number = process.argv[3];
debugInit('pulldasher:refresh*');

const repo = process.argv[2];
const number = process.argv[3];

if ("" + parseInt(number, 10) !== number) {
console.error("%s is not a number", number)
Expand All @@ -13,6 +15,6 @@ if ("" + parseInt(number, 10) !== number) {
}

refresh.issue(repo, number)
.done(function() {
db.end();
});
.done(function () {
db.end();
});
13 changes: 7 additions & 6 deletions bin/refresh-open-issues
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
#!/usr/bin/env node
require('../lib/debug').default('pulldasher:refresh*');
import { default as debugInit } from '../lib/debug.js';
import refresh from '../lib/refresh.js';
import db from '../lib/db.js';

var refresh = require('../lib/refresh');
var db = require('../lib/db');
debugInit('pulldasher:refresh*');

refresh.openIssues()
.done(function() {
db.end();
});
.done(function () {
db.end();
});
13 changes: 7 additions & 6 deletions bin/refresh-open-pulls
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
#!/usr/bin/env node
require('../lib/debug').default('pulldasher:refresh*');
import { default as debugInit } from '../lib/debug.js';
import refresh from '../lib/refresh.js';
import db from '../lib/db.js';

var refresh = require('../lib/refresh');
var db = require('../lib/db');
debugInit('pulldasher:refresh*');

refresh.openPulls()
.then(function() {
db.end();
});
.done(function () {
db.end();
});
18 changes: 10 additions & 8 deletions bin/refresh-pull
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
#!/usr/bin/env node
require('../lib/debug').default('pulldasher:refresh*');
import { default as debugInit } from '../lib/debug.js';
import refresh from '../lib/refresh.js';
import db from '../lib/db.js';

var refresh = require('../lib/refresh');
var db = require('../lib/db');
var repo = process.argv[2];
var number = process.argv[3];
debugInit('pulldasher:refresh*');

const repo = process.argv[2];
const number = process.argv[3];

if ("" + parseInt(number, 10) !== number) {
console.error("%s is not a number", number)
Expand All @@ -13,6 +15,6 @@ if ("" + parseInt(number, 10) !== number) {
}

refresh.pull(repo, number)
.done(function() {
db.end();
});
.done(function () {
db.end();
});
32 changes: 16 additions & 16 deletions controllers/githubHooks.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
var config = require("../lib/config-loader"),
Promise = require("bluebird"),
debug = require("../lib/debug")("pulldasher:githubHooks"),
Pull = require("../models/pull"),
Signature = require("../models/signature"),
Issue = require("../models/issue"),
Comment = require("../models/comment"),
Review = require("../models/review"),
Status = require("../models/status"),
Label = require("../models/label"),
refresh = require("../lib/refresh"),
getLogin = require("../lib/get-user-login"),
utils = require("../lib/utils"),
dbManager = require("../lib/db-manager");
import config from "../lib/config-loader.js";
import Promise from "bluebird";
import debug from "../lib/debug.js";
import Pull from "../models/pull.js";
import Signature from "../models/signature.js";
import Issue from "../models/issue.js";
import Comment from "../models/comment.js";
import Review from "../models/review.js";
import Status from "../models/status.js";
import Label from "../models/label.js";
import refresh from "../lib/refresh.js";
import getLogin from "../lib/get-user-login.js";
import utils from "../lib/utils.js";
import dbManager from "../lib/db-manager.js";

var HooksController = {
const HooksController = {
main: function (req, res) {
// Variable for promise that will resolve when the hook is known to have
// succeeded or failed.
Expand Down Expand Up @@ -300,4 +300,4 @@ function refreshPullOrIssue(responseBody) {
}
}

module.exports = HooksController;
export default HooksController;
Loading