Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
2b85cf3
perf(git): add LFS support to increase performances with git
C0ZEN Feb 24, 2020
33595c0
chore(git): add a section about LFS
C0ZEN Feb 24, 2020
402216b
build(CI): add travis CI configuration
C0ZEN Feb 24, 2020
504871c
build(CI): remove deprecated sudo key and add required key for travis
C0ZEN Feb 24, 2020
d2c7c40
build(ci): stop watching during the tests to avoid infinite build
C0ZEN Feb 24, 2020
e024e81
perf(ci): optimize the tests coverage to execute the scripts only dur…
C0ZEN Feb 24, 2020
24ae7db
build(ci): remove parallel configuration for code climate to avoid error
C0ZEN Feb 24, 2020
fb7d77f
feat(ssr): add more configuration for the SSR
C0ZEN Feb 24, 2020
2b94e5f
feat(i18n): add more providers to configure the i18n
C0ZEN Feb 24, 2020
7c4898e
fix(build): add missing environment file for the server
C0ZEN Feb 24, 2020
6a55c71
build(ci): fix all build erros
C0ZEN Feb 24, 2020
b78f369
build(travis): add semantic release step on develop
C0ZEN Feb 24, 2020
6aa49dd
refactor(server): change the way to read the server file to avoid error
C0ZEN Feb 24, 2020
2d02735
build(ci): add publish to npm stage
C0ZEN Feb 25, 2020
50d02ca
test(e2e): remove e2e testing for now
C0ZEN Feb 25, 2020
45097ee
build(ci): merge the compiler server stage with the build stage
C0ZEN Feb 25, 2020
34e75e1
chore(readme): update the build status badge
C0ZEN Feb 25, 2020
e8ca15e
lint(fix): remove the path to the old 2e2 tsconfig file
C0ZEN Feb 25, 2020
67b4639
build(fix): add new script to build the i18n files
C0ZEN Feb 25, 2020
8d7a529
shitty commit
C0ZEN Feb 25, 2020
224cf6e
chore(lint): change a rule to allow to use multiple comments near eac…
C0ZEN Feb 25, 2020
e70e17c
docs(contributing): add docs about the scss variable naming conventions
C0ZEN Feb 25, 2020
015fe21
docs(coc): add a code of conduct
C0ZEN Feb 25, 2020
b25ed05
chore(tools): add an issue template
C0ZEN Feb 25, 2020
662a7db
chore(tools): add a pull request template
C0ZEN Feb 25, 2020
907bcda
feat(colors): add new variables to define some potential colors for t…
C0ZEN Feb 25, 2020
f45968a
feat(UI): add the famous reset css from eric meyer
C0ZEN Feb 25, 2020
37d9d42
feat(local-storage): add new module to save the data inside the local…
C0ZEN Feb 25, 2020
047b9fb
feat(env): add new property baseUrl to avoid error on SSR with the i18n
C0ZEN Feb 25, 2020
1a56db2
feat(i18n): override the transloco loading template
C0ZEN Feb 25, 2020
344b993
refactor(i18n): add a new module dedicated to i18n
C0ZEN Feb 25, 2020
57d7976
fix(i18n): fix runtime error
C0ZEN Feb 25, 2020
ffe9848
feat(lint): add new rules and plugins for stylelint
C0ZEN Feb 26, 2020
2a2e2d2
chore(tsconfig): add custom path for the components folder
C0ZEN Feb 26, 2020
bf2d019
chore(button): add the button component template
C0ZEN Feb 26, 2020
f8d21f2
chore(button): add the button component style file
C0ZEN Feb 26, 2020
802fb11
chore(contributing): add a new section about common errors
C0ZEN Feb 26, 2020
26a2c0c
refactor(app): refactor app and button components to start from scratch
C0ZEN Feb 26, 2020
6d48e3f
refactor(app): add dh prefix before all the stuff
C0ZEN Feb 26, 2020
7604a5b
refactor(app): more rewrite from app to dh
C0ZEN Feb 26, 2020
6a38d49
test(dependencies): add spectator and remove ng-bullet
C0ZEN Feb 26, 2020
2df8d9f
test(button): add a first coverage for the button
C0ZEN Feb 26, 2020
485d9c8
chore(tslint): replace deprecated rule
C0ZEN Feb 26, 2020
32fc41a
fix(stylelint): fix configuration error
C0ZEN Feb 26, 2020
eb183b6
feat(disabled): add new directive to disable an element
C0ZEN Feb 26, 2020
c6e3b66
refactor(button): remove component suffix
C0ZEN Feb 26, 2020
4a0da7d
test(disabled-directive): add more coverage
C0ZEN Feb 27, 2020
1907b0e
test(disabled-directive): add more coverage
C0ZEN Feb 27, 2020
7ff75d6
test(disabled): add more dom coverage
C0ZEN Feb 28, 2020
e9af962
build(netlify): add a script to configure netlify
C0ZEN Feb 28, 2020
e5480ae
test(disabled-directive): add full dom coverage
C0ZEN Feb 28, 2020
3500bf5
chore(readme): change the url of netlify badge to use the new group
C0ZEN Feb 28, 2020
dbc256d
feat(renovate): configure renovate
C0ZEN Feb 28, 2020
5475054
feat(button-label): add new component button-label
C0ZEN Feb 28, 2020
11fcf03
test(disabled-directive): add more dom coverage
C0ZEN Feb 29, 2020
ee58bcd
test(button-component): add more coverage
C0ZEN Feb 29, 2020
79182f1
test(button-component): add more coverage
C0ZEN Feb 29, 2020
8915d34
feat(ui): add html and body styles
C0ZEN Feb 29, 2020
c0a37f2
feat(views): add home view
C0ZEN Feb 29, 2020
62c1730
feat(button): add better UI
C0ZEN Feb 29, 2020
e83f532
feat(button): add better UI
C0ZEN Feb 29, 2020
fcafbe3
style(scss): fix stylelint errors
C0ZEN Feb 29, 2020
c5d9711
feat(components): add new component button-container
C0ZEN Feb 29, 2020
29cca14
style(npm): rename script to fix spellcheck error
C0ZEN Feb 29, 2020
9c102fb
test(build): add css paths for the test config to avoid build error
C0ZEN Feb 29, 2020
a6612bc
build(server): add css path config to avoid build error
C0ZEN Feb 29, 2020
b4e2a0c
test(modules): add testing modules to easily handle the imports
C0ZEN Feb 29, 2020
1e36a59
test(refactor): remove old pure ts testing
C0ZEN Feb 29, 2020
2eebd36
test(button-c): add more coverage
C0ZEN Mar 1, 2020
f1e0f36
test(app): add more coverage on all files
C0ZEN Mar 1, 2020
3031b9d
test(button-c): fix the test on error
C0ZEN Mar 1, 2020
121e95e
perf(stylelint): enable the cache on dev
C0ZEN Mar 1, 2020
a372707
build(tslint): change the config to autofix on dev
C0ZEN Mar 1, 2020
6fa1b01
perf(stylelint): enable the cache on dev
C0ZEN Mar 1, 2020
e849122
perf(code-climate): ignore node modules
C0ZEN Mar 1, 2020
05389d5
feat(code-climate): add more configuration tuning
C0ZEN Mar 1, 2020
92fad34
feat(code-climate): add stylelint config file dedicated to code climate
C0ZEN Mar 1, 2020
003ee95
chore(code-climate): rename stylelint to test
C0ZEN Mar 1, 2020
5b79c93
chore(code-climate): rename stylelint to test
C0ZEN Mar 1, 2020
c4628b8
chore(cc): try to fix this damn thing
C0ZEN Mar 1, 2020
aea236b
chore(cc): undo all changes
C0ZEN Mar 1, 2020
f244a51
feat(controls): add new component input-text
C0ZEN Mar 1, 2020
8690a91
fix(input-text): change the way to set the provider
C0ZEN Mar 2, 2020
d9c64f8
test(input-text): add more coverage
C0ZEN Mar 3, 2020
a7b8d50
feat(directive): add new disabled directive for control
C0ZEN Mar 4, 2020
18d0ba5
test(functions): add coverage for all functions
C0ZEN Mar 4, 2020
6e28e4e
refactor(tslint): add more rules
C0ZEN Mar 5, 2020
4e1b0ca
feat(dependencies): update angular and linters to latest dependencies
C0ZEN Mar 5, 2020
9cc6ba5
refactor(app): change a bunch of stuff to fix the linter
C0ZEN Mar 5, 2020
7c929b8
test(control-text): add more coverage
C0ZEN Mar 6, 2020
9d33351
chore(home): add more example
C0ZEN Mar 6, 2020
23e5da3
feat(build): add postinstall script to allow parallel builds
C0ZEN Mar 6, 2020
9443033
test(control-text): add coverage for disabled input
C0ZEN Mar 6, 2020
bbf2981
test(disabled-control): add coverage for the dhGetDisabledControlActi…
C0ZEN Mar 6, 2020
2e74f0e
test(transloco-http-loader): add coverage
C0ZEN Mar 6, 2020
325faaa
test(transloco): add custom testing module
C0ZEN Mar 6, 2020
28c0812
test(testing-modules): fix the dependencies of the testing module
C0ZEN Mar 6, 2020
1442244
test(control-text): add more coverage
C0ZEN Mar 6, 2020
fce80af
test(disabled-control): add coverage
C0ZEN Mar 6, 2020
c717c01
feat(bazel): simply run ng add @angular/bazel command
C0ZEN Mar 7, 2020
32b6566
chore(bazel): try to build the app and the test
C0ZEN Mar 7, 2020
8a2bb76
chore(bazel): commit removed files
C0ZEN Mar 7, 2020
fcd1a04
Revert "chore(bazel): commit removed files"
C0ZEN Mar 7, 2020
c62993c
chore(bazel): change some scripts to use bazel
C0ZEN Mar 7, 2020
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
2 changes: 2 additions & 0 deletions .bazelignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
dist
node_modules
40 changes: 40 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Make TypeScript and Angular compilation fast, by keeping a few copies of the
# compiler running as daemons, and cache SourceFile AST's to reduce parse time.
build --strategy=TypeScriptCompile=worker
build --strategy=AngularTemplateCompile=worker

