Skip to content

Commit

Permalink
feat: new citrus simulator ui
Browse files Browse the repository at this point in the history
start building the new `simulator-ui` based on a minimal jhipster application.
  • Loading branch information
bbortt committed Oct 11, 2023
1 parent 558c3ee commit daaecec
Show file tree
Hide file tree
Showing 252 changed files with 31,539 additions and 24,907 deletions.
23 changes: 23 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org

root = true

[*]

# We recommend you to keep these unchanged
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

# Change these settings to your own preference
indent_style = space
indent_size = 4

[*.{ts,tsx,js,jsx,json,css,scss,yml,html,vue}]
indent_size = 2

[*.md]
trim_trailing_whitespace = false
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
with:
version: "17"
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Cache Maven packages
uses: actions/cache@v2
with:
Expand Down
61 changes: 61 additions & 0 deletions .github/workflows/frontend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# ---------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ---------------------------------------------------------------------------

name: main
on:
pull_request:
branches:
- main
paths-ignore:
- '**.adoc'
- '**.md'
- 'KEYS'
- 'LICENSE'
- 'NOTICE'
push:
branches:
- main
paths-ignore:
- '**.adoc'
- '**.md'
- 'KEYS'
- 'LICENSE'
- 'NOTICE'
jobs:
build:
strategy:
fail-fast: true
matrix:
node-version: [ 18.x, 20.x ]
os: [ ubuntu-20.04 ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Checkout code
uses: actions/checkout@v4
- name: Info
run: |
node -version
npm -version
- name: Change to Citrus-Simulator UI
run: cd simulator-ui
- name: Install dependencies
run: npm ci --cache .npm
- name: Frontend Tests
run: npm run ci:frontend:test
2 changes: 1 addition & 1 deletion .github/workflows/lts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
distribution: 'temurin'
java-version: ${{ matrix.version }}
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Cache Maven packages
uses: actions/cache@v2
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
with:
version: "11"
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Cache Maven modules
uses: actions/cache@v1
with:
Expand Down
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2017 ConSol Software GmbH.
Copyright 2023 to the original author or authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand All @@ -199,4 +199,4 @@
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,6 @@ Information
Read the simulator [user manual](https://citrusframework.org/citrus-simulator/) for detailed instructions and features.
For more information on Citrus see [citrusframework.org][2], including a complete [reference manual][3].

[1]: https://citrusframework.org/img/brand-logo.png "Citrus"
[1]: simulator-ui/src/main/webapp/content/images/favicon-32x32.png "Citrus-Simulator"
[2]: https://citrusframework.org
[3]: https://citrusframework.org/reference/html/
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
<!-- see https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-logging/3.1.2 -->
<logback.classic.version>1.4.8</logback.classic.version>

<node.version>v16.13.1</node.version>
<npm.version>8.1.2</npm.version>
<node.version>v18.18.0</node.version>
<npm.version>9.8.1</npm.version>

<skip.gpg>false</skip.gpg>
<reuseForks>true</reuseForks>
Expand Down
6 changes: 6 additions & 0 deletions simulator-samples/sample-rest/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@
<artifactId>testng</artifactId>
<scope>test</scope>
</dependency>

<!-- Developer experience -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,16 @@
spring.resources.chain.enabled=true

# Locations of static resources.
# Customize the static resource locations to include, in addition to the defaults, the simulator gui (located under /static/dist/)
spring.resources.static-locations=classpath:/static/dist/,classpath:/static/,classpath:/public/,classpath:/resources/,classpath:/META-INF/resources/
spring.web.resources.static-locations=classpath:/static/dist/,classpath:/static/,classpath:/public/,classpath:/resources/,classpath:/META-INF/resources/
# Customize the static resource locations to include, in addition to the defaults, the simulator gui (located under /static/simulator-ui/)
spring.web.resources.static-locations=classpath:/static/simulator-ui/, classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/

# actuator properties
management.endpoint.health.enabled=true
management.endpoint.info.enabled=true
management.endpoints.web.base-path=/api/manage
management.endpoints.web.exposure.include=health,info
management.info.env.enabled=true
management.info.git.mode=full

# Properties for the about page
info.simulator.name=Citrus Simulator
Expand All @@ -44,3 +44,4 @@ logging.level.org.citrusframework.simulator=INFO

spring.h2.console.enabled=true
spring.h2.console.path=/console/
spring.jpa.open-in-view=false
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
org.citrusframework.simulator.SimulatorAutoConfiguration
org.citrusframework.simulator.endpoint.SimulatorEndpointAutoConfiguration
org.citrusframework.simulator.http.SimulatorRestAutoConfiguration
org.citrusframework.simulator.jms.SimulatorJmsAutoConfiguration
org.citrusframework.simulator.endpoint.SimulatorEndpointAutoConfiguration
org.citrusframework.simulator.ws.SimulatorWebServiceAutoConfiguration
org.citrusframework.simulator.ws.SimulatorWebServiceClientAutoConfiguration
9 changes: 9 additions & 0 deletions simulator-ui/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
node_modules/
src/main/docker/
jest.conf.js
webpack/
target/
build/
node/
coverage/
postcss.config.js
99 changes: 99 additions & 0 deletions simulator-ui/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
{
"parser": "@typescript-eslint/parser",
"plugins": ["@angular-eslint/eslint-plugin", "@typescript-eslint"],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking",
"plugin:@angular-eslint/recommended",
"prettier",
"eslint-config-prettier"
],
"env": {
"browser": true,
"es6": true,
"commonjs": true
},
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module",
"project": ["./tsconfig.app.json", "./tsconfig.spec.json"]
},
"rules": {
"@angular-eslint/component-selector": [
"error",
{
"type": "element",
"prefix": "jhi",
"style": "kebab-case"
}
],
"@angular-eslint/directive-selector": [
"error",
{
"type": "attribute",
"prefix": "jhi",
"style": "camelCase"
}
],
"@angular-eslint/relative-url-prefix": "error",
"@typescript-eslint/ban-types": [
"error",
{
"extendDefaults": true,
"types": {
"{}": false
}
}
],
"@typescript-eslint/explicit-function-return-type": ["error", { "allowExpressions": true }],
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/member-ordering": [
"error",
{
"default": [
"public-static-field",
"protected-static-field",
"private-static-field",
"public-instance-field",
"protected-instance-field",
"private-instance-field",
"constructor",
"public-static-method",
"protected-static-method",
"private-static-method",
"public-instance-method",
"protected-instance-method",
"private-instance-method"
]
}
],
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-floating-promises": "off",
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/no-shadow": ["error"],
"@typescript-eslint/no-unnecessary-condition": "error",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/prefer-nullish-coalescing": "error",
"@typescript-eslint/prefer-optional-chain": "error",
"@typescript-eslint/unbound-method": "off",
"arrow-body-style": "error",
"curly": "error",
"eqeqeq": ["error", "always", { "null": "ignore" }],
"guard-for-in": "error",
"no-bitwise": "error",
"no-caller": "error",
"no-console": ["error", { "allow": ["warn", "error"] }],
"no-eval": "error",
"no-labels": "error",
"no-new": "error",
"no-new-wrappers": "error",
"object-shorthand": ["error", "always", { "avoidExplicitReturnArrows": true }],
"radix": "error",
"spaced-comment": ["warn", "always"]
}
}
Loading

0 comments on commit daaecec

Please sign in to comment.