1/2 cucumber tests are green. The reason why the first test does not
succeed reliably is that the frontend redirects to a wrong URL after you
create the post. It's the slug of the first created post. I want to be
redirected to the slug of the created post.
CC @appinteractive please fix
@appinteractive
Cucumber lesson: Write the cucumber feature first, then add step
definitions. If you do it the other way round, it will make your
cucumber features less readable.
Creating a separate volume for .nuxt/ where nuxt stores its transpiled
files ensures that both local and docker setup are isolated from each
other. E.g. on Linux I see these annoying owner permission errors,
because the user in the docker environment is called `root` not my user
on my host system `robert`.
This might be interesting for @mattwr18 too
* string-hash
* tiptap
* tiptap-extensions
@appinteractive I see this error in docker environment:
```
webapp_1 | FATAL [
webapp_1 | Error: Cannot resolve "@nuxtjs/style-resources" from "/nitro-web/nuxtjs/style-resources"
webapp_1 | at Resolver.resolvePath (/nitro-web/node_modules/@nuxt/core/dist/core.js:487:11)
webapp_1 | at Resolver.requireModule (/nitro-web/node_modules/@nuxt/core/dist/core.js:498:27)
webapp_1 | at ModuleContainer.addModule (/nitro-web/node_modules/@nuxt/core/dist/core.js:145:36)
webapp_1 | at promise.then (/nitro-web/node_modules/@nuxt/common/dist/common.js:1321:43)
webapp_1 | at process._tickCallback (internal/process/next_tick.js:68:7)
webapp_1 | at Function.Module.runMain (internal/modules/cjs/loader.js:745:11)
webapp_1 | at startup (internal/bootstrap/node.js:283:19)
webapp_1 | at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3),
webapp_1 | [Error: Cannot find module '@nuxtjs/style-resources'] {
webapp_1 | at new <anonymous> (/nitro-web/node_modules/esm/esm.js:1:50548)
webapp_1 | at el (/nitro-web/node_modules/esm/esm.js:1:195465)
webapp_1 | at /nitro-web/node_modules/esm/esm.js:1:215841
webapp_1 | at Su (/nitro-web/node_modules/esm/esm.js:1:215921)
webapp_1 | at qa (/nitro-web/node_modules/esm/esm.js:1:187511)
webapp_1 | at Eu (/nitro-web/node_modules/esm/esm.js:1:217149)
webapp_1 | at Module.<anonymous> (/nitro-web/node_modules/esm/esm.js:1:250405)
webapp_1 | at Resolver.o [as esm] (/nitro-web/node_modules/esm/esm.js:1:235191)
webapp_1 | at Resolver.requireModule (/nitro-web/node_modules/@nuxt/core/dist/core.js:508:31)
webapp_1 | at ModuleContainer.addModule (/nitro-web/node_modules/@nuxt/core/dist/core.js:145:36)
webapp_1 | at promise.then (/nitro-web/node_modules/@nuxt/common/dist/common.js:1321:43)
webapp_1 | at process._tickCallback (internal/process/next_tick.js:68:7)
webapp_1 | at Function.Module.runMain (internal/modules/cjs/loader.js:745:11)
webapp_1 | at startup (internal/bootstrap/node.js:283:19)
webapp_1 | at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
webapp_1 | code: 'MODULE_NOT_FOUND'
webapp_1 | }
```
@appinteractive could you have a look if sanitization of search queries
work? I created a test and I see "unterminated string" exceptions. This
is not what we want! All user input should be escaped.
In order to create the indices programmatically we need to change the
default password for security concerns. To create the user we need to
start the neo4j database. So I decided to provide a bash script that
let us do it once the container are started.
In production we must change the NEO4J_PASSWORD.