# Don't create bazel-* symlinks in the WORKSPACE directory, except `bazel-out`,
# which is mandatory.
# These require .gitignore and may scare users.
# Also, it's a workaround for https://github.com/bazelbuild/rules_typescript/issues/12
# which affects the common case of having `tsconfig.json` in the WORKSPACE directory.
#
# Instead, the output will appear in `dist/bin`. You'll need to ignore the
# `bazel-out` directory that is created in the workspace root.
build --symlink_prefix=dist/

# Turn on --incompatible_strict_action_env which was on by default
# in Bazel 0.21.0 but turned off again in 0.22.0. Follow
# https://github.com/bazelbuild/bazel/issues/7026 for more details.
# This flag is needed to so that the bazel cache is not invalidated
# when running bazel via `yarn bazel`.
# See https://github.com/angular/angular/issues/27514.
build --incompatible_strict_action_env
run --incompatible_strict_action_env
test --incompatible_strict_action_env

build --incompatible_bzl_disallow_load_after_statement=false

test --test_output=errors

# Use the Angular Ivy compiler
# See https://github.com/angular/angular/blob/master/docs/BAZEL.md#various-flags-used-for-tests
build --define=angular_ivy_enabled=True

# Temporary define while angular depends on the legacy rollup_bundle rule.
# TODO: remove this setting after https://github.com/angular/angular/pull/33201 lands.
build --define=enable_legacy_rollup_rule=1

