1
0
Fork 0
mirror of https://codeberg.org/beerbrawl/beerbrawl.git synced 2024-09-22 21:20:52 +02:00

Merge pull request 'Introduce support for Kotlin in the backend' (#9) from backend/kotlin into main

Reviewed-on: https://codeberg.org/beerbrawl/beerbrawl/pulls/9
Reviewed-by: Moritz Kepplinger <motzik@noreply.codeberg.org>
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
This commit is contained in:
Christoph Heiss 2024-07-12 08:55:30 +00:00
commit a2b09ed2a1
16 changed files with 272 additions and 287 deletions

24
.editorconfig Normal file
View file

@ -0,0 +1,24 @@
root = true
[*]
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
indent_style = space
indent_size = 2
# backend
[*.{java,kt,xml}]
indent_size = 4
ij_kotlin_allow_trailing_comma = true
ij_kotlin_allow_trailing_comma_on_call_site = true
# markdown
[*.md]
max_line_length = off
trim_trailing_whitespace = false
# misc
[*.{yml,yaml,json}]
indent_size = 2

View file

@ -35,7 +35,11 @@ jobs:
curl -L "https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/$MAVEN_VERSION/apache-maven-$MAVEN_VERSION-bin.tar.gz" | tar -vxzC /opt
echo "/opt/apache-maven-$MAVEN_VERSION/bin" >>$GITHUB_PATH
- name: run tests
- name: lint
working-directory: backend
run: mvn spotless:check
- name: test
working-directory: backend
run: |
mvn \

View file

@ -0,0 +1,13 @@
---
- name: DIKTAT_COMMON
configuration:
domainName: at.beerbrawl.backend
testDirs: test
kotlinVersion: 2.0
srcDirectories: main
- name: TRAILING_COMMA
enabled: true
configuration:
valueArgument: true
valueParameter: true

View file

@ -1,13 +0,0 @@
root = true
[*]
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = false
charset = utf-8
indent_style = space
indent_size = 4
tab_width = 4
[*.{yml,yaml,json,sql}]
indent_size = 2

View file

@ -1 +0,0 @@
package-lock.json binary

5
backend/.gitignore vendored
View file

@ -27,9 +27,6 @@ buildNumber.properties
.mvn/timing.properties
!maven-wrapper.jar
### npm ###
/node_modules
### STS ###
.apt_generated
.classpath
@ -53,4 +50,4 @@ buildNumber.properties
/.nb-gradle/
### VS Code ###
.vscode/
.vscode/

2
backend/.license-header Normal file
View file

@ -0,0 +1,2 @@
/* SPDX-License-Identifier: AGPL-3.0-or-later */

View file

@ -1,183 +0,0 @@
{
"name": "backend-dummy",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "backend-dummy",
"version": "1.0.0",
"license": "AGPL-3.0-or-later",
"devDependencies": {
"@prettier/plugin-xml": "^3.4.1",
"prettier": "^3.3.2",
"prettier-plugin-java": "^2.6.0"
}
},
"node_modules/@chevrotain/cst-dts-gen": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz",
"integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==",
"dev": true,
"dependencies": {
"@chevrotain/gast": "11.0.3",
"@chevrotain/types": "11.0.3",
"lodash-es": "4.17.21"
}
},
"node_modules/@chevrotain/gast": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz",
"integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==",
"dev": true,
"dependencies": {
"@chevrotain/types": "11.0.3",
"lodash-es": "4.17.21"
}
},
"node_modules/@chevrotain/regexp-to-ast": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz",
"integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==",
"dev": true
},
"node_modules/@chevrotain/types": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz",
"integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==",
"dev": true
},
"node_modules/@chevrotain/utils": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz",
"integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==",
"dev": true
},
"node_modules/@prettier/plugin-xml": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/@prettier/plugin-xml/-/plugin-xml-3.4.1.tgz",
"integrity": "sha512-Uf/6/+9ez6z/IvZErgobZ2G9n1ybxF5BhCd7eMcKqfoWuOzzNUxBipNo3QAP8kRC1VD18TIo84no7LhqtyDcTg==",
"dev": true,
"dependencies": {
"@xml-tools/parser": "^1.0.11"
},
"peerDependencies": {
"prettier": "^3.0.0"
}
},
"node_modules/@xml-tools/parser": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@xml-tools/parser/-/parser-1.0.11.tgz",
"integrity": "sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==",
"dev": true,
"dependencies": {
"chevrotain": "7.1.1"
}
},
"node_modules/@xml-tools/parser/node_modules/chevrotain": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-7.1.1.tgz",
"integrity": "sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==",
"dev": true,
"dependencies": {
"regexp-to-ast": "0.5.0"
}
},
"node_modules/chevrotain": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz",
"integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==",
"dev": true,
"dependencies": {
"@chevrotain/cst-dts-gen": "11.0.3",
"@chevrotain/gast": "11.0.3",
"@chevrotain/regexp-to-ast": "11.0.3",
"@chevrotain/types": "11.0.3",
"@chevrotain/utils": "11.0.3",
"lodash-es": "4.17.21"
}
},
"node_modules/chevrotain-allstar": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz",
"integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==",
"dev": true,
"dependencies": {
"lodash-es": "^4.17.21"
},
"peerDependencies": {
"chevrotain": "^11.0.0"
}
},
"node_modules/java-parser": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/java-parser/-/java-parser-2.3.0.tgz",
"integrity": "sha512-P6Ma4LU1w/e0Lr4SVM/0PtqCGoL2/i/KP9ZoiyLa824oBqhF0yGTgHDyZkLgp9GTzqR43wm5wabE56FF5X7cqg==",
"dev": true,
"dependencies": {
"chevrotain": "11.0.3",
"chevrotain-allstar": "0.3.1",
"lodash": "4.17.21"
}
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"node_modules/lodash-es": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
"dev": true
},
"node_modules/prettier": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz",
"integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==",
"dev": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/prettier-plugin-java": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-2.6.0.tgz",
"integrity": "sha512-mHZ3Ub3WAyYSUe1mMbiGH85xYV+NtzJgNsrfLNYDKvL7NfvoKBuJiEW4Xa2MFG668f9uRdj38WEuPKmRu+nv/g==",
"dev": true,
"dependencies": {
"java-parser": "2.3.0",
"lodash": "4.17.21",
"prettier": "3.2.5"
}
},
"node_modules/prettier-plugin-java/node_modules/prettier": {
"version": "3.2.5",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
"integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
"dev": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/regexp-to-ast": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz",
"integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==",
"dev": true
}
}
}

