saltcorn: tenant can't build android app with docker

Describe the bug I successfully built a test saltcorn web app in November (no tenants involved) but of course, I’d need something else now 😃

From the tenant admin, using a any-bootstrap-theme, I built it ticking android and docker After 11s, I got an error.txt:

init_multi_tenant error in domain test:  Cannot read properties of undefined (reading 'value')

,
added 492 packages, and audited 493 packages in 20s

52 packages are looking for funding
  run `npm fund` for details

5 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
,npm WARN deprecated @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs
npm WARN deprecated stringify-package@1.0.1: This module is not used anymore, and has been replaced by @npmcli/package-json
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm notice 
npm notice New major version of npm available! 8.1.2 -> 9.2.0
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.2.0>
npm notice Run `npm install -g npm@9.2.0` to update!
npm notice 


,
> @saltcorn/mobile-builder@0.8.1-beta.4 build
> webpack --mode development "--env" "plugins=[{\"id\":3,\"name\":\"fullcalendar\",\"source\":\"npm\",\"location\":\"@saltcorn/fullcalendar\",\"version\":\"0.3.2\",\"deploy_private_key\":null,\"configuration\":null},{\"id\":4,\"name\":\"tabulator\",\"source\":\"npm\",\"location\":\"@saltcorn/tabulator\",\"version\":\"0.5.12\",\"deploy_private_key\":null,\"configuration\":{\"stylesheet\":\"simple\"}},{\"id\":5,\"name\":\"markdown\",\"source\":\"npm\",\"location\":\"@saltcorn/markdown\",\"version\":\"0.1.2\",\"deploy_private_key\":null,\"configuration\":null},{\"id\":6,\"name\":\"@saltcorn/html\",\"source\":\"npm\",\"location\":\"@saltcorn/html\",\"version\":\"0.2.2\",\"deploy_private_key\":null,\"configuration\":null},{\"id\":8,\"name\":\"toc\",\"source\":\"npm\",\"location\":\"@saltcorn/toc\",\"version\":\"0.1.2\",\"deploy_private_key\":null,\"configuration\":null},{\"id\":9,\"name\":\"any-bootstrap-theme\",\"source\":\"npm\",\"location\":\"@saltcorn/any-bootstrap-theme\",\"version\":\"0.3.15\",\"deploy_private_key\":null,\"configuration\":{\"fluid\":true,\"theme\":\"flatly\",\"toppad\":2,\"css_url\":null,\"in_card\":false,\"css_file\":null,\"fixedTop\":false,\"menu_style\":\"Side Navbar\",\"colorscheme\":\"navbar-dark bg-primary\",\"css_integrity\":null,\"backgroundColor\":\"#ffffff\"}},{\"id\":11,\"name\":\"summernote\",\"source\":\"npm\",\"location\":\"@saltcorn/summernote\",\"version\":\"0.1.4\",\"deploy_private_key\":null,\"configuration\":null}]" "--env" "output=/root/mobile_app_build/www/js/"

