Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: full revision with vanilla #23

Merged
merged 48 commits into from
Mar 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
37718d1
chore: first converstion
steve-lebleu Feb 23, 2024
4c8790e
feat: 1st functional vanilla version
steve-lebleu Feb 24, 2024
b2973ef
chore: start v2 for more features with vanilla elegance
steve-lebleu Feb 24, 2024
2e338cd
chore: clean up status for next developments
steve-lebleu Feb 25, 2024
fdacb47
chore: draft store integration
steve-lebleu Feb 27, 2024
f046f81
chore: draft: mostly done vanilla with options, cache and querying
steve-lebleu Feb 28, 2024
c909488
chore: working draft version with data from dataset and datasource. E…
steve-lebleu Feb 28, 2024
3877a41
chore: beta candidate
steve-lebleu Feb 29, 2024
b4dee8c
chore: partial static website design
steve-lebleu Mar 8, 2024
0bd51c5
chore: 1st refactoring and options management
steve-lebleu Mar 9, 2024
3c83a79
chore: rename kompleter by kompletr
steve-lebleu Mar 9, 2024
9b5b45f
chore: refactoring es6 part 2
steve-lebleu Mar 10, 2024
a365382
chore: refactoring es6 part 2
steve-lebleu Mar 10, 2024
1814598
chore: remove jQuery, add configuration files
steve-lebleu Mar 10, 2024
2b46ea4
chore: setup package.json
steve-lebleu Mar 10, 2024
a5ab052
chore: webpack setup, fix live reload, little code clean up
steve-lebleu Mar 11, 2024
778cd9e
chore: cleanup scripts
steve-lebleu Mar 11, 2024
d1adb9f
feat: add vitepress for doc, quick fix on the cache
steve-lebleu Mar 12, 2024
1853e1a
chore: UT part 2, tmp fix on E2E tests
steve-lebleu Mar 13, 2024
4e4cf7b
chore: readme review for v2.0.0
steve-lebleu Mar 13, 2024
298d01a
chore: big cleanup es6 sausage
steve-lebleu Mar 14, 2024
d9a747f
chore: partial review UT
steve-lebleu Mar 14, 2024
b85ac9b
chore: UT with acceptable coverage
steve-lebleu Mar 14, 2024
b4da1ae
feat: UT with coverage
steve-lebleu Mar 14, 2024
7a0b028
fix: add nyc
steve-lebleu Mar 14, 2024
df59532
fix: webpack serve before cypress
steve-lebleu Mar 14, 2024
5a5ff9d
fix: lcov file path and nodemon
steve-lebleu Mar 14, 2024
68a0066
fix: loop on nodemon
steve-lebleu Mar 14, 2024
0bc054f
fix: loop on nodemon
steve-lebleu Mar 14, 2024
d1447fe
fix: load json directly
steve-lebleu Mar 14, 2024
48bad3b
fix: load json directly
steve-lebleu Mar 14, 2024
6b4e032
chore: dev config webpack ci
steve-lebleu Mar 14, 2024
f60e3fb
chore: coverage dom module, refactoring focus method
steve-lebleu Mar 15, 2024
f8e0870
fix: script name
steve-lebleu Mar 15, 2024
7e68934
fix: add fixtures copy in build
steve-lebleu Mar 15, 2024
711decd
chore: split tasks between dist and demo
steve-lebleu Mar 15, 2024
5be7050
fix: build directory insted of dist
steve-lebleu Mar 15, 2024
3ade49b
fix: e2e test broken
steve-lebleu Mar 15, 2024
e7cd353
setup eslint, partial stylelint
steve-lebleu Mar 15, 2024
8eb86d9
feat: don't use prototype anymore, add some documentation
steve-lebleu Mar 22, 2024
dd551a0
feat: menu api section
steve-lebleu Mar 22, 2024
5257291
feat: menu api section
steve-lebleu Mar 22, 2024
293fc1e
chore: finalize doc without details
steve-lebleu Mar 27, 2024
75fe917
feat: deploy
steve-lebleu Mar 27, 2024
0141c63
chore: look & feel demo website
steve-lebleu Mar 27, 2024
e52d35e
chore: slogan
steve-lebleu Mar 27, 2024
ad9127f
chore: badges
steve-lebleu Mar 27, 2024
d81fd38
fix: code factor and lint warns
steve-lebleu Mar 28, 2024
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
1 change: 1 addition & 0 deletions .browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
defaults
8 changes: 8 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
6 changes: 6 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
build
coverage
dist
node_modules
test
cypress
18 changes: 18 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
module.exports = {
'env': {
'es6': true,
'node': true,
'browser': true
},
'extends': ['eslint:recommended', 'plugin:compat/recommended'],
'parserOptions': {
'ecmaVersion': 'latest',
'sourceType': 'module'
},
'rules': {
'indent': ['error', 2],
'linebreak-style': ['error', 'unix'],
'quotes': ['error', 'single'],
'semi': ['error', 'always']
}
};
48 changes: 41 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,41 @@ jobs:
run: npm i
- name: Build local project
run: npm run build
- name: Lint
run: npm run lint:js
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: build-files
path: |
dist
build
retention-days: 3
test:
unit-tests:
name: Unit Tests
runs-on: ubuntu-latest
needs: [ build ]
env:
RUNNER: github
NODE_ENV: dev
steps:
- name: Github checkout
uses: actions/checkout@v4
- name: Setup node.js environment
uses: actions/setup-node@v4
with:
node-version: '18.19.0'
- name: Install Node.js dependencies
run: npm i
- name: Run unit tests
run: npm run ci:test
env:
CI: true
- name: Publish to coveralls.io
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: ./build/code-coverage/lcov.info
e2e-tests:
name: E2E Tests
runs-on: ubuntu-latest
needs: [ build ]
Expand All @@ -47,14 +74,21 @@ jobs:
run: sudo apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb
- name: Install local Node.js dependencies
run: npm i
- name: Create dist directory
run: mkdir dist
- name: Create build directory
run: mkdir build
- name: Download build artifact
uses: actions/download-artifact@v4
with:
name: build-files
path: dist
path: build
- name: Run E2E tests
run: npm run start & npm run cypress:run
run: npm run ci:dev & npm run ci:e2e
env:
CI: true
CI: true
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: build-files-e2e
path: |
build
retention-days: 3
112 changes: 103 additions & 9 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,43 @@ jobs:
run: npm i
- name: Build local project
run: npm run build
- name: Build production
run: npm run prod
- name: Lint
run: npm run lint:js
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: build-files
path: |
dist
build
retention-days: 3
test:
unit-tests:
name: Unit Tests
runs-on: ubuntu-latest
needs: [ build ]
env:
RUNNER: github
NODE_ENV: dev
steps:
- name: Github checkout
uses: actions/checkout@v4
- name: Setup node.js environment
uses: actions/setup-node@v4
with:
node-version: '18.19.0'
- name: Install Node.js dependencies
run: npm i
- name: Run unit tests
run: npm run ci:test
env:
CI: true
- name: Publish to coveralls.io
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: ./build/code-coverage/lcov.info
e2e-tests:
name: E2E Tests
runs-on: ubuntu-latest
needs: [ build ]
Expand All @@ -48,21 +77,28 @@ jobs:
run: sudo apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb
- name: Install local Node.js dependencies
run: npm i
- name: Create dist directory
run: mkdir dist
- name: Create build directory
run: mkdir build
- name: Download build artifact
uses: actions/download-artifact@v4
with:
name: build-files
path: dist
path: build
- name: Run E2E tests
run: npm run start & npm run cypress:run
run: npm run ci:dev & npm run ci:e2e
env:
CI: true
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: build-files-e2e
path: |
build
retention-days: 3
release-github:
name: Release on Github
runs-on: ubuntu-latest
needs: [ build, test ]
needs: [ unit-tests, e2e-tests ]
steps:
- name: Cache dependencies
uses: actions/cache@v2
Expand All @@ -84,7 +120,7 @@ jobs:
release-npm:
name: Release on NPM registry
runs-on: ubuntu-latest
needs: [ build, test ]
needs: [ unit-tests, e2e-tests ]
steps:
- name: Cache dependencies
uses: actions/cache@v2
Expand All @@ -110,4 +146,62 @@ jobs:
- name: Release on NPM
run: npm ci & npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.KONFER_NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.KONFER_NPM_TOKEN }}
deploy-demo:
name: Deploy demo website
runs-on: ubuntu-latest
needs: [ release-github, release-npm ]
steps:
- name: Cache dependencies
uses: actions/cache@v2
with:
path: '**/node_modules'
key: node-modules-${{ hashfiles('**/package-lock.json') }}
- name: Github checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup node.js environment
uses: actions/setup-node@v4
with:
node-version: '18.19.0'
registry-url: 'https://registry.npmjs.org'
- name: Build demo
run: npm run demo
- name: Copy files using SCP
uses: garygrossgarten/github-action-scp@release
with:
local: demo
remote: ${{ vars.KONFER_SSH_TARGET }}
host: ${{ secrets.KONFER_SSH_HOST }}
username: ${{ secrets.KONFER_SSH_USER }}
password: ${{ secrets.KONFER_SSH_PWD }}
deploy-docs:
name: Deploy documentation website
runs-on: ubuntu-latest
needs: [ deploy-demo ]
steps:
- name: Cache dependencies
uses: actions/cache@v2
with:
path: '**/node_modules'
key: node-modules-${{ hashfiles('**/package-lock.json') }}
- name: Github checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup node.js environment
uses: actions/setup-node@v4
with:
node-version: '18.19.0'
registry-url: 'https://registry.npmjs.org'
- name: Build documentation
run: docs:build
- name: Copy files using SCP
uses: garygrossgarten/github-action-scp@release
with:
local: docs
remote: "${{ vars.KONFER_SSH_TARGET }}/docs"
host: ${{ secrets.KONFER_SSH_HOST }}
username: ${{ secrets.KONFER_SSH_USER }}
password: ${{ secrets.KONFER_SSH_PWD }}
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,10 @@ tests/report
# Retrieved by bower
src/vendors/*

# Do not push dist
dist/
# Do not push build and local api
build/
api/

# Do not push vitepress docs
docs/.vitepress/dist
docs/.vitepress/cache
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
18.19.0
4 changes: 4 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
build
coverage
dist
node_modules
5 changes: 5 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"proseWrap": "never",
"singleQuote": true,
"trailingComma": "es5"
}
30 changes: 30 additions & 0 deletions .stylelintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"plugins": [
"stylelint-prettier",
"stylelint-no-unsupported-browser-features",
"stylelint-selector-bem-pattern"
],
"extends": [
"stylelint-config-standard",
"stylelint-config-sass-guidelines"
],
"rules": {
"plugin/selector-bem-pattern": {
"preset": "bem",
"implicitComponents": "*.css"
},
"prettier/prettier": true,
"max-nesting-depth": null,
"rule-empty-line-before": [
"always",
{ "ignore": ["after-comment", "first-nested", "inside-block"] }
],
"selector-max-compound-selectors": null,
"plugin/no-unsupported-browser-features": [
null,
{
"severity": "warning"
}
]
}
}
Loading