View file

@ -1,16 +0,0 @@
{
"name": "backend-dummy",
"version": "1.0.0",
"private": true,
"description": "Dummy package for using prettier",
"license": "AGPL-3.0-or-later",
"scripts": {
"prettier:check": "prettier --check 'src/**/*.java' '*.json' '*.xml'",
"prettier:fix": "prettier --write 'src/**/*.java' '*.json' '*.xml'"
},
"devDependencies": {
"@prettier/plugin-xml": "^3.4.1",
"prettier": "^3.3.2",
"prettier-plugin-java": "^2.6.0"
}
}

View file

@ -1,9 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>at.beerbrawl</groupId>
@ -15,12 +11,10 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>21</java.version>
<maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version>
<maven-surefire-plugin.version>3.3.0</maven-surefire-plugin.version>
<maven.compiler.plugin>3.13.0</maven.compiler.plugin>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<maven.minimum-version>3.6.3</maven.minimum-version>
<kotlin.version>2.0.0</kotlin.version>
<kotlin.language.version>2.0</kotlin.language.version>
<kotlin.code.style>official</kotlin.code.style>
<kotlin.compiler.incremental>true</kotlin.compiler.incremental>
<git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version>
<h2.version>2.2.224</h2.version>
<jacoco.version>0.8.12</jacoco.version>
@ -29,6 +23,16 @@
<jpamodelgen.version>6.5.2.Final</jpamodelgen.version>
<lombok.version>1.18.34</lombok.version>
<mapstruct.version>1.5.5.Final</mapstruct.version>
<maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version>
<maven-surefire-plugin.version>3.3.0</maven-surefire-plugin.version>
<maven.compiler.plugin>3.13.0</maven.compiler.plugin>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<maven.minimum-version>3.6.3</maven.minimum-version>
<spotless.version>2.43.0</spotless.version>
<spotless.prettier.version>3.3.2</spotless.prettier.version>
<spotless.prettier-plugin-java.version>2.6.0</spotless.prettier-plugin-java.version>
<spotless.diktat.version>2.0.0</spotless.diktat.version>
<spring.boot.version>3.3.1</spring.boot.version>
<spring.security.version>6.3.1</spring.security.version>
<springdoc-openapi-ui.version>2.5.0</springdoc-openapi-ui.version>
@ -40,14 +44,29 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<type>pom</type>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-lombok</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
@ -142,6 +161,93 @@
<build>
<plugins>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
<configuration>
<args>
<arg>-Xjsr305=strict</arg>
</args>
<compilerPlugins>
<plugin>all-open</plugin>
<plugin>jpa</plugin>
<plugin>no-arg</plugin>
<plugin>spring</plugin>
</compilerPlugins>
<languageVersion>${kotlin.language.version}</languageVersion>
<jvmTarget>${java.version}</jvmTarget>
</configuration>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-lombok</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-allopen</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-noarg</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>kapt</id>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
<sourceDir>${project.basedir}/src/main/java</sourceDir>
</sourceDirs>
<annotationProcessorPaths>
<annotationProcessorPath>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>${jpamodelgen.version}</version>
</annotationProcessorPath>
<annotationProcessorPath>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</annotationProcessorPath>
</annotationProcessorPaths>
</configuration>
</execution>
<execution>
<id>compile</id>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
<sourceDir>${project.basedir}/src/main/java</sourceDir>
</sourceDirs>
</configuration>
</execution>
<execution>
<id>test-compile</id>
<goals>
<goal>test-compile</goal>
</goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
<sourceDir>${project.basedir}/src/test/java</sourceDir>
</sourceDirs>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
@ -187,18 +293,35 @@
<compilerArg>-Amapstruct.defaultComponentModel=spring</compilerArg>
</compilerArgs>
</configuration>
<executions>
<execution>
<id>default-compile</id>
<phase>none</phase>
</execution>
<execution>
<id>default-testCompile</id>
<phase>none</phase>
</execution>
<execution>
<id>java-compile</id>
<goals>
<goal>compile</goal>
</goals>
<phase>compile</phase>
</execution>
<execution>
<id>java-test-compile</id>
<goals>
<goal>testCompile</goal>
</goals>
<phase>test-compile</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>${jib-maven-plugin.version}</version>
<dependencies>
<dependency>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
<version>${zstd-jni.version}</version>
</dependency>
</dependencies>
<configuration>
<from>
@ -216,11 +339,24 @@
</jvmFlags>
</container>
</configuration>
<dependencies>
<dependency>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
<version>${zstd-jni.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>${git-commit-id-plugin.version}</version>
<configuration>
<useNativeGit>true</useNativeGit>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
<verbose>true</verbose>
</configuration>
<executions>
<execution>
<id>get-the-git-infos</id>
@ -229,14 +365,6 @@
</goals>
</execution>
</executions>
<configuration>
<useNativeGit>true</useNativeGit>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<generateGitPropertiesFilename>
${project.build.outputDirectory}/git.properties
</generateGitPropertiesFilename>
<verbose>true</verbose>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
@ -274,6 +402,59 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>${spotless.version}</version>
<configuration>
<java>
<prettier>
<devDependencies>
<prettier>${spotless.prettier.version}</prettier>
<prettier-plugin-java>${spotless.prettier-plugin-java.version}</prettier-plugin-java>
</devDependencies>
<config>
<tabWidth>4</tabWidth>
<printWidth>100</printWidth>
<parser>java</parser>
<plugins>prettier-plugin-java</plugins>
</config>
</prettier>
<licenseHeader>
<file>.license-header</file>
</licenseHeader>
</java>
<kotlin>
<ktfmt>
<style>KOTLINLANG</style>
<maxWidth>100</maxWidth>
<blockIndent>4</blockIndent>
<continuationIndent>4</continuationIndent>
<removeUnusedImport>true</removeUnusedImport>
</ktfmt>
<ktlint></ktlint>
<diktat>
<version>${spotless.diktat.version}</version>
<configFile>.diktat-analysis.yaml</configFile>
</diktat>
<licenseHeader>
<file>.license-header</file>
</licenseHeader>
</kotlin>
<pom>
<sortPom>
<nrOfIndentSpace>4</nrOfIndentSpace>
</sortPom>
</pom>
<yaml>
<includes>
<include>.diktat-analysis.yaml</include>
<include>src/**/*.yml</include>
</includes>
<prettier></prettier>
</yaml>
</configuration>
</plugin>
</plugins>
</build>
<reporting>

View file

@ -1,14 +0,0 @@
/* SPDX-License-Identifier: AGPL-3.0-or-later */
package at.beerbrawl.backend;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class BackendApplication {
public static void main(String[] args) {
SpringApplication.run(BackendApplication.class, args);
}
}

View file

@ -0,0 +1,16 @@
/* SPDX-License-Identifier: AGPL-3.0-or-later */
package at.beerbrawl.backend
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
/**
* Main Spring Boot entry point.
*/
@SpringBootApplication
class BackendApplication
fun main(args: Array<String>) {
runApplication<BackendApplication>(*args)
}

View file

@ -34,7 +34,7 @@ spring:
security:
auth:
header: Authorization
prefix: 'Bearer '
prefix: "Bearer "
login-uri: /api/v1/authentication
jwt:
secret: ?E(H+MbQeThWmZq4t7w!z%C*F-J@NcRfUjXn2r5u8x/A?D(G+KbPdSgVkYp3s6v9

View file

@ -10,4 +10,4 @@ spring:
show-sql: true
properties:
hibernate:
format-sql: TRUE
format-sql: TRUE

View file

@ -1,12 +0,0 @@
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
max_line_length = off
trim_trailing_whitespace = false

View file

@ -1,13 +0,0 @@
# Editor configuration, see http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
max_line_length = off
trim_trailing_whitespace = false