Reorganize the codebase a bit for a cleaner layout
This commit is contained in:
parent
64b0cdc951
commit
fd264d3d41
@ -2,12 +2,12 @@
|
||||
"name": "kredens",
|
||||
"version": "0.1.0",
|
||||
"description": "Where I keep my spoons",
|
||||
"main": "src/index.ts",
|
||||
"main": "src/server/index.ts",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"tsc": "tsc --incremental ",
|
||||
"dev": "ts-node-dev -r dotenv/config --watch src/**/*.sql -r tsconfig-paths/register --respawn --transpile-only ./src/index.ts",
|
||||
"prod": "tsc --incremental && node ./dist/src/index.js",
|
||||
"dev": "ts-node-dev -r dotenv/config --watch src/**/*.sql -r tsconfig-paths/register --respawn --transpile-only ./src/server/index.ts",
|
||||
"prod": "tsc --incremental && node ./dist/src/server/index.js",
|
||||
"tslint-check": "tslint-config-prettier-check ./tslint.json",
|
||||
"migrate": "tsc --incremental && node ./dist/src/scripts/migrate.js"
|
||||
},
|
||||
|
@ -13,8 +13,8 @@
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import { db } from "@kredens/db";
|
||||
import { User } from "@kredens/db/models";
|
||||
import { db } from "@kredens/server/db";
|
||||
import { User } from "@kredens/server/db/models";
|
||||
import express from "express";
|
||||
import createHttpError from "http-errors";
|
||||
import { None } from "monet";
|
2
src/custom.d.ts → src/server/custom.d.ts
vendored
2
src/custom.d.ts → src/server/custom.d.ts
vendored
@ -13,7 +13,7 @@
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import { User } from "@kredens/db/models";
|
||||
import { User } from "@kredens/server/db/models";
|
||||
import { Cookie } from "@holdyourwaffle/express-session";
|
||||
|
||||
declare global {
|
@ -19,7 +19,7 @@ import {
|
||||
SessionRepository,
|
||||
TaskRepository,
|
||||
UserRepository
|
||||
} from "@kredens/db/repos";
|
||||
} from "@kredens/server/db/repos";
|
||||
import { DateTime } from "luxon";
|
||||
import pg from "pg";
|
||||
import pgPromise, { IDatabase, IInitOptions } from "pg-promise";
|
@ -13,10 +13,10 @@
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import { MigrationRepository } from "@kredens/db/repos/migrations";
|
||||
import { SessionRepository } from "@kredens/db/repos/sessions";
|
||||
import { TaskRepository } from "@kredens/db/repos/tasks";
|
||||
import { UserRepository } from "@kredens/db/repos/users";
|
||||
import { MigrationRepository } from "@kredens/server/db/repos/migrations";
|
||||
import { SessionRepository } from "@kredens/server/db/repos/sessions";
|
||||
import { TaskRepository } from "@kredens/server/db/repos/tasks";
|
||||
import { UserRepository } from "@kredens/server/db/repos/users";
|
||||
|
||||
export interface Extensions {
|
||||
migrations: MigrationRepository;
|
@ -13,9 +13,9 @@
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import { Migration } from "@kredens/db/models";
|
||||
import { migrations as sql } from "@kredens/db/sql";
|
||||
import logger from "@kredens/logger";
|
||||
import { Migration } from "@kredens/server/db/models";
|
||||
import { migrations as sql } from "@kredens/server/db/sql";
|
||||
import logger from "@kredens/server/logger";
|
||||
import { DateTime } from "luxon";
|
||||
import { IDatabase, IMain } from "pg-promise";
|
||||
|
@ -13,8 +13,8 @@
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import { Session } from "@kredens/db/models";
|
||||
import { sessions as sql } from "@kredens/db/sql";
|
||||
import { Session } from "@kredens/server/db/models";
|
||||
import { sessions as sql } from "@kredens/server/db/sql";
|
||||
import { DateTime } from "luxon";
|
||||
import { Maybe } from "monet";
|
||||
import { IDatabase, IMain } from "pg-promise";
|
@ -13,8 +13,8 @@
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import { ScheduleType, Task } from "@kredens/db/models";
|
||||
import { tasks as sql } from "@kredens/db/sql";
|
||||
import { ScheduleType, Task } from "@kredens/server/db/models";
|
||||
import { tasks as sql } from "@kredens/server/db/sql";
|
||||
import { IDatabase, IMain } from "pg-promise";
|
||||
|
||||
function rowToTask(row: any): Task {
|
@ -13,8 +13,8 @@
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import { User } from "@kredens/db/models";
|
||||
import { users as sql } from "@kredens/db/sql";
|
||||
import { User } from "@kredens/server/db/models";
|
||||
import { users as sql } from "@kredens/server/db/sql";
|
||||
import argon2 from "argon2";
|
||||
import { Maybe, None, Some } from "monet";
|
||||
import { IDatabase, IMain } from "pg-promise";
|
@ -14,12 +14,12 @@
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import session, { SessionOptions } from "@holdyourwaffle/express-session";
|
||||
import { authMiddleware } from "@kredens/auth";
|
||||
import { db } from "@kredens/db";
|
||||
import logger from "@kredens/logger";
|
||||
import indexRouter from "@kredens/routes/";
|
||||
import bootstrapRouter from "@kredens/routes/bootstrap";
|
||||
import { PgStore } from "@kredens/sessions";
|
||||
import { authMiddleware } from "@kredens/server/auth";
|
||||
import { db } from "@kredens/server/db";
|
||||
import logger from "@kredens/server/logger";
|
||||
import indexRouter from "@kredens/server/routes";
|
||||
import bootstrapRouter from "@kredens/server/routes/bootstrap";
|
||||
import { PgStore } from "@kredens/server/sessions";
|
||||
import cookieParser from "cookie-parser";
|
||||
import csrf from "csurf";
|
||||
import express from "express";
|
||||
@ -44,7 +44,7 @@ async function main() {
|
||||
const webpackDevMiddleware = await import("webpack-dev-middleware").then(
|
||||
p => p.default
|
||||
);
|
||||
const config = await import("../webpack.config").then(p => p.default);
|
||||
const config = await import("../../webpack.config").then(p => p.default);
|
||||
|
||||
const compiler = webpack(config);
|
||||
app.use(
|
@ -13,7 +13,7 @@
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import { db } from "@kredens/db";
|
||||
import { db } from "@kredens/server/db";
|
||||
import express from "express";
|
||||
|
||||
const router = express.Router();
|
@ -13,8 +13,8 @@
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import { box, unbox } from "@kredens/crypto";
|
||||
import { db } from "@kredens/db";
|
||||
import { box, unbox } from "@kredens/server/crypto";
|
||||
import { db } from "@kredens/server/db";
|
||||
import express from "express";
|
||||
import createHttpError from "http-errors";
|
||||
import { DateTime } from "luxon";
|
@ -14,7 +14,7 @@
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import { Store } from "@holdyourwaffle/express-session";
|
||||
import { db } from "@kredens/db";
|
||||
import { db } from "@kredens/server/db";
|
||||
import { DateTime, Duration } from "luxon";
|
||||
|
||||
export class PgStore extends Store {
|
13
src/server/tslint.json
Normal file
13
src/server/tslint.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"extends": "../../tslint.json",
|
||||
"rules": {
|
||||
"no-implicit-dependencies": [
|
||||
true,
|
||||
["@kredens/server"]
|
||||
],
|
||||
"no-submodule-imports": [
|
||||
true,
|
||||
"@kredens/server"
|
||||
]
|
||||
}
|
||||
}
|
@ -4,14 +4,7 @@
|
||||
"jsRules": {},
|
||||
"rules": {
|
||||
"interface-name": [true, "never-prefix"],
|
||||
"no-submodule-imports": [
|
||||
true,
|
||||
"graphql/language",
|
||||
"graphql/type",
|
||||
"vue-loader/lib/plugin",
|
||||
"@kredens"
|
||||
],
|
||||
"no-implicit-dependencies": [true, ["@kredens", "@kredens/frontend"]],
|
||||
"no-implicit-dependencies": [true, ["@kredens"]],
|
||||
"object-literal-sort-keys": [
|
||||
true,
|
||||
"match-declaration-order-only",
|
||||
|
Loading…
x
Reference in New Issue
Block a user