Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@
"**/CVS": true,
"**/.DS_Store": true,
"**/Thumbs.db": true,
".github/ISSUE_TEMPLATE": true,
".github/PULL_REQUEST_TEMPLATE.md": true,
".github/FUNDING.yml": true,
"etc/coverage/*.json": true,
".editorconfig": true,
"CODE_OF_CONDUCT.md": true,
"CONTRIBUTING.md": true,
"SECURITY.md": true,
"LICENSE": true
".github/ISSUE_TEMPLATE": false,
".github/PULL_REQUEST_TEMPLATE.md": false,
".github/FUNDING.yml": false,
"etc/coverage/*.json": false,
".editorconfig": false,
"CODE_OF_CONDUCT.md": false,
"CONTRIBUTING.md": false,
"SECURITY.md": false,
"LICENSE": false
},
"files.watcherExclude": {
"**/.git/objects/**": true,
Expand Down
51 changes: 32 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,20 @@ cloud-function runtimes and web apis.

# ⚙ Components

| Component | Area | Description |
| ------------------------------- | ----------------- | -------------------------------- |
| [Directives](src/directives/) | Rules | |
| [Standards](src/standards/) | Abstraction | |
| [FP](src/fp/) | Functions Library | Tools for functional programming |
| [StdX](src/stdx/) | Functions Library | Encriched Standard Library |
| [Data](src/data/) | Objects Library | Data Objects and Patterns |
| [Environment](src/environment/) | Objects Library | Environment adapters |
| [Formatters](src/formatters/) | Objects Library | Object serializers/deserializers |
| [CLI](src/cli/) | Manager | CLI library |
| [DI](src/di/) | Manager | Dependency injection library |
| [Functions](src/functions/) | Manager | Functions runtime |
| [I18N](src/i18n/) | Manager | Internationalization library |
| [Options](src/options/) | Manager | Configuration library |
| Component | Area | Description |
| ----------------------------------- | ----------------- | -------------------------------- |
| [Directives](src/lib/directives/) | Rules | |
| [Standards](src/lib/standards/) | Abstraction | |
| [FP](src/lib/fp/) | Functions Library | Tools for functional programming |
| [StdX](src/lib/stdx/) | Functions Library | Encriched Standard Library |
| [Data](src/lib/data/) | Objects Library | Data Objects and Patterns |
| [Environment](src/lib/environment/) | Objects Library | Environment adapters |
| [Formatters](src/lib/formatters/) | Objects Library | Object serializers/deserializers |
| [CLI](src/lib/cli/) | Manager | CLI library |
| [DI](src/lib/di/) | Manager | Dependency injection library |
| [Functions](src/lib/functions/) | Manager | Functions runtime |
| [I18N](src/lib/i18n/) | Manager | Internationalization library |
| [Options](src/lib/options/) | Manager | Configuration library |

See the respective component page to figure out its specific usage.

Expand All @@ -46,25 +46,38 @@ system first.

**Alternative I**:

Install dext globally first, then create a new project:
Install hex cli globally first, then create a new project:

```sh
$ deno run -A https://dext.deno.dev
$ deno run -A https://hexfw.deno.dev

$ dext create my-project
$ hex create my-project

Creating "dext web template 0.0.1" on my-project...
Creating "hex framework web template 0.0.1" on my-project...
...
done.
```


**Alternative II**:

Without any preparation, invoke creating a new project remotely:

```sh
$ deno run -A https://hexfw.deno.dev create my-project

Creating "hex framework web template 0.0.1" on my-project...
...
done.
```


**Alternative III**:

Or run a hex routines directly from the resource:

```sh
$ deno run https://deno.land/x/hex/src/functions/samples/basic.ts eser
$ deno run https://deno.land/x/hex/src/lib/functions/samples/basic.ts eser

{ payload: "hello eser" }
```
Expand Down
204 changes: 196 additions & 8 deletions deno.lock

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions etc/fw/templates/default/files/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# EditorConfig is awesome: https://EditorConfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false
11 changes: 11 additions & 0 deletions etc/fw/templates/default/files/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text eol=lf

*.png binary
*.jpg binary
*.ico binary
*.jpg binary
*.eot binary
*.ttf binary
*.woff binary
*.woff2 binary
5 changes: 5 additions & 0 deletions etc/fw/templates/default/files/.github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# These are supported funding model platforms

github: [eserozvataf]
patreon: eserozvataf
open_collective: eser
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
22 changes: 22 additions & 0 deletions etc/fw/templates/default/files/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# OS-specific files
.DS_Store
Thumbs.db

# Editor metadata
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json
.idea/

# local API keys and secrets
.env.local
.env.*.local

# sensitive files
*.pem
*.swp

# typescript
*.tsbuildinfo
6 changes: 6 additions & 0 deletions etc/fw/templates/default/files/.vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"recommendations": [
"denoland.vscode-deno",
"ryanluker.vscode-coverage-gutters"
]
}
41 changes: 41 additions & 0 deletions etc/fw/templates/default/files/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"deno.enable": true,
"deno.lint": true,
"deno.suggest.autoImports": true,
"deno.suggest.completeFunctionCalls": true,
"deno.suggest.imports.autoDiscover": true,
"deno.suggest.imports.hosts": {
"https://deno.land": true
},
"deno.suggest.names": true,
"deno.suggest.paths": true,
"deno.unstable": true,
"editor.defaultFormatter": "denoland.vscode-deno",
"coverage-gutters.coverageBaseDir": "**/etc/coverage",
"coverage-gutters.coverageFileNames": ["cov_profile.lcov"],
"coverage-gutters.showGutterCoverage": true,
"coverage-gutters.showLineCoverage": true,
"coverage-gutters.showRulerCoverage": true,
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/Thumbs.db": true,
".github/ISSUE_TEMPLATE": true,
".github/FUNDING.yml": true,
"etc/coverage/*.json": true,
".editorconfig": true,
"CODE_OF_CONDUCT.md": true,
"CONTRIBUTING.md": true,
"SECURITY.md": true,
"LICENSE": true
},
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/.hg/store/**": true,
"etc/coverage/**": true
}
}
70 changes: 70 additions & 0 deletions etc/fw/templates/default/files/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# ✖️ [hexfw-web](https://github.com/eserozvataf/hexfw-web)

Not available yet.

## Features

- Built on [Deno](https://deno.land). So it supports Modern Web APIs.
- Transpiles [TypeScript](https://www.typescriptlang.org/) and
[React JSX](https://reactjs.org/) out of the box.

## Quick start

Ensure that `Deno` is installed on your system first.

Clone this git repo `git clone https://github.com/eserozvataf/hex.git` -
and checkout the
[tagged release](https://github.com/eserozvataf/hex/releases) you'd like
to use.

**Important**: local env files (i.e., `.env.local`) is git-ignored, so you can
have secret your sensitive environment variables by creating local copies of
environment variables before running the service.

## Commands

| Command | Description |
| ------------------------- | ---------------------------------------------------- |
| `deno task dev` | Start development mode |
| `deno task test` | Execute unit tests |
| `deno task test:coverage` | Execute unit tests with coverage report |
| `deno task bench` | Executes benchmark testing |
| `deno lint` | Executes linter |
| `deno fmt` | Executes formatter |

## Running the service

With `Deno`:

```bash
deno task start
```

## Todo List

See [GitHub Projects](https://github.com/eserozvataf/hex/projects) for
more.

## Requirements

- Deno (https://deno.land/)

## License

Apache 2.0, for further details, please see [LICENSE](LICENSE) file.

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for details.

It is publicly open for any contribution. Bugfixes, new features and extra
modules are welcome.

- To contribute to code: Fork the repo, push your changes to your fork, and
submit a pull request.
- To report a bug: If something does not work, please report it using
[GitHub Issues](https://github.com/eserozvataf/hex/issues).

## To Support

[Visit my GitHub Sponsors profile at github.com/sponsors/eserozvataf](https://github.com/sponsors/eserozvataf)
53 changes: 53 additions & 0 deletions etc/fw/templates/default/files/deno.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"importMap": "./import_map.json",
"compilerOptions": {
"allowJs": true,
"emitDecoratorMetadata": true,
"jsx": "react",
"strict": true
},
"lint": {
"files": {
"include": [
"src/",
"mod.ts",
"*.md",
"*.json"
],
"exclude": []
},
"rules": {
"tags": [
"recommended"
],
"include": [],
"exclude": []
}
},
"fmt": {
"files": {
"include": [
"src/",
"mod.ts",
"*.md",
"*.json"
],
"exclude": []
}
},
"test": {
"files": {
"include": [
"src/"
],
"exclude": []
}
},
"tasks": {
"test": "deno test --allow-net --allow-env --allow-read ./src/ --parallel --coverage=./etc/coverage",
"test:coverage": "deno coverage ./etc/coverage",
"test:generate-lcov": "deno coverage ./etc/coverage --lcov > ./etc/coverage/cov_profile.lcov",
"bench": "deno bench ./src/ --unstable",
"dev": "deno run -A --watch=src/,public/ dev.ts"
}
}
Empty file.
Loading