# Turn on managed directories feature in Bazel
# This allows us to avoid installing a second copy of node_modules
common --experimental_allow_incremental_repository_updates
31 changes: 31 additions & 0 deletions .codeclimate.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,37 @@
version: "2"
checks:
argument-count:
config:
threshold: 4
complex-logic:
config:
threshold: 4
file-lines:
config:
threshold: 250
method-complexity:
config:
threshold: 5
method-count:
config:
threshold: 20
method-lines:
config:
threshold: 25
nested-control-flow:
config:
threshold: 4
return-statements:
config:
threshold: 4

plugins:
stylelint:
enabled: true
tslint:
enabled: true
config: tslint.json

exclude_patterns:
- "**/node_modules/"
- "dist/"
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
'*.png' filter=lfs diff=lfs merge=lfs -text
'*.jpg' filter=lfs diff=lfs merge=lfs -text
'*.ico' filter=lfs diff=lfs merge=lfs -text
'*.gif' filter=lfs diff=lfs merge=lfs -text
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
/dist
/tmp
/out-tsc
.stylelintcache

# Only exists if Bazel was run
/bazel-out
Expand Down Expand Up @@ -48,3 +49,4 @@ Thumbs.db

# i18n generated files
/src/assets/i18n-cache-busting.json
/bazel-out
19 changes: 19 additions & 0 deletions .renovaterc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"extends": [
":separateMajorReleases",
":combinePatchMinorReleases",
":ignoreUnstable",
":prImmediately",
":semanticPrefixFixDepsChoreOthers",
":updateNotScheduled",
":automergeDisabled",
":ignoreModulesAndTests",
":maintainLockFilesDisabled",
":autodetectPinVersions",
":prHourlyLimit2",
":prConcurrentLimit20",
"group:monorepos",
"group:recommended",
"helpers:disableTypesNodeMajor"
]
}
1 change: 1 addition & 0 deletions .stylelintcache
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\imports.scss":"1","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\styles.scss":"2","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\common\\_common-body.scss":"3","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\common\\_common-html.scss":"4","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\common\\_common.scss":"5","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\functions\\_functions-pixels-to-em.scss":"6","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\functions\\_functions-remove-unit.scss":"7","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\functions\\_functions.scss":"8","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\variables\\_variables-colors.scss":"9","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\variables\\_variables-palette.scss":"10","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\variables\\_variables-typography.scss":"11","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\variables\\_variables.scss":"12","S:\\documents\\dark-heresy\\front-end\\src\\app\\views\\home\\component\\dh-home.component.scss":"13","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\variables\\components\\_variables-components-button.scss":"14","S:\\documents\\dark-heresy\\front-end\\src\\assets\\styles\\variables\\components\\_variables-components.scss":"15","S:\\documents\\dark-heresy\\front-end\\src\\app\\components\\buttons\\button\\component\\dh-button.component.scss":"16","S:\\documents\\dark-heresy\\front-end\\src\\app\\components\\buttons\\button-container\\component\\dh-button-container.component.scss":"17","S:\\documents\\dark-heresy\\front-end\\src\\app\\components\\buttons\\button-label\\component\\dh-button-label.component.scss":"18"},{"size":64,"mtime":1583054531040,"hashOfConfig":"19"},{"size":46,"mtime":1583054531040,"hashOfConfig":"19"},{"size":144,"mtime":1583054531029,"hashOfConfig":"19"},{"size":94,"mtime":1583054531038,"hashOfConfig":"19"},{"size":48,"mtime":1583054531038,"hashOfConfig":"19"},{"size":123,"mtime":1583054531039,"hashOfConfig":"19"},{"size":171,"mtime":1583054531039,"hashOfConfig":"19"},{"size":69,"mtime":1583054531039,"hashOfConfig":"19"},{"size":1516,"mtime":1583054531040,"hashOfConfig":"19"},{"size":416,"mtime":1583054531041,"hashOfConfig":"19"},{"size":88,"mtime":1583054531041,"hashOfConfig":"19"},{"size":136,"mtime":1583054531042,"hashOfConfig":"19"},{"size":184,"mtime":1583054531026,"hashOfConfig":"19"},{"size":702,"mtime":1583054531043,"hashOfConfig":"19"},{"size":40,"mtime":1583054531043,"hashOfConfig":"19"},{"size":1338,"mtime":1583073481833,"hashOfConfig":"19"},{"size":682,"mtime":1583054530975,"hashOfConfig":"19"},{"size":1155,"mtime":1583054530984,"hashOfConfig":"19"},"1wc8fzc"]
84 changes: 80 additions & 4 deletions .stylelintrc.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
{
"extends": [
"stylelint-config-standard"
"./stylelint-config-recommended",
"./stylelint-config-recommended-scss",
"./stylelint-config-standard"
],
"plugins": [
"stylelint-scss"
"./stylelint-scss",
"./stylelint-high-performance-animation",
"./stylelint-order"
],
"defaultSeverity": "error",
"rules": {
"selector-type-no-unknown": [
true,
Expand Down Expand Up @@ -60,6 +65,12 @@
]
}
],
"unit-whitelist": [
"em",
"rem",
"px",
"%"
],
"scss/at-else-empty-line-before": "never",
"scss/at-function-named-arguments": null,
"scss/at-function-parentheses-space-before": "never",
Expand All @@ -70,7 +81,14 @@
"scss/at-mixin-parentheses-space-before": "never",
"scss/dollar-variable-colon-space-after": "always",
"scss/dollar-variable-colon-space-before": "never",
"scss/double-slash-comment-empty-line-before": "always",
"scss/double-slash-comment-empty-line-before": [
"always",
{
"ignore": [
"between-comments"
]
}
],
"scss/double-slash-comment-inline": "never",
"scss/double-slash-comment-whitespace-inside": "always",
"scss/declaration-nested-properties": "never",
Expand All @@ -80,6 +98,64 @@
"scss/function-color-relative": null,
"scss/comment-no-loud": true,
"scss/map-keys-quotes": "always",
"scss/no-duplicate-mixins": true
"scss/no-duplicate-mixins": true,
"plugin/no-low-performance-animation-properties": true,
"order/order": [
[
"at-rules",
"custom-properties",
"dollar-variables",
"declarations",
"rules"
],
{
"unspecified": "bottom"
}
],
"order/properties-order": [
[
"position",
"display",
"flex-direction",
"justify-content",
"align-items",
"height",
"min-height",
"max-height",
"width",
"min-width",
"max-width",
"color",
"background-color",
"font-family",
"font-weight",
"font-style",
"padding",
"padding-top",
"padding-right",
"padding-bottom",
"padding-left",
"box-sizing",
"border",
"border-top",
"border-right",
"border-bottom",
"border-left",
"border-radius",
"outline",
"margin",
"margin-top",
"margin-right",
"margin-bottom",
"margin-left",
"z-index",
"scroll-behavior"
],
{
"unspecified": "bottomAlphabetical",
"emptyLineBeforeUnspecified": "never"
}
],
"order/properties-alphabetical-order": null
}
}
80 changes: 80 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
dist: trusty
os: linux