asset bundle/common_chunks.bundle.js 7.43 MiB [emitted] (name: common_chunks) (id hint: vendors)
asset bundle/data.bundle.js 25.5 KiB [emitted] (name: data)
asset bundle/markup.bundle.js 10.2 KiB [emitted] (name: markup)
asset bundle/any-bootstrap-theme.bundle.js 1.53 KiB [emitted] (name: any-bootstrap-theme)
asset bundle/summernote.bundle.js 1.52 KiB [emitted] (name: summernote)
asset bundle/fullcalendar.bundle.js 1.5 KiB [emitted] (name: fullcalendar)
asset bundle/@saltcorn/html.bundle.js 1.5 KiB [emitted] (name: @saltcorn/html)
asset bundle/markdown.bundle.js 1.5 KiB [emitted] (name: markdown)
asset bundle/tabulator.bundle.js 1.5 KiB [emitted] (name: tabulator)
asset bundle/toc.bundle.js 1.48 KiB [emitted] (name: toc)
asset bundle/base_plugin.bundle.js 1.46 KiB [emitted] (name: base_plugin)
asset bundle/sbadmin2.bundle.js 1.46 KiB [emitted] (name: sbadmin2)
runtime modules 3.39 KiB 7 modules
modules by path ../../ 5.52 MiB 668 modules
modules by path ../data/ 755 KiB 125 modules
modules by path ./plugin_packages/node_modules/ 373 KiB 79 modules
modules by path ../markup/dist/*.js 99 KiB
  ../markup/dist/index.js 4.84 KiB [built] [code generated]
  + 12 modules
modules by path ../db-common/dist/*.js 20.3 KiB
  ../db-common/dist/internal.js 12.6 KiB [built] [code generated]
  + 4 modules
modules by path ../types/dist/ 2.01 KiB
  modules by path ../types/dist/*.js 1.43 KiB 2 modules
  modules by path ../types/dist/model-abstracts/*.js 591 bytes 2 modules
+ 13 modules

WARNING in ../data/dist/migrate.js 80:33-82
Critical dependency: the request of a dependency is an expression
 @ ../data/dist/db/state.js 18:20-41
 @ ../data/dist/index.js 36:32-53

WARNING in ../../live-plugin-manager/dist/src/PluginManager.js 55:17-24
Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
 @ ../../live-plugin-manager/dist/index.js 13:13-43
 @ ../data/dist/db/state.js 15:26-56
 @ ../data/dist/index.js 36:32-53

WARNING in ../../live-plugin-manager/dist/src/PluginVm.js 258:19-40
Critical dependency: the request of a dependency is an expression
 @ ../../live-plugin-manager/dist/src/PluginManager.js 38:19-40
 @ ../../live-plugin-manager/dist/index.js 13:13-43
 @ ../data/dist/db/state.js 15:26-56
 @ ../data/dist/index.js 36:32-53

WARNING in ../../live-plugin-manager/dist/src/PluginVm.js 270:15-44
Critical dependency: the request of a dependency is an expression
 @ ../../live-plugin-manager/dist/src/PluginManager.js 38:19-40
 @ ../../live-plugin-manager/dist/index.js 13:13-43
 @ ../data/dist/db/state.js 15:26-56
 @ ../data/dist/index.js 36:32-53

4 warnings have detailed information that is not shown.
Use 'stats.errorDetails: true' resp. '--stats-error-details' to show it.

ERROR in ../../browserify-zlib/lib/binding.js 4:13-30
Module not found: Error: Can't resolve 'assert' in '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/browserify-zlib/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
	- add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }'
	- install 'assert'
If you don't want to include a polyfill, you can use an empty module like this:
	resolve.fallback: { "assert": false }
 @ ../../browserify-zlib/lib/index.js 5:14-34
 @ ../../minizlib/index.js 5:17-32
 @ ../../tar/lib/parse.js 30:13-32
 @ ../../tar/index.js 13:0-41
 @ ../../live-plugin-manager/dist/src/tarballUtils.js 38:25-39
 @ ../../live-plugin-manager/dist/src/NpmRegistryClient.js 38:23-48
 @ ../../live-plugin-manager/dist/src/PluginManager.js 37:28-58
 @ ../../live-plugin-manager/dist/index.js 13:13-43
 @ ../data/dist/db/state.js 15:26-56
 @ ../data/dist/index.js 36:32-53

ERROR in ../../browserify-zlib/lib/index.js 7:13-33
Module not found: Error: Can't resolve 'assert' in '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/browserify-zlib/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
	- add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }'
	- install 'assert'
If you don't want to include a polyfill, you can use an empty module like this:
	resolve.fallback: { "assert": false }
 @ ../../minizlib/index.js 5:17-32
 @ ../../tar/lib/parse.js 30:13-32
 @ ../../tar/index.js 13:0-41
 @ ../../live-plugin-manager/dist/src/tarballUtils.js 38:25-39
 @ ../../live-plugin-manager/dist/src/NpmRegistryClient.js 38:23-48
 @ ../../live-plugin-manager/dist/src/PluginManager.js 37:28-58
 @ ../../live-plugin-manager/dist/index.js 13:13-43
 @ ../data/dist/db/state.js 15:26-56
 @ ../data/dist/index.js 36:32-53

ERROR in ../../graceful-fs/graceful-fs.js 87:6-29
Module not found: Error: Can't resolve 'assert' in '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/graceful-fs'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
	- add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }'
	- install 'assert'
If you don't want to include a polyfill, you can use an empty module like this:
	resolve.fallback: { "assert": false }
 @ ../../live-plugin-manager/node_modules/fs-extra/lib/fs/index.js 5:11-33
 @ ../../live-plugin-manager/node_modules/fs-extra/lib/index.js 5:5-20
 @ ../../live-plugin-manager/dist/src/fileSystem.js 32:24-43 34:17-36
 @ ../../live-plugin-manager/dist/src/PluginManager.js 35:24-47
 @ ../../live-plugin-manager/dist/index.js 13:13-43
 @ ../data/dist/db/state.js 15:26-56
 @ ../data/dist/index.js 36:32-53

ERROR in ../../live-plugin-manager/node_modules/fs-extra/lib/remove/rimraf.js 5:15-32
Module not found: Error: Can't resolve 'assert' in '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/live-plugin-manager/node_modules/fs-extra/lib/remove'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
	- add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }'
	- install 'assert'
If you don't want to include a polyfill, you can use an empty module like this:
	resolve.fallback: { "assert": false }
 @ ../../live-plugin-manager/node_modules/fs-extra/lib/remove/index.js 5:15-34
 @ ../../live-plugin-manager/node_modules/fs-extra/lib/index.js 15:5-24
 @ ../../live-plugin-manager/dist/src/fileSystem.js 32:24-43 34:17-36
 @ ../../live-plugin-manager/dist/src/PluginManager.js 35:24-47
 @ ../../live-plugin-manager/dist/index.js 13:13-43
 @ ../data/dist/db/state.js 15:26-56
 @ ../data/dist/index.js 36:32-53

ERROR in ../../minizlib/index.js 3:15-32
Module not found: Error: Can't resolve 'assert' in '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/minizlib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
	- add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }'
	- install 'assert'
If you don't want to include a polyfill, you can use an empty module like this:
	resolve.fallback: { "assert": false }
 @ ../../tar/lib/parse.js 30:13-32
 @ ../../tar/index.js 13:0-41
 @ ../../live-plugin-manager/dist/src/tarballUtils.js 38:25-39
 @ ../../live-plugin-manager/dist/src/NpmRegistryClient.js 38:23-48
 @ ../../live-plugin-manager/dist/src/PluginManager.js 37:28-58
 @ ../../live-plugin-manager/dist/index.js 13:13-43
 @ ../data/dist/db/state.js 15:26-56
 @ ../data/dist/index.js 36:32-53

ERROR in ../../signal-exit/index.js 26:15-32
Module not found: Error: Can't resolve 'assert' in '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/signal-exit'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
	- add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }'
	- install 'assert'
If you don't want to include a polyfill, you can use an empty module like this:
	resolve.fallback: { "assert": false }
 @ ../../lockfile/lockfile.js 33:13-35
 @ ../../live-plugin-manager/dist/src/PluginManager.js 39:30-49
 @ ../../live-plugin-manager/dist/index.js 13:13-43
 @ ../data/dist/db/state.js 15:26-56
 @ ../data/dist/index.js 36:32-53

ERROR in ../../tar/lib/path-reservations.js 9:15-32
Module not found: Error: Can't resolve 'assert' in '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/tar/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
	- add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }'
	- install 'assert'
If you don't want to include a polyfill, you can use an empty module like this:
	resolve.fallback: { "assert": false }
 @ ../../tar/lib/unpack.js 16:25-58
 @ ../../tar/index.js 12:0-43
 @ ../../live-plugin-manager/dist/src/tarballUtils.js 38:25-39
 @ ../../live-plugin-manager/dist/src/NpmRegistryClient.js 38:23-48
 @ ../../live-plugin-manager/dist/src/PluginManager.js 37:28-58
 @ ../../live-plugin-manager/dist/index.js 13:13-43
 @ ../data/dist/db/state.js 15:26-56
 @ ../data/dist/index.js 36:32-53

ERROR in ../../tar/lib/unpack.js 9:15-32
Module not found: Error: Can't resolve 'assert' in '/usr/local/lib/node_modules/@saltcorn/cli/node_modules/tar/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
	- add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }'
	- install 'assert'
If you don't want to include a polyfill, you can use an empty module like this:
	resolve.fallback: { "assert": false }
 @ ../../tar/index.js 12:0-43
 @ ../../live-plugin-manager/dist/src/tarballUtils.js 38:25-39
 @ ../../live-plugin-manager/dist/src/NpmRegistryClient.js 38:23-48
 @ ../../live-plugin-manager/dist/src/PluginManager.js 37:28-58
 @ ../../live-plugin-manager/dist/index.js 13:13-43
 @ ../data/dist/db/state.js 15:26-56
 @ ../data/dist/index.js 36:32-53

8 errors have detailed information that is not shown.
Use 'stats.errorDetails: true' resp. '--stats-error-details' to show it.

webpack 5.68.0 compiled with 8 errors and 4 warnings in 11065 ms

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Comments: 24 (9 by maintainers)

Most upvoted comments

Okay, there are still plugins we have to adjust. I can’t say for sure when I can change tabulator, but I will take a look, perhaps it’s just something small. There aren’t that much Cordova specific functionalities, and we hadn’t many problems with them for now. The biggest part is just the bundled saltcorn code.