Skip to content
Snippets Groups Projects
Verified Commit ec6230c9 authored by Volker Schukai's avatar Volker Schukai :alien:
Browse files

chore: reorganize structure

parent 56f174e7
No related branches found
No related tags found
No related merge requests found
Showing
with 0 additions and 2151 deletions
#############################################################################################
#############################################################################################
##
## INSTALL .gitignore
##
#############################################################################################
#############################################################################################
define GITIGNOREDS
# Makefile comes from update
Makefile.example
# Vendor
/development/vendor/
/deployment/vendor/
# Created by https://www.toptal.com/developers/gitignore/api/intellij+iml,phpunit,git,vim,visualstudiocode,phpstorm,go,intellij+all,netbeans,dbeaver,node,yarn
# Edit at https://www.toptal.com/developers/gitignore?templates=intellij+iml,phpunit,git,vim,visualstudiocode,phpstorm,go,intellij+all,netbeans,dbeaver,node,yarn
### DBeaver ###
# ide config file
.dbeaver-data-sources*.xml
### Git ###
# Created by git for backups. To disable backups in Git:
# $ git config --global mergetool.keepBackup false
*.orig
# Created by git when using merge tools for conflicts
*.BACKUP.*
*.BASE.*
*.LOCAL.*
*.REMOTE.*
*_BACKUP_*.txt
*_BASE_*.txt
*_LOCAL_*.txt
*_REMOTE_*.txt
### Go ###
# If you prefer the allow list template instead of the deny list, see community template:
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
#
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
# Test binary, built with `go test -c`
*.test
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Dependency directories (remove the comment below to include it)
# vendor/
# Go workspace file
go.work
### Go Patch ###
/vendor/
/Godeps/
### Intellij+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# AWS User-specific
.idea/**/aws.xml
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# SonarLint plugin
.idea/sonarlint/
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### Intellij+all Patch ###
# Ignore everything but code style settings and run configurations
# that are supposed to be shared within teams.
.idea/*
!.idea/codeStyles
!.idea/runConfigurations
### Intellij+iml ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
# AWS User-specific
# Generated files
# Sensitive or high-churn files
# Gradle
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
# Mongo Explorer plugin
# File-based project format
# IntelliJ
# mpeltonen/sbt-idea plugin
# JIRA plugin
# Cursive Clojure plugin
# SonarLint plugin
# Crashlytics plugin (for Android Studio and IntelliJ)
# Editor-based Rest Client
# Android studio 3.1+ serialized cache file
### Intellij+iml Patch ###
# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
*.iml
modules.xml
.idea/misc.xml
*.ipr
### NetBeans ###
**/nbproject/private/
**/nbproject/Makefile-*.mk
**/nbproject/Package-*.bash
build/
nbbuild/
dist/
nbdist/
.nb-gradle/
### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
### Node Patch ###
# Serverless Webpack directories
.webpack/
# Optional stylelint cache
# SvelteKit build / generate output
.svelte-kit
### PhpStorm ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
# AWS User-specific
# Generated files
# Sensitive or high-churn files
# Gradle
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
# Mongo Explorer plugin
# File-based project format
# IntelliJ
# mpeltonen/sbt-idea plugin
# JIRA plugin
# Cursive Clojure plugin
# SonarLint plugin
# Crashlytics plugin (for Android Studio and IntelliJ)
# Editor-based Rest Client
# Android studio 3.1+ serialized cache file
### PhpStorm Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr
# Sonarlint plugin
# https://plugins.jetbrains.com/plugin/7973-sonarlint
.idea/**/sonarlint/
# SonarQube Plugin
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
.idea/**/sonarIssues.xml
# Markdown Navigator plugin
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
.idea/**/markdown-navigator.xml
.idea/**/markdown-navigator-enh.xml
.idea/**/markdown-navigator/
# Cache file creation bug
# See https://youtrack.jetbrains.com/issue/JBR-2257
.idea/$CACHE_FILE$
# CodeStream plugin
# https://plugins.jetbrains.com/plugin/12206-codestream
.idea/codestream.xml
# Azure Toolkit for IntelliJ plugin
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
.idea/**/azureSettings.xml
### PHPUnit ###
# Covers PHPUnit
# Reference: https://phpunit.de/
# Generated files
.phpunit.result.cache
.phpunit.cache
# PHPUnit
/app/phpunit.xml
/phpunit.xml
# Build data
/build/
### Vim ###
# Swap
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide
# Support for Project snippet scope
.vscode/*.code-snippets
# Ignore code-workspaces
*.code-workspace
### yarn ###
# https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
.yarn/*
!.yarn/releases
!.yarn/patches
!.yarn/plugins
!.yarn/sdks
!.yarn/versions
# if you are NOT using Zero-installs, then:
# comment the following lines
!.yarn/cache
# and uncomment the following lines
# .pnp.*
endef
export GITIGNOREDS
$(PROJECT_ROOT).gitignore:
$(QUIET) $(ECHO) "$$GITIGNOREDS" >> $@
#############################################################################################
#############################################################################################
##
## COMMANDS GO
##
#############################################################################################
#############################################################################################
# path and binaries
GO := go
GOLINT := golint
EXECUTABLES = $(EXECUTABLES:-) $(GO) $(GOLINT);
ifeq ($(shell command -v $(GO) 2> /dev/null),)
$(error "go is not installed. Please install go <https://go.dev/doc/install>")
endif
GOPATH=$(shell go env GOPATH)
ifeq ($(GOPATH),)
DIRS := bin pkg src
GOPATH=$(DEPLOYMENT_PATH)/go/
$(shell mkdir -p $(GOPATH))
$(shell $(foreach entry,$(DIRS),mkdir -p "$(GOPATH)$(entry)";))
export PATH=$(PATH):$(GOPATH)/bin
endif
ifdef SOURCE_PATH
PKG_LIST := $(shell if [ -d "SOURCE_PATH" ] ; then cd $(SOURCE_PATH); $(GO) list ./... | grep -v /vendor/ ; fi)
GO_FILES := $(shell if [ -d "SOURCE_PATH" ] ; then cd $(SOURCE_PATH); find . -name '*.go' | grep -v /vendor/ | grep -v _test.go; fi)
endif
#############################################################################################
#############################################################################################
##
## INSTALL jsdoc.json
##
#############################################################################################
#############################################################################################
define JSDOCJSON
{
"tags": {
"allowUnknownTags": true
},
"source": {
"include": "$(SOURCE_PATH)",
"includePattern": "\\.js$$",
"excludePattern": ""
},
"plugins": [
"plugins/markdown",
"jsdoc-plantuml"
],
"opts": {
"template": "node_modules/clean-jsdoc-theme",
"encoding": "utf8",
"destination": "$(BUILD_PATH)/docs/",
"recurse": true,
"verbose": true,
"theme_opts": {
"theme": "light",
"title": "$(COMPONENT_NAME)",
"meta": [
{
"name": "author",
"content": "schukai GmbH"
},
{
"name": "description",
"content": "javascript library for ..."
}
],
"search": true,
"add_style_path": [
{
"href": "https://monsterjs.org/assets/prettify.css",
"crossorigin": "anonymous",
"rel": "stylesheet"
}
],
"add_script_path": [
{
"src": "https://code.jquery.com/jquery-3.5.1.js",
"integrity": "sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=",
"crossorigin": "anonymous"
},
],
"footer": "<a href='https://about.schukai.com/de/impressum/'>Imprint</a>",
"overlay_scrollbar": {
"options": {
}
},
"resizeable": {
"navbar": {
"min": "300",
"max": "600"
}
},
"codepen": {
"enable_for": [
"examples"
],
"options": {
"title": "javascript library by schukai GmbH",
"description": "the example ...",
"editors": "0012"
}
},
"sections": [
"Tutorials",
"Namespaces",
"Classes",
"Modules",
"Externals",
"Events",
"Mixins",
"Interfaces",
"Global",
"Menu"
]
}
},
"templates": {
"cleverLinks": true,
"monospaceLinks": false,
"default": {
"outputSourceFiles": false
}
},
"plantuml": {
"puml": {
"create": true,
"destination": "$(BUILD_PATH)/docs/puml"
},
"images": {
"create": true,
"destination": "$(BUILD_PATH)/docs/images",
"defaultFormat": "svg"
}
}
}
endef
export JSDOCJSON
$(DEPLOYMENT_PATH)jsdoc.json:
$(QUIET) $(ECHO) "$$JSDOCJSON" >> $@
\ No newline at end of file
#############################################################################################
#############################################################################################
##
## COMMANDS JSDOC
##
#############################################################################################
#############################################################################################
# path and binaries
JSDOC ?= $(NODE_MODULES_BIN_DIR)jsdoc
EXECUTABLES = $(EXECUTABLES:-) $(JSDOC);
FIXBROKENPLANTUML ?= $(NODE_MODULES_DIR)jsdoc-plantuml/fixBrokenNodeJS.js
DOCUMENTATION_S3_PATH ?= s3://doc.alvine.io/en/oss/$(COMPONENT_SLUG)/
\ No newline at end of file
This diff is collapsed.
#############################################################################################
#############################################################################################
##
## AGPL 3.0 LICENSE
##
#############################################################################################
#############################################################################################
## License used in the project
LICENSE_TEXT ?= All rights reserved
## The spdx license identifier
SPDX_LICENSE_ID ?=
## Copyright holder of the project
COPYRIGHT_TEXT ?= © schukai GmbH, $(LICENSE_TEXT).
## The owner of the project
COPYRIGHT_OWNER ?= schukai GmbH
COPYRIGHT_URL ?= [LICENSE](https://www.schukai.com/)
define LICENSE_FILE_CONTENT
The schukai Enterprise License (the "Enterprise License").
Copyright © 2022 schukai GmbH.
Regarding this Software, schukai GmbH is the licensor and you are the licensee.
By using the Software, you agree to all the terms and conditions set forth below.
This software and associated documentation files (the "Software") may be used in production only if you (and any company
you represent) have a valid Enterprise License corresponding to your use. Subject to the preceding sentence, you are free
to modify this Software and to release patches for the Software. You agree that schukai and/or its licensors (as applicable)
retain all right, title and interest in and to all such modifications and/or patches, and that all such modifications
and/or patches may be used, copied, modified, displayed, distributed or otherwise exploited only with a valid Enterprise
License for the appropriate use. Notwithstanding the foregoing, you may copy and modify the Software for development and
testing purposes without requiring a subscription.
You agree that schukai and/or its licensors (if applicable) retain all right, title and interest in and to all such
modifications. No additional rights are granted to you beyond those expressly set forth herein. Subject to the foregoing,
you may not copy, merge, publish, distribute, sublicense and/or sell the Software.
THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIMS, DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING OUT
OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.
For any third-party components incorporated into schukai's software, such components are licensed under the original license
provided by the owner of the applicable component.
endef
#############################################################################################
#############################################################################################
##
## UNLICENSED
##
#############################################################################################
#############################################################################################
## License used in the project
LICENSE_TEXT ?= UNLICENSED
## The spdx license identifier
SPDX_LICENSE_ID ?=
## Copyright holder of the project
COPYRIGHT_TEXT ?= © schukai GmbH, $(LICENSE_TEXT).
COPYRIGHT_URL ?= [LICENSE](https://www.schukai.com/)
## The owner of the project
COPYRIGHT_OWNER ?= schukai GmbH
#############################################################################################
#############################################################################################
##
## LICENSE
##
#############################################################################################
#############################################################################################
ifeq ($(GO),)
$(error $(ERRORMARKER) Go is not defined, check your Makefile if go.mk is included)
endif
ifneq "$(wildcard $(SOURCE_PATH) )" ""
## Files wich should be checked for license headers
LICENSE_FILE_PATTERN ?= $(shell find $(SOURCE_PATH) -type f \( -iname \*.go -o -iname \*.php -o -iname \*.js -o -iname \*.mjs -o -iname \*.cjs \) )
endif
# https://spdx.github.io/spdx-spec/v2.3/SPDX-license-list/
ADDLICENSE_BIN ?= addlicense
ifeq ($(shell command -v $(ADDLICENSE_BIN) 2> /dev/null),)
$(shell $(GO) install github.com/google/addlicense@latest)
EXECUTABLES = $(EXECUTABLES:-) $(ADDLICENSE_BIN);
endif
EXECUTABLES = $(EXECUTABLES:-) $(ADDLICENSE_BIN)
#############################################################################################
#############################################################################################
##
## COMMANDS NODEJS
##
#############################################################################################
#############################################################################################
# path and binaries
NODEJS ?= node
NODE ?= node
NPM ?= pnpm
EXECUTABLES = $(EXECUTABLES:-) $(NPM);
NODE_PACKAGES := $(shell find $(PROJECT_ROOT) -type f -name 'package.json' -not -path '*/node_modules/*')
NODE_MODULES := $(shell find $(PROJECT_ROOT) -type d -name 'node_modules' -prune)
NODE_MODULES_MODIFIED := $(shell find $(PROJECT_ROOT) -type f -name 'package.json' -not -path '*/node_modules/*' -exec sh -c 'F=$$(dirname {}); echo $${F}/node_modules/.modified' \;)
$(NODE_MODULES_MODIFIED): $(NODE_PACKAGES)
$(ECHOMARKER) "Updating node modules..."
$(QUIET) for p in $(NODE_PACKAGES); do \
DIR=$$(dirname $$p); \
echo "Updating package: $${DIR}" ;\
$(NPM) install --prefix $${DIR} ;\
if [ -d $${DIR}/node_modules/ ]; then \
touch $${DIR}/node_modules/.modified ;\
fi ;\
done
## Main Develpoment Node Repos
NODE_ROOT_DIR ?= $(DEVELOPMENT_PATH)
NODE_MODULES_DIR ?= $(NODE_ROOT_DIR)node_modules/
NODE_PACKAGE_PATH ?= $(NODE_ROOT_DIR)package.json
NODE_MODULES_BIN_DIR ?= $(NODE_MODULES_DIR).bin/
ESBUILD ?= $(NODE_MODULES_BIN_DIR)esbuild
WEBPACK ?= $(NODE_MODULES_BIN_DIR)webpack
BABEL ?= $(NODE_MODULES_BIN_DIR)babel
UGLIFYJS ?= $(NODE_MODULES_BIN_DIR)uglifyjs
C8 ?= $(NODE_MODULES_BIN_DIR)c8
MOCHA ?= $(NODE_MODULES_BIN_DIR)mocha
PACKAGE_JSON ?= $(NODE_ROOT_DIR)package.json
ifneq "$(wildcard $(SOURCE_PATH) )" ""
MJS_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.mjs')
MJS_RELATIVE_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.mjs' -exec realpath --relative-to $(PROJECT_ROOT) {} \; )
JS_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.js')
JS_RELATIVE_SOURCE_FILES := $(shell find $(SOURCE_PATH) -name '*.js' -exec realpath --relative-to $(PROJECT_ROOT) {} \; )
endif
#############################################################################################
#############################################################################################
##
## COLORS
##
#############################################################################################
#############################################################################################
INFO := $(GREEN)
COMMENT := $(YELLOW)
#############################################################################################
#############################################################################################
##
## OUTPUT CONTROL AND STANDARD OUTPUTS
##
#############################################################################################
#############################################################################################
MARKER := $(BLUE)[+]$(RESET)
ERRORMARKER := $(RED)[-]$(RESET)
#############################################################################################
#############################################################################################
##
## DEACTIVATE THE QUIET MODE BY OVERWRITING THE VALUE WITH SPACE
##
#############################################################################################
#############################################################################################
ifndef DEBUG
QUIET = @
else
QUIET =
endif
ifndef DONTOPENBROWSER
OPENBROWSER = false
else
OPENBROWSER = true
endif
#############################################################################################
#############################################################################################
##
## COMMANDS
##
#############################################################################################
#############################################################################################
ECHO := @echo
ECHOMARKER := @echo "$(MARKER) $0"
ECHOERRORMARKER := @echo "$(ERRORMARKER) $0"
#############################################################################################
#############################################################################################
##
## PLACEHOLDER
##
#############################################################################################
#############################################################################################
COMPONENT_SLUG := $(shell echo "$(COMPONENT_NAME)" | tr '[:upper:]' '[:lower:]')
#############################################################################################
#############################################################################################
##
## README
##
#############################################################################################
#############################################################################################
define README_FILE_CONTENT
# $(COMPONENT_NAME)
$(COMPONENT_NAME) is ...
## Documentation
To check out docs and examples, visit ....
## Installation
```shell
go get $(shell git config --get remote.origin.url | sed -E 's/^\s*.*:\/\///g')
```
**Note:** This library uses [Go Modules](https://github.com/golang/go/wiki/Modules) to manage dependencies.
## Usage
## Contributing
Merge requests are welcome. For major changes, please open an issue first to discuss what
you would like to change. **Please make sure to update tests as appropriate.**
Versioning is done with [SemVer](https://semver.org/).
Changelog is generated with [git-chglog](https://github.com/git-chglog/git-chglog#git-chglog)
Commit messages should follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.
Messages are started with a type, which is one of the following:
- **feat**: A new feature
- **fix**: A bug fix
- **doc**: Documentation only changes
- **refactor**: A code change that neither fixes a bug nor adds a feature
- **perf**: A code change that improves performance
- **test**: Adding missing or correcting existing tests
- **chore**: Other changes that don't modify src or test files
The footer would be used for a reference to an issue or a breaking change.
A commit that has a footer `BREAKING CHANGE:`, or appends a ! after the type/scope,
introduces a breaking API change (correlating with MAJOR in semantic versioning).
A BREAKING CHANGE can be part of commits of any type.
the following is an example of a commit message:
```text
feat: add 'extras' field
```
## Questions
For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/).
The issue list of this repo is exclusively for bug reports and feature requests.
## Issues
Please make sure to read the Issue Reporting Checklist before opening an
issue. Issues not conforming to the guidelines may be closed immediately.
## License
$(COPYRIGHT_TEXT)
$(COPYRIGHT_URL)
You can also purchase a commercial license.
endef
#############################################################################################
#############################################################################################
##
## README
##
#############################################################################################
#############################################################################################
define README_FILE_CONTENT
# $(COMPONENT_NAME)
$(COMPONENT_NAME) is ...
## Documentation
To check out docs and examples, visit ....
## Installation
If you want to install the latest version of this tool, you can use the following command:
```shell
wget -O ./$(COMPONENT_SLUG) http://download.schukai.com/tools/$(COMPONENT_SLUG)/$(COMPONENT_SLUG)-$$( uname -s | tr [:upper:] [:lower:])-$$(echo uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/)
```
## Usage
The following command will show you the help of the tool:
```shell
$(COMPONENT_SLUG) help
```
## Contributing
Merge requests are welcome. For major changes, please open an issue first to discuss what
you would like to change. **Please make sure to update tests as appropriate.**
Versioning is done with [SemVer](https://semver.org/).
Changelog is generated with [git-chglog](https://github.com/git-chglog/git-chglog#git-chglog)
Commit messages should follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.
Messages are started with a type, which is one of the following:
- **feat**: A new feature
- **fix**: A bug fix
- **doc**: Documentation only changes
- **refactor**: A code change that neither fixes a bug nor adds a feature
- **perf**: A code change that improves performance
- **test**: Adding missing or correcting existing tests
- **chore**: Other changes that don't modify src or test files
The footer would be used for a reference to an issue or a breaking change.
A commit that has a footer `BREAKING CHANGE:`, or appends a ! after the type/scope,
introduces a breaking API change (correlating with MAJOR in semantic versioning).
A BREAKING CHANGE can be part of commits of any type.
the following is an example of a commit message:
```text
feat: add 'extras' field
```
## Questions
For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/).
The issue list of this repo is exclusively for bug reports and feature requests.
## Issues
Please make sure to read the Issue Reporting Checklist before opening an
issue. Issues not conforming to the guidelines may be closed immediately.
## License
$(COPYRIGHT_TEXT)
$(COPYRIGHT_URL)
You can also purchase a commercial license.
endef
#############################################################################################
#############################################################################################
##
## README
##
#############################################################################################
#############################################################################################
define README_FILE_CONTENT
# $(COMPONENT_NAME)
$(COMPONENT_NAME) is a part of the Alvine/Agenor project.
This app is built with ES6 modules and uses [import](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/import)
and [export](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export).
For some functions, you need additional [polyfills](#polyfill).
## Documentation
To check out docs and examples, visit [doc.alvine.io](https://doc.alvine.io).
## Installation
`pnpm install @oss/$(COMPONENT_SLUG)`
## Usage
A simple example of the use of functionality from $(COMPONENT_NAME). We create a small file `index.mjs`.
The `m` in `.mjs` stands for module. In the example we want to make substitutions in a string.
```js
// script
```
To integrate this function into a website it is recommended to use a bundler like [esbuild](https://esbuild.github.io/).
```sh
esbuild index.mjs --outfile dist.js
```
We can now integrate that into our website.
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>$(COMPONENT_NAME)</title>
<script src="dist.js"></script>
</head>
<body>
```
Voila!
### Polyfill
We do try to work around some browser bugs, but on the whole we don't use polyfills and feature detection.
However, many functions can be mapped via [polyfill.io](https://polyfill.io/) and thus the compatibility can be increased.
```js
<script id="polyfill" src="https://polyfill.io/v3/polyfill.min.js?..."
crossorigin="anonymous"
referrerpolicy="no-referrer"></script>
```
## Questions
For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/).
The issue list of this repo is exclusively for bug reports and feature requests.
## Issues
Please make sure to read the Issue Reporting Checklist before opening an
issue. Issues not conforming to the guidelines may be closed immediately.
## License
$(COPYRIGHT_TEXT)
$(COPYRIGHT_URL)
## Changelog
Detailed changes for each release are documented in the CHANGELOG.
endef
#############################################################################################
#############################################################################################
##
## README
##
#############################################################################################
#############################################################################################
define README_FILE_CONTENT
# $(COMPONENT_NAME)
$(COMPONENT_NAME) is ...
## Documentation
To check out docs and examples, visit ....
## Installation
## Usage
## Questions
For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/).
The issue list of this repo is exclusively for bug reports and feature requests.
## Issues
Please make sure to read the Issue Reporting Checklist before opening an
issue. Issues not conforming to the guidelines may be closed immediately.
## License
$(COPYRIGHT_TEXT)
$(COPYRIGHT_URL)
You can also purchase a commercial license.
endef
#############################################################################################
#############################################################################################
##
## README
##
#############################################################################################
#############################################################################################
define README_FILE_CONTENT
# $(COMPONENT_NAME)
$(COMPONENT_NAME) is a lightweight, robust and easy-to-use form library with modest ambitions.
The component easily integrates with your existing websites without taking over everything.
One design target is to reach the shiny sun with as little JavaScript as possible.
Monster was built with ES6 modules and uses [import](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/import)
and [export](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export).
For some functions, you need additional [polyfills](#polyfill).
## Documentation
To check out docs and examples, visit [monsterjs.org/en/doc/$(COMPONENT_SLUG)/](https://monsterjs.org/en/doc/$(COMPONENT_SLUG)/).
## Installation
`npm install @schukai/component-$(COMPONENT_SLUG)`, `yarn install @schukai/component-$(COMPONENT_SLUG)` or `pnpm install @schukai/component-$(COMPONENT_SLUG)`
## Usage
A simple example of the use of functionality from $(COMPONENT_NAME). We create a small file `index.mjs`.
The `m` in `.mjs` stands for module. In the example we want to make substitutions in a string.
```js
// example
```
To integrate this function into a website it is recommended to use a bundler like [esbuild](https://esbuild.github.io/).
```sh
esbuild index.mjs --outfile dist.js
```
We can now integrate that into our website.
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>$(COMPONENT_NAME)</title>
<script src="dist.js"></script>
</head>
<body>
```
Voila!
### Polyfill
We do try to work around some browser bugs, but on the whole we don't use polyfills and feature detection.
However, many functions can be mapped via [polyfill.io](https://polyfill.io/) and thus the compatibility can be increased.
```js
<script id="polyfill" src="https://polyfill.io/v3/polyfill.min.js?..."
crossorigin="anonymous"
referrerpolicy="no-referrer"></script>
```
## Questions
For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/).
The issue list of this repo is exclusively for bug reports and feature requests.
## Issues
Please make sure to read the Issue Reporting Checklist before opening an
issue. Issues not conforming to the guidelines may be closed immediately.
## License
$(COPYRIGHT_TEXT)
$(COPYRIGHT_URL)
You can also purchase a commercial license.
## Changelog
Detailed changes for each release are documented in
the [CHANGELOG](https://gitlab.schukai.com/oss/libraries/javascript/web-components/$(COMPONENT_SLUG)).
endef
#############################################################################################
#############################################################################################
##
## REQMAN
##
#############################################################################################
#############################################################################################
REQMAN_BIN ?= $(VENDOR_PATH)reqman
#############################################################################################
#############################################################################################
##
## AMAZON S3
##
#############################################################################################
#############################################################################################
# path and binaries
AWS ?= aws
EXECUTABLES = $(EXECUTABLES:-) $(AWS)
## Set AWS profile
AWS_PROFILE ?= schukai
#############################################################################################
#############################################################################################
##
## ADD SPDX LICENSES
##
## For commercial projects, it is not necessary to add the SPDX license identifier.
## The license header in each file is only for open-source projects, for example under
## the AGPL 3.0 license.
##
#############################################################################################
#############################################################################################
ifeq ($(ADDLICENSE_BIN),)
$(error "addlicense is not installed. Please check your makefile and include the licenses.mk")
endif
.PHONY: add-licenses
## Add license headers to all go files
add-licenses:
$(ECHOMARKER) "Add license headers to all sourche files"
ifeq ($(LICENSE_FILE_PATTERN),)
$(error "LICENSE_FILE_PATTERN is not set. Please check your makefile and include the licenses.mk")
endif
ifndef SPDX_LICENSE_ID
$(error "SPDX_LICENSE_ID is not defined. Please check your makefile and include the licenses.mk")
endif
$(QUIET) $(ADDLICENSE_BIN) -c "$(COPYRIGHT_OWNER)" -s -l "$(SPDX_LICENSE_ID)" $(LICENSE_FILE_PATTERN)
\ No newline at end of file
#############################################################################################
#############################################################################################
##
## BLACKBOX
##
#############################################################################################
#############################################################################################
ifndef BLACKBOX_DOCKERFILE
$(error $(ERRORMARKER) BLACKBOX_DOCKERFILE is not defined, check your Makefile if blackbox.mk is included)
endif
ifndef BLACKBOX_RUN_SCRIPT
$(error $(ERRORMARKER) BLACKBOX_RUN_SCRIPT is not defined, check your Makefile if blackbox.mk is included)
endif
export BLACKBOX_DOCKERFILE
export BLACKBOX_RUN_SCRIPT
$(BLACKBOX_BUILD_DIR):
$(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR)
$(BLACKBOX_BUILD_DIR)/Dockerfile: $(BLACKBOX_BUILD_DIR)
$(QUIET) $(ECHO) "$$BLACKBOX_DOCKERFILE" > $@
$(BLACKBOX_BUILD_DIR)/filesystem:
$(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR)/filesystem
$(BLACKBOX_BUILD_DIR)/filesystem/bin:
$(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR)/filesystem/bin
$(BLACKBOX_BUILD_DIR)/filesystem/bin/run-blackbox.sh: $(BLACKBOX_BUILD_DIR)/filesystem/bin
$(QUIET) $(ECHO) "$$BLACKBOX_RUN_SCRIPT" > $@
$(QUIET) $(CHMOD) u+x $@
.PHONY: blackbox-build-image
## build blackbox image
blackbox-build-image: $(BLACKBOX_BUILD_DIR)/Dockerfile $(BLACKBOX_BUILD_DIR)/filesystem/bin/run-blackbox.sh
$(ECHOMARKER) "build blackbox image"
$(QUIET) docker build --build-arg UID=$(shell id -u) \
--build-arg GID=$(shell id -g) \
--build-arg UNAME=$(shell id -un) \
-t $(BLACKBOX_IMAGE) $(BLACKBOX_BUILD_DIR)
.PHONY: blackbox-open
## open credential with blackbox
blackbox-open:
ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),)
$(QUIET) $(MAKE) blackbox-build-image
endif
$(ECHOMARKER) "open credential with blackbox"
$(QUIET) docker run --user $(shell id -u):$(shell id -g) \
--rm -it \
-v $(BLACKBOX_ROOT_DIR):/repos \
-v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \
$(BLACKBOX_IMAGE) open
.PHONY: blackbox-close
## close credential with blackbox
blackbox-close:
ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),)
$(QUIET) $(MAKE) blackbox-build-image
endif
$(ECHOMARKER) "open credential with blackbox"
$(QUIET) docker run --user $(shell id -u):$(shell id -g) \
--rm -it \
-v $(BLACKBOX_ROOT_DIR):/repos \
-v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \
$(BLACKBOX_IMAGE) close
.PHONY: blackbox-run
## run credential with blackbox
blackbox-run:
ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),)
$(QUIET) $(MAKE) blackbox-build-image
endif
$(ECHOMARKER) "open credential with blackbox"
$(QUIET) docker run --user $(shell id -u):$(shell id -g) \
--rm -it \
-v $(BLACKBOX_ROOT_DIR):/repos \
-v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \
$(BLACKBOX_IMAGE) run
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment