## Summary
This PR removes `embeddingsTensorFlow` node and reverts our fix to
accommodate the Docker build in #7893 .
The node itself has been extracted as a [community node available from
npm](https://www.npmjs.com/package/n8n-nodes-tensorflow)
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Due to new dependencies released in `1.19`, the docker build is failing
due to missing build dependencie. To get around this, we split the build
into two phases. In the building phase, we install the build
dependencies required to compile new module bindings and copy the result
in the second phase.
Github issue / Community forum post (link here to close automatically):
---------
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
We need to drop node 16 support, [as support for it is ends much earlier now, due to support for openssl 1.1.1 ending](https://nodejs.org/en/blog/announcements/nodejs16-eol).
`0.236.x` releases will continue to support Node.js 16 for another two months, and `1.x.x` releases will only support Node.js 18 for now.
* ci: Remove debian and rhel7 images
* include libc6-compat in all alpine images
* run all n8n docker containers as the user `node` instead of `root`
* upgrade the default version of npm bundled in all containers
* consolidate docker entrypoints
* ci: Start supporting Node.js 18
Node.js 18 became the active LTS on 2022-10-25, and Node.js 16 went into maintenance mode.
https://github.com/nodejs/Release#release-schedule
We should also slowly deprecate node 16 support, [as support for it is ends much earlier now, due to support for openssl 1.1.1 ending](https://nodejs.org/en/blog/announcements/nodejs16-eol).
* Remove hashing algorithms that are not available in newer node.js/openssl
- RSA-MD4
- RSA-MDC2
- md4
- md4WithRSAEncryption
- mdc2
- mdc2WithRSA
* in e2e tests, resolve `localhost` to ipv4 instead of ipv6
add --chown=node:node to COPY commands
By adding `--chown=node:node` when copying the source and removing `RUN chown -R node:node .`, we save several minutes during the image building process.
* ci(core): Copy patches dir to Docker (no-changelog)
* Update patch
* Update package-lock
* reapply the patch
* skip patchedDependencies after the frontend is built
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
* ci: Use the same entrypoint for custom docker images as for the other images
* update docker-compose examples to use the correct volume paths to work with custom images
* ci: start supporting node.js 18
Node.js 18 becomes the active LTS on 2022-10-25, as Node.js 16 goes into maintenance mode.
https://github.com/nodejs/Release#release-schedule
* continue using node 16 for production images
* node 16 for debian and base images as well for now
* feat(cli): Setup error tracking using Sentry
* make error reporting available in the workflows package
* address some of the PR comments
* create a ErrorReporterProxy like LoggerProxy
* remove the `captureError` helper. use ErrorReporterProxy directly
* fix linting issues
* remove ErrorReporterProxy warnings in tests
* check for NODE_ENV === 'production' instead
* IErrorReporter -> ErrorReporter
* ErrorReporterProxy.getInstance() -> ErrorReporter
* allow capturing stacks in warnings as well
* make n8n debugging consistent with `npm start`
* IReportingOptions -> ReportingOptions
* use consistent signature for `error` and `warn`
* use Logger instead of console.log
fix(typescript): Use consistent typescript configs
make all packages inherit tsconfig from the root tsconfig
skips building tests. reformat all tsconfigs with prettier.
* Improve code health
Fix TS typos in local variables
Fix CSS typos in local styles
Fix typos in comments
Fix typos in strings
* Fix order of n8n setup sections in CONTRIBUTING.md
Switching from `root` to another user needs a bit more testing, as we need to figure out how to auto-migrate all existing instances of n8n when people upgrade.
* reduce redundant code between the two alpine Dockerfiles
* reduce the docker image build times
* reduce the `n8n` image size from 1.17GB to 462MB
* reduce the `n8n-custom` image size from 671MB to 460MB
* reduce the size of npm tree by making all typing packages devDependencies
Partially resolves this ticket: N8N-3252