language: node_js
node_js:
- '12'

env:
global:
- CC_TEST_REPORTER_ID=f7f19f40c8917368645d7fd0455145def3299b425d7977939a85a5139c1e6c04

addons:
chrome: stable

git:
depth: 30
quiet: false

cache:
npm: true
directories:
- ./node_modules

install:
- npm install

before_script:
- git lfs pull

jobs:
include:
- stage: "Lint"
name: "Style lint"
script: npm run stylelint:ci
- stage: "Lint"
name: "TypeScript lint"
script: npm run tslint:ci
- stage: "Test"
name: "App test"
script: npm run test:ci -- --watch=false
before_script:
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
- chmod +x ./cc-test-reporter
- ./cc-test-reporter before-build
after_script:
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
- stage: "Build"
name: "Browser build"
script:
- npm run build:i18n
- npm run build:browser:production
- stage: "Build"
name: "Server build"
script:
- npm run build:i18n
- npm run build:server:production
- stage: "Build"
name: "Server compile"
script:
- npm run build:i18n
- npm run compile:server
- stage: "Versioning"
name: "Semantic versioning"
script: skip
deploy:
provider: script
skip_cleanup: true
script: npm run semver
if: branch = develop
- stage: "Release"
name: "NPM release"
script: skip
deploy:
provider: npm
skip_cleanup: true
email: "darkheresy.contact@gmail.com"
api_key: $NPM_TOKEN
on:
tags: true
if: branch = develop
7 changes: 7 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package(default_visibility = ["//visibility:public"])

# This export allows targets in other packages to reference files that live
# in this package.
exports_files([
"tsconfig.json",
])
46 changes: 46 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at darkheresy.contact@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
Loading