Skip to content

Commit

Permalink
Release v0.0.4 (#35)
Browse files Browse the repository at this point in the history
* build(dep): `@babylonjs` & `@types/node`:

- @BabylonJS:4.1.0-beta.9
- @types/node:12.12.16

* feat(apps/frontend): select initial tool

* fix(apps/frontend): import hammerjs

* refactor(frontend): scene-viewer into container

* feat(frontend): dispatch `pointerPick` action

* feat(frontend): dispatch `add|removeVoxel` action

* build(packaging): simplify `prettier:check` command

* doc(frontend): add readme with ngrx resources

* feat(frontend): support adding voxel

* refactor(frontend): don't inject `GridService`

* feat(frontend): effects for when app goes on/offline

* test(frontend): on/offline effects

* test(vdb): remove `normals` from test

* feat(vdb): add `setValueOff` & `isValueOn`

* test(frontend): set expected position to pass

* fix(frontend): make public for use in template

* build(dep): `@types/node` & `core-js`

* feat(frontend): enable `removeVoxel`

* build(dep): `@babylonjs/*`

* build(github): keep `develop` after PR merge

* build(dep): `cypress` to `v3.8.0`

* build(dep): `cypress` to `v3.7.0`

* test(vdb): set value with float coordinates:

- coordinates get always rounded down

* build(dep): `cypress` to `v3.7.0`

* feat(frontend): support adding and removing voxels

* test(ui): remove unused imported components

* build(CircleCi): use `13.3.0` due failing tests:

- Test suite failed to run
  - Call retries were exceeded at ChildProcessWorker.initialize()
- jest-community/vscode-jest#486 (comment)

* fix(frontend): add voxel on positive normal

- but negative position

* test(frontend): set `setupFilesAfterEnv`

- to run in Jest tests within WebStorm
- nrwl/nx#1439 (comment)

* test(frontend): set `globals`>`tsConfig`

- to run in Jest tests within WebStorm with SCSS imports in component

* build(CircleCi): use `13.4.0`

* build(dep): update diverse dependencies:

- @ngrx/effects, @ngrx/store
- core-js, mnemonist, codelyzer
- @types/jest, @types/node

* doc(readme): record macro & git setup

* build(dep): `@angular-devkit/build-angular` & `@angular/cli`

* feat(frontend): draw separate mesh per InternalNode1 (#9)

* feat(frontend): add multiple voxels

* feat(ui): add output for dropped files

* doc(readme): add openVDB repo link

* feat(vdb): implement `beginLeafOn` iterator

* feat(frontend/vdb): draw InternalNode1 chunks

* feat(frontend/vdb): don't return LeafNode

* feat(frontend/vdb): don't return `LeafNode` in `setValueAndCache`

* feat(frontend/vdb): use only key from accessor

* feat(frontend/vdb): remove `getLeafNodeAndCache`

* feat(frontend/vdb): remove `beginLeafOn`

* feat(frontend/vdb): remove `getLeafNodeAndCache` & `beginLeafOn`

* fix(frontend/vdb): dispose mesh instead of just remove it:

- so we resolve memory issue

* refactor(frontend): optimize scene & mesh

- https://doc.babylonjs.com/how_to/optimizing_your_scene

* refactor(frontend): remove unused method & obj loader

* refactor(vdb): increase `InternalNode1` size to reduce draw calls

* refactor(vdb): remove inspector & loading obj

* refactor(vdb): align to `probeNode` & `probeNodeAndCache`

* refactor(vdb): s/grid-to-mesh/node-to-mesh

* refactor(vdb): use un-indexed mesh

* fix(ui): read normal directly from picked mesh

* refactor(frontend): remove `objFileLoader`

* refactor(frontend): s/updateGridMesh/updateNodeMesh & key/Node1Origin

* feat(benchmark): test single vs. multiple `array.push()`

* build(CircleCi): update node to `13.5.0` & cypress `3.8.1`

* build(nx): nx migrate @nrwl/workspace (v8.11.0)

- nx migrate --run-migrations=migrations.json

* fix(benchmark): add `.nxignore` to get benchmark through linter

* build(dep): update dependencies

* feat(frontend): add undo/redo & enable `strictNullChecks` (#10)

* feat(frontend): add undo/redo & enforce `strictNullChecks`

* feat(frontend): undo/redo with max buffer size

* test(frontend): handle possible `undefined`

* feat(frontend): make remove a voxel undoable

* feat(frontend): place initial voxel at [0, 0, 0]

* fix(frontend): dispose previous history if new `addUndo`

* refactor(frontend): extract method for creating `addUndo`

* feat(frontend): set active state of voxel, return color when deleting (#11)

* feat(ui/frontend): add menu-bar (#12)

* feat(frontend): add menu-bar

* feat(frontend): add menu-bar-container

* test(frontend): inject mock store for menu-bar-container

* refactor(frontend): add missing `menu-bar.component`

* test(frontend): import `MenuBarModule`

* feat(frontend): undo/redo with start/end actions (#13)

* feat(frontend): undo/redo with start/end actions

* test(frontend): provide `valueToColor()`

* feat(frontend): set random color when adding a voxel

* test(frontend): add same color of voxel

* refactor(frontend): use directly `props<VoxelChange>`

* refactor(frontend): throw error when coord&values not same length

* build(dep): update dependencies

* build(dep): update cypress to `v3.8.2`

* build(dep): update stylelint to `v13.0.0`

* refactor(ui): prefix UI components with `Ui` like Angular does with `Mat` (#14)

* refactor(ui): prefix `MenuBar` with `Ui` like Angular does with `Mat`

* refactor(ui): prefix `SceneViewer` with `Ui` as Angular does with `Mat`

* test(ui): check `menu-bar` menus & items

* refactor(ui): remove ctor & onInit

* test(ui): check if sidnav has left & right navigation

* refactor(ui): prefix `SidenavShell` with `Ui` as Angular does with `Mat`

* refactor(ui): prefix `SceneViewerService` with `Ui` (ng with `Mat`)

* refactor(ui): prefix `SceneViewerTestModule` with `Ui` (ng with `Mat`)

* refactor(ui): prefix `ToolbarModule` with `Ui` (ng with `Mat`)

* refactor(ui): prefix `UiPointer[Button|PickInfo]` with `Ui`

* build(dep): update handlebars to `v4.7.2` due to security issues

* test(ui): should emit `value` of clicked menu items

* test(ui): should emit on tool select

* test(ui): should close left & right sidenav

* test(frontend): should dispatch action

* test(frontend): check `scene-viewer-container.reducer`

* test(frontend): check `scene-viewer-container.reducer` selector

* refactor(ui): import `hammerjs` to remove warning in test run

* test(frontend): check `tools-panel.reducer`

* test(frontend): check `undo-redo.reducer`

* test(frontend): check `undo-redo.reducer` with `stepX`

* test(frontend): check `undo-redo.reducer` too many undo/redo's

* style(prettier): fix imports

* test(vdb): add tests for `tree`

* test(vdb): improve coverage

* test(vdb): check coord

* test(vdb): check grid

* test(vdb): check `nodeToMesh`

* feat(ui): add `Storybook` (#16)

* feat(ui): add `Storybook`

* feat(ui): add `Storybook` e2e test

* doc(ui): how to watch e2e

* build(dep): update storybook to `v5.3.6`

* build(dep): back to storybook `v5.3.2` due to:

- info => Using angular project 'frontend' for configuring Storybook.

* build(dep): back to storybook `v5.3.6` since it works

* test(ui-e2e): open/close `menu-bar`

* ci(storybook): run, build & deploy storybook for `ui-e2e` (#17)

* ci(storybook): build storybook

* ci(storybook): move `frontend e2e` step down

* ci(storybook): store storybook & deploy to gh-pages

* ci(storybook): extract git(hub) configs

* ci(storybook): extract deploy to gh-pages

* ci(storybook): change to `test-results` folder & use `junit` reporter

* ci(storybook): run `ui-e2e` and store test-results & artifacts

* ci(storybook): run `ui-e2e` only on `master` & `develop`

* fix(ui): to high/large canvas by setting `display: block;`

* feat(frontend): paint voxel (#18)

* feat(frontend): dispatch paint-voxel action

* feat(frontend): set voxel on paint

* feat(frontend): finish renaming `addVoxel` to `setVoxel`

* feat(frontend): save old/new values and undo/redo painting

* refactor(frontend): s/positions/coord

* refactor(frontend): fix prettier issue

* refactor(frontend): s/position/xyz

* build(dep): update `@nrwl` to `v8.11.2`

* build(dep): update `@angular/(cli|core)` to `v8.3.22`

- `ng update @angular/cli @angular/core`

* build(dep): update @BabylonJS, @babel, @storybook, @types

* feat(ui): color-dialog (#19)

* feat(ui): color-dialog

* refactor(ui): always open dialog in story

* refactor(ui): flatten config to just menus & type safety in story

* feat(ui): pass colors to color-dialog

* refactor(ui): make data & return value type-safe.

* refactor(ui): extract interface `UiColorDialogData`

* refactor(ui): extract open into `UiColorDialogService`

* test(ui): s/UiMenuBarConfig/UiMenuBarMenu

* refactor(ui): provide `selectedColorIndex`

* build(dep): update `circleci/node` to `v13.6.0`

* feat(frontend): use color-dialog (#20)

* feat(frontend): use color-dialog

* refactor(ui): s/draggable-dialog/color-dialog

* feat(frontend): open (empty) color-dialog

* feat(frontend): provide some first colors

* feat(frontend): use effects to open color-dialog

* feat(frontend): use effects to set selected color in store

* feat(frontend): temp. consider just `color.r`

* feat(frontend): save colors and selected-index

* refactor(frontend): move `tool.model.ts` to `model` (put in lib later)

* feat(frontend): `intToRgba` & `rgbaToInt`

* refactor(frontend): s/model/value

* refactor(frontend): use `Rgba` and `rgbaToInt` to set voxel in grid

* refactor(frontend): provide selector for retrieving CSS colors

* refactor(frontend): move comment `Front`

* refactor(vdb): define all colors

* refactor(frontend): fix prettier

* test(frontend): import `OptionsPanelModule`

* refactor(frontend): prettier

* refactor(ui): `forceDepthWrite` for transparent cubes

- there are still some artifacts (seeing through cubes behind)

* refactor(ui): use `rgba` to set initial voxel at [0, 0, 0]

* test(frontend): provide stub component in `AppComponent` test

* test(frontend): provide `initialMockState`

* test(frontend): mock & expect proper `Rgba` values

* test(ui): fix type of dialog result (`UiColorDialogColor` to `number`)

* feat(frontend): support dark & light theme (#21)

* feat(ui): add theme toggle to storybook (#22)

* feat(ui): remove `mat-button` from story

* build(dep): update `@storybook` to `v5.3.8`

* build(dep): update `tslint` to `v6.0.0`

* build(dep): back to `tslint` `v5.20.1`

* refactor(model): extract `Rgba` & `Tool` to lib `model` (#24)

* refactor(model): extract `Rgba` & `Tool` to lib `model`

* refactor(model): remove mapping path to non-existing `@talus/math`

* refactor(vdb): use `eslint` over `tslint` (#25)

* refactor(benchmark): use `eslint` over `tslint` (#26)

* refactor(benchmark): use `eslint` over `tslint`

* refactor(benchmark): s/benchmarkjs/Benchmark

* ci(circle): `git pull` before `gh-pages` deploy

* refactor(frontend): prefix unused variables with `_`

* refactor(frontend): register pointer events

* refactor(frontend): draw initial chessboard

* docs(talus): add ui-e2e command & update deploy url

* docs(frontend): add most used commands

* docs(vdb): move install & test to blog

* docs(ui): clean-up storybook commands

* feat(vdb): implement raytracing (#27)

* refactor(vdb): move `ValueType` & `Index` to `types.ts`

* feat(vdb): add delta value

* feat(vdb): add `floor()` to `Coord`

* feat(vdb): add `Vec3`

* feat(vdb): add `minValue` to `Vec3`

* feat(vdb): add `Ray`

* feat(vdb): implement `probeLeafNodeAndCache`

* test(vdb): improve comments about cache misses

* test(vdb): check if correct cache level was hit

* feat(frontend): add selection tool & stop moving camera on voxel hit

* refactor(benchmark): reduce amount of values (CircleCI)

* build(dep): update `node` to `v13.7.0`

* ci: start using `yarn nx ...`

* refactor(benchmark): set `--maxWorkers` to 10 (was 32 on CircleCI)

* ci: uniform calls by using `yarn nx ...`

* doc: add debug CircleCI via `ssh`

* feat(vdb): add `empty()` & `numBackgroundTiles()`

* feat(vdb): add `keyToCoord()`

* feat(vdb): `expand()` on `CoordBBox`

* feat(vdb): `isInside()` on `CoordBBox`

* feat(vdb): add `offset`, `expand`, `reset`, `translate`

* feat(vdb): add `add`, `divide` to `Vec3`

* feat(vdb): add `clip`, `intersects` & `setTimes` to `Ray`

* test(vdb): add C++ tests for `VolumeRayIntersector`, `Ray`, `Coord`

* feat(vdb): add `VolumeRayIntersector`

* style(vdb): eslint-disable @typescript-eslint/no-explicit-any

* test(vdb): min coord is `Number.MIN_SAFE_INTEGER`

* test(vdb): remove `console.log()`

* refactor(vdb): export `VolumeRayIntersector`

* test(vdb): add test with checking all voxels intersecting given ray

* refactor(vdb): organize imports with barrel files (1)

* feat(frontend): add basic line drawing (#28)

* refactor(frontend/vdb): remove `colors` & comments for `beginValueOn()`

* feat(vdb): add `removeFraction()`

* feat(frontend): add `Select line point` tool

* feat(frontend): add basic line drawing

* test(model): improve test description for `Rgba`

* style(frontend): fix prettier (imports)

* refactor(frontend): extract methods

* refactor(frontend): move declaration `dda` to usage

* build(dep): update @storybook, @types, @typescript-eslint, eslint

* build(CircleCI): `git co gh-pages` before pull and commit

* build(CircleCI): use `checkout` over not-existing `co` alias

* build(dep): migrate to `@nrwl` `v8.12.1`

* build(dep): keep `cypress` `v3.8.3`

* build(dep): `ng update @angular/cli` `v8.3.24`

* build(dep): `@babel/core` `v7.8.4`

* build(CircleCI): deploy in `$DEPLOY_CONTEXT` folder on `gh-pages`

* build(CircleCI): echo variables and `git fetch origin gh-pages:gh-pages`

* build(CircleCI): echo variables and `git pull`

* build(CircleCI): don't `echo` variables

* feat(ui): `pointUnderPointer$` emitting when hover over mesh

* build(CircleCI): adjust base-path (`apps/frontend`

* fix(frontend): return all `VoxelChange` & filter dupl. origins in effect

* test(vdb): check if accessor returns background

* test(vdb): should fill buffer with `0`

* test(vdb): should initialise with `0`

* test(vdb): check if accessor returns background

* feat(frontend): bg value = -1, `removeVoxel` uses `setValueOff`

* fix(frontned): import `VoxelChange`

* feat(frontend): preview line (#29)

* feat(frontend): preview line

* style(frontned): prettier

* test(frontend): provide `GridService`

* test(vdb): add C++ tests `testSetActiveState`

* feat(frontend): start & finish line drawing

* feat(frontend): temporary set start & end voxel of line

* feat(frontend): use `voxelsSet` action

* feat(frontend): support undo line drawing

* feat(frontend): pass position to chessboard

* refactor(frontend): use only one coord `selectedLineStartCoord`

* test(frontend): check `scene-viewer-container.reducer.ts`

* test(frontend): check filter out duplicate origins in effect

* test(frontend): check `setVoxel(s)` & `setVoxel(s)Failed`

* doc(frontend): update readme with 'Angular Update Guide'

* test(frontend): extract voxel change

* refactor: update to @angular 9.0.0 & cypress 4.0.0 (#30)

* refactor(ui/frontend): import deeply to specific material component

* build(dep): update `@angular/cli` to `v8.3.25`

* build(dep): update `@nrwl/*` to `v8.12.2`

* build(dep): update `@angular/*` to `v9`

* build(dep): update `@angular/material` to `v9`

* build(dep): update `@storybook`, `@typescript-eslint`

* build(dep): update `cypress` to `v4.0.0`

* build(dep): remove `handlebars`

* build(dep): update `@babylonjs`

* feat(vdb): add `touchLeafAndCache()` (#31)

* feat(vdb): add `touchLeafAndCache()`

* refactor(frontend): only set `end` temporary in `selectLine()`

* refactor(frontend): don't initialize with chessboard

* fix(frontend): not drawing of line in same node:

- probe for InternalNode1 for affected origin, don't use accessor

* refactor(frontend): use `tap` over `map`

* build(dep): update to `nx` `v9.0.0` (#34)

* build(dep): update to `nx` `v9.0.0`

* build(dep): update @storybook, @typescript-eslint, cypress, stylelint

* build(dep): update @BabylonJS & conform to newly created nx workspace

* style(frontend): disable stylelint for angular theme color keys

* build(dep): update @angular to `9.0.1`

* build(dep): @storybook/*, @types/node, stylelint

* feat(ui): add basic status-bar with connection status

* feat(frontend): add empty status-bar

* feat(ui): use outlined icon for changing theme & put icon at bottom

* test(frontend): include `UiStatusBarModule`
  • Loading branch information
PhilippeMorier committed Feb 18, 2020
1 parent 90ebf1d commit 6081f28
Show file tree
Hide file tree
Showing 118 changed files with 5,039 additions and 2,032 deletions.
29 changes: 17 additions & 12 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,16 @@ aliases:
# https://github.com/CircleCI-Public/circleci-dockerfiles/tree/master/node/images
- &use_docker_node
docker:
- image: circleci/node:13.6.0-stretch
- image: circleci/node:13.7.0-stretch

- &use_docker_node_browsers
docker:
- image: circleci/node:13.6.0-stretch-browsers
- image: circleci/node:13.7.0-stretch-browsers

# https://github.com/cypress-io/cypress-docker-images/tree/master/included
- &use_docker_cypress_included
docker:
# 3.8.0 fails with `Error: write EPIPE` when running `benchmark`!?
- image: cypress/included:3.8.2
- image: cypress/included:4.0.1

- &workspace ~/talus

Expand Down Expand Up @@ -56,12 +55,14 @@ aliases:
echo 'export COMMIT_MESSAGE="[skip ci] Deploy: $DEPLOY_CONTEXT (#$LAST_COMMIT_HASH_SHORT)"' >> $BASH_ENV
echo 'export DIST_PATH="dist/$DEPLOY_CONTEXT"' >> $BASH_ENV
echo 'export DEST_PATH="$CIRCLE_BRANCH/$LAST_COMMIT_HASH_SHORT"' >> $BASH_ENV
echo 'export DEST_PATH="$CIRCLE_BRANCH/$LAST_COMMIT_HASH_SHORT/$DEPLOY_CONTEXT"' >> $BASH_ENV
- &deploy_to_github_pages
run:
name: Deploy to Github pages
command: |
git fetch origin gh-pages:gh-pages
git pull
yarn gh-pages \
--dotfiles \
--message "$COMMIT_MESSAGE" \
Expand Down Expand Up @@ -145,7 +146,7 @@ jobs:

- run:
name: Run unit tests
command: yarn test:code-coverage
command: yarn nx test --code-coverage

- *store_test_results

Expand All @@ -163,7 +164,11 @@ jobs:

- run:
name: Build benchmarks
command: yarn build benchmark
# add `--maxWorkers=10` to avoid following two errors:
# 1. Too long with no output (exceeded 10m0s): context deadline exceeded
# 2. Killed
# error Command failed with exit code 137.
command: yarn nx build benchmark --maxWorkers=10

- run:
name: Run benchmarks
Expand All @@ -181,7 +186,7 @@ jobs:

- run:
name: Run frontend-e2e
command: yarn e2e:ci frontend-e2e
command: yarn nx e2e frontend-e2e --headless

- *store_test_results

Expand All @@ -199,7 +204,7 @@ jobs:

- run:
name: Run ui-e2e
command: yarn ng run ui-e2e:e2e --headless
command: yarn nx e2e ui-e2e --headless

- *store_test_results

Expand All @@ -218,7 +223,7 @@ jobs:
- run:
name: Build app
command:
yarn ng run frontend:build:production --base-href BASE_PATH_PLACEHOLDER --progress=false
yarn nx build frontend --prod=true --base-href=BASE_PATH_PLACEHOLDER --progress=false

- run:
name: Create index files
Expand All @@ -230,7 +235,7 @@ jobs:
echo 'export LAST_COMMIT_HASH_SHORT=$(echo $CIRCLE_SHA1 | cut -c1-7)' >> $BASH_ENV
echo 'export BASE_PATH_CIRCLE_CI="https:\/\/$CIRCLE_BUILD_NUM-143906444-gh.circle-artifacts.com\/$CIRCLE_NODE_INDEX\/dist\/apps\/frontend\/"' >> $BASH_ENV
echo 'export BASE_PATH_GITHUB="https:\/\/philippemorier.github.io\/talus\/$CIRCLE_BRANCH\/$LAST_COMMIT_HASH_SHORT\/frontend\/"' >> $BASH_ENV
echo 'export BASE_PATH_GITHUB="https:\/\/philippemorier.github.io\/talus\/$CIRCLE_BRANCH\/$LAST_COMMIT_HASH_SHORT\/apps\/frontend\/"' >> $BASH_ENV
echo 'export REPLACE_CIRCLE_CI="s/BASE_PATH_PLACEHOLDER/$BASE_PATH_CIRCLE_CI/g"' >> $BASH_ENV
echo 'export REPLACE_GITHUB="s/BASE_PATH_PLACEHOLDER/$BASE_PATH_GITHUB/g"' >> $BASH_ENV
Expand Down Expand Up @@ -262,7 +267,7 @@ jobs:

- run:
name: Build storybook
command: yarn ng run ui:build-storybook
command: yarn nx run ui:build-storybook

- store_artifacts:
path: ./dist/storybook/ui
Expand Down
51 changes: 51 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"root": true,
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module",
"project": "./tsconfig.json"
},
"plugins": ["@typescript-eslint", "@nrwl/nx"],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"prettier",
"prettier/@typescript-eslint"
],
"rules": {
"@typescript-eslint/explicit-member-accessibility": "off",
"@typescript-eslint/no-inferrable-types": "off",
"@typescript-eslint/no-parameter-properties": "off",
"@typescript-eslint/no-unused-vars": [
"error",
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_"
}
],
"@typescript-eslint/no-use-before-define": "off",
"@nrwl/nx/enforce-module-boundaries": [
"error",
{
"allow": [],
"depConstraints": [
{
"sourceTag": "*",
"onlyDependOnLibsWithTags": ["*"]
}
],
"enforceBuildableLibDependency": true
}
]
},
"overrides": [
{
"files": ["*.tsx"],
"rules": {
"@typescript-eslint/no-unused-vars": "off"
}
}
]
}
25 changes: 23 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ This project was generated using [Nx](https://nx.dev) with the following command

8. `ng generate @nrwl/angular:component sidenav-shell --project=ui --module=sidenav-shell --export`

9. `nx g @nrwl/node:application benchmark --linter=eslint`

10. `ng generate @nrwl/workspace:library model --linter=eslint`

11. `nx g @nrwl/angular:storybook-configuration ui`

## Installations

### Node
Expand Down Expand Up @@ -79,6 +85,14 @@ This project was generated using [Nx](https://nx.dev) with the following command
3. Run single job
- `circleci local execute --job 'dependencies'`

#### Debug via `ssh`

CircleCI allows to connect to a job via `ssh`. In order to be able to connect via `ssh` a failed job
needs to be rerun via the option 'Rerun job with SSH' in the CircleCI-UI in the top right corner.

If the public key of your GitHub account is on your system you should be able to connect to the
running job via e.g. `ssh -p 64537 3.89.247.61`.

### WebStorm

#### Plugin: Awesome Console
Expand Down Expand Up @@ -147,7 +161,7 @@ Setting up a macro which will fix all the linting issues, optimizes the imports
- Ensure that all
[dependencies](https://docs.cypress.io/guides/guides/continuous-integration.html#Dependencies) are
installed in order to be able to run Cypress locally.
- `yarn e2e <frontend-e2e>`
- `yarn nx e2e frontend-e2e`

When updating Cypress version in `package.json` the version in `.circleci/config.yml` needs to be
updated as well.
Expand All @@ -164,11 +178,18 @@ See scripts on [nx.dev](https://nx.dev/angular/api/workspace/npmscripts)

- `yarn nx --help`

- `yarn run affected:dep-graph`

## Ng

### Update

- `ng update @angular/cli @angular/core`
- [Angular Update Guide](https://update.angular.io/)

### Generate transpiled code with AOT-compiler `ngc`

- `ngc -p ./apps/frontend/tsconfig.app.json` (output: `./dist/out-tsc`)

## Github Pages

Expand All @@ -177,4 +198,4 @@ CircleCI pushes every build onto the
GitHub under:

- Schema: `https://philippemorier.github.io/talus/<branch>/<commit-hash>/frontend/`
- Example: `https://philippemorier.github.io/talus/convert-to-nx/9cff96f/frontend/`
- Example: `https://philippemorier.github.io/talus/develop/56c699a/frontend/`
41 changes: 35 additions & 6 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"aot": true,
"outputPath": "dist/apps/frontend",
"index": "apps/frontend/src/index.html",
"main": "apps/frontend/src/main.ts",
Expand Down Expand Up @@ -49,6 +50,10 @@
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb"
}
]
}
Expand Down Expand Up @@ -209,8 +214,10 @@
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"builder": "@nrwl/linter:lint",
"options": {
"linter": "eslint",
"config": "apps/benchmark/.eslintrc",
"tsConfig": ["apps/benchmark/tsconfig.app.json"],
"exclude": ["**/node_modules/**", "!apps/benchmark/**"]
}
Expand All @@ -224,8 +231,10 @@
"schematics": {},
"architect": {
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"builder": "@nrwl/linter:lint",
"options": {
"linter": "eslint",
"config": "libs/vdb/.eslintrc",
"tsConfig": ["libs/vdb/tsconfig.lib.json", "libs/vdb/tsconfig.spec.json"],
"exclude": ["**/node_modules/**", "!libs/vdb/**"]
}
Expand Down Expand Up @@ -265,13 +274,33 @@
}
}
}
},
"model": {
"root": "libs/model",
"sourceRoot": "libs/model/src",
"projectType": "library",
"schematics": {},
"architect": {
"lint": {
"builder": "@nrwl/linter:lint",
"options": {
"linter": "eslint",
"config": "libs/model/.eslintrc",
"tsConfig": ["libs/model/tsconfig.lib.json", "libs/model/tsconfig.spec.json"],
"exclude": ["**/node_modules/**", "!libs/model/**"]
}
},
"test": {
"builder": "@nrwl/jest:jest",
"options": {
"jestConfig": "libs/model/jest.config.js",
"tsConfig": "libs/model/tsconfig.spec.json"
}
}
}
}
},
"cli": {
"warnings": {
"typescriptMismatch": false,
"versionMismatch": false
},
"defaultCollection": "@nrwl/angular"
},
"schematics": {
Expand Down
1 change: 1 addition & 0 deletions apps/benchmark/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "extends": "../../.eslintrc", "rules": {} }
4 changes: 2 additions & 2 deletions apps/benchmark/benchmark.config.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module.exports = {
export default {
suiteName: 'Benchmark.js tests',
outputDirectory: './test-results/benchmark',
outputName: 'all.junit.xml',
outputName: 'apps-benchmark.junit.xml',
};
Empty file added apps/benchmark/src/app/.gitkeep
Empty file.
24 changes: 12 additions & 12 deletions apps/benchmark/src/app/vdb/coord.benchmark.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,32 +25,32 @@ suite('[Coord] write', () => {
suite('[Coord] read', () => {
const coord: Coord = [0, 0, 0];
benchmark('coord[0]', () => {
const x = coord[0];
const y = coord[1];
const z = coord[2];
const _x = coord[0];
const _y = coord[1];
const _z = coord[2];
});

benchmark('coord[X]', () => {
const x = coord[X];
const y = coord[Y];
const z = coord[Z];
const _x = coord[X];
const _y = coord[Y];
const _z = coord[Z];
});

const coordObj = { x: 0, y: 0, z: 0 };
benchmark('coordObj.x', () => {
const x = coordObj.x;
const y = coordObj.y;
const z = coordObj.z;
const _x = coordObj.x;
const _y = coordObj.y;
const _z = coordObj.z;
});
});

suite('[Coord] function parameter', () => {
const coord: Coord = [0, 1, 2];

function oneParameter(xyz: Coord): void {
const x = xyz[0];
const y = xyz[1];
const z = xyz[2];
const _x = xyz[0];
const _y = xyz[1];
const _z = xyz[2];
}

function deconstruct([x, y, z]: Coord): void {
Expand Down
4 changes: 2 additions & 2 deletions apps/benchmark/src/app/vdb/grid.benchmark.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Grid } from '@talus/vdb';
import { benchmark, suite } from '../../main';

suite('[Grid] getValue()', () => {
const i = 42;
const i = 16;
const grid = initializeGrid(i);
const accessor = grid.getAccessor();

Expand All @@ -28,7 +28,7 @@ suite('[Grid] getValue()', () => {
});

suite('[Grid] setValue()', () => {
const i = 42;
const i = 16;
const grid = initializeGrid(i);
const accessor = grid.getAccessor();

Expand Down
Loading

0 comments on commit 6081f28

Please sign in to comment.