Merge pull request 'feature/forgejo-actions' (#13) from feature/forgejo-actions into main
All checks were successful
/ npm-build (push) Successful in 20s
All checks were successful
/ npm-build (push) Successful in 20s
Reviewed-on: #13
This commit is contained in:
commit
9896213da9
27 changed files with 1071 additions and 651 deletions
16
.drone.yml
16
.drone.yml
|
|
@ -1,16 +0,0 @@
|
|||
kind: pipeline
|
||||
type: docker
|
||||
name: default
|
||||
|
||||
steps:
|
||||
- name: install
|
||||
image: node:22-alpine
|
||||
commands:
|
||||
- npm install
|
||||
- npm run lint
|
||||
- npm run build
|
||||
when:
|
||||
branch:
|
||||
include:
|
||||
- main
|
||||
- feature/*
|
||||
15
.forgejo/workflows/npm-build.yaml
Normal file
15
.forgejo/workflows/npm-build.yaml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
on: [push]
|
||||
jobs:
|
||||
npm-build:
|
||||
runs-on: docker
|
||||
container:
|
||||
image: node:25-trixie
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
- name: Run npm install
|
||||
run: npm install
|
||||
- name: Run npm build
|
||||
run: npm run build
|
||||
- name: Run npm lint
|
||||
run: npm run lint
|
||||
|
|
@ -8,12 +8,8 @@ import {
|
|||
} from "./state/action.ts";
|
||||
import styles from "./input-form.module.scss";
|
||||
import "./input-form.scss";
|
||||
import {State} from "@/app/state/state.ts";
|
||||
import {
|
||||
ValidatingInputNumberField,
|
||||
ValidatingInputRegExpField,
|
||||
ValidatorFunction
|
||||
} from "@/app/validating-input-field.tsx";
|
||||
import {State} from "./state/state.ts";
|
||||
import {ValidatingInputNumberField, ValidatingInputRegExpField, ValidatorFunction} from "./validating-input-field.tsx";
|
||||
|
||||
export default function InputForm({state, dispatch}: {
|
||||
state: State,
|
||||
|
|
@ -39,7 +35,7 @@ export default function InputForm({state, dispatch}: {
|
|||
dispatch(actionLoadingFailed(reason));
|
||||
});
|
||||
};
|
||||
const validateSizeInput: ValidatorFunction<string, number> = value => {
|
||||
const validateSizeInput: ValidatorFunction<string, number> = (value: string) => {
|
||||
const numberValue = Number(value);
|
||||
if (isNaN(numberValue) || "" === value || (Math.floor(numberValue) !== numberValue)) {
|
||||
return {
|
||||
|
|
@ -4,17 +4,15 @@ import "./globals.scss";
|
|||
export const metadata: Metadata = {
|
||||
title: "A-Maze-R! Create your own Maze!",
|
||||
description: "A Maze Generator by fritteli",
|
||||
icons: "./favicon.ico"
|
||||
icons: "/favicon.ico"
|
||||
};
|
||||
|
||||
export default function RootLayout({children}: Readonly<{
|
||||
export default function RootLayout({children}: {
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
}) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body>
|
||||
{children}
|
||||
</body>
|
||||
<body>{children}</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
import Cell from "./cell.tsx";
|
||||
import styles from "./maze.module.css";
|
||||
import {State} from "@/app/state/state.ts";
|
||||
import {State} from "./state/state.ts";
|
||||
import {ActionDispatch, JSX} from "react";
|
||||
import {Action} from "@/app/state/action.ts";
|
||||
import {Action} from "./state/action.ts";
|
||||
|
||||
export default function Maze({state, dispatch}:
|
||||
{
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import {Action, actionClosedMessageBanner} from "./state/action.ts";
|
||||
import styles from "./message-banner.module.css";
|
||||
import {State} from "@/app/state/state.ts";
|
||||
import {State} from "./state/state.ts";
|
||||
import {ActionDispatch} from "react";
|
||||
|
||||
export default function MessageBanner({state, dispatch}:
|
||||
|
|
@ -9,7 +9,7 @@ import {
|
|||
ID_ACTION_STARTED_LOADING,
|
||||
ID_ACTION_TOGGLED_SHOW_SOLUTION
|
||||
} from "./action.ts";
|
||||
import Maze from "@/app/model/maze.ts";
|
||||
import Maze from "../model/maze.ts";
|
||||
|
||||
export default function reduce(state: State, action: Action): State {
|
||||
switch (action.type) {
|
||||
|
|
@ -1,16 +1,16 @@
|
|||
import { dirname } from "path";
|
||||
import { fileURLToPath } from "url";
|
||||
import { FlatCompat } from "@eslint/eslintrc";
|
||||
import { defineConfig, globalIgnores } from 'eslint/config'
|
||||
import nextVitals from 'eslint-config-next/core-web-vitals'
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
const compat = new FlatCompat({
|
||||
baseDirectory: __dirname,
|
||||
});
|
||||
|
||||
const eslintConfig = [
|
||||
...compat.extends("next/core-web-vitals", "next/typescript"),
|
||||
];
|
||||
const eslintConfig = defineConfig([
|
||||
...nextVitals,
|
||||
// Override default ignores of eslint-config-next.
|
||||
globalIgnores([
|
||||
// Default ignores of eslint-config-next:
|
||||
'.next/**',
|
||||
'out/**',
|
||||
'build/**',
|
||||
'next-env.d.ts',
|
||||
]),
|
||||
])
|
||||
|
||||
export default eslintConfig;
|
||||
|
|
|
|||
1612
package-lock.json
generated
1612
package-lock.json
generated
File diff suppressed because it is too large
Load diff
25
package.json
25
package.json
|
|
@ -6,21 +6,22 @@
|
|||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "next lint"
|
||||
"lint": "eslint",
|
||||
"lint:fix": "eslint --fix"
|
||||
},
|
||||
"dependencies": {
|
||||
"next": "^16.1.4",
|
||||
"react": "^19.2.3",
|
||||
"react-dom": "^19.2.3"
|
||||
"next": "16.1.6",
|
||||
"react": "19.2.4",
|
||||
"react-dom": "19.2.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/eslintrc": "^3",
|
||||
"@types/node": "^20",
|
||||
"@types/react": "^19",
|
||||
"@types/react-dom": "^19",
|
||||
"eslint": "^9",
|
||||
"eslint-config-next": "^16.1.4",
|
||||
"sass": "^1.85.1",
|
||||
"typescript": "^5"
|
||||
"@eslint/eslintrc": "3.3.5",
|
||||
"@types/node": "25.3.5",
|
||||
"@types/react": "19.2.14",
|
||||
"@types/react-dom": "19.2.3",
|
||||
"eslint": "9.39.4",
|
||||
"eslint-config-next": "16.1.6",
|
||||
"sass": "1.97.3",
|
||||
"typescript": "5.9.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 894 B After Width: | Height: | Size: 894 B |
Loading…
Add table
Add a link
Reference in a new issue