Skip to content

TypeScript compiler displays different behaviour on an image built with docker vs. an image built with balena #2982

Description

@benfrancis

I'm seeing some weird differences in behaviour of the TypeScript compiler on an image built with baleana (on-device using balena push {local ip address}) vs. an image built with docker using the same Dockerfile.

Please see this forum post for additional context.

I've checked:

  • Same user
  • Same working directory
  • Same starting contents of ~/webthings/gateway
  • Same version of tsc
  • Same tsconfig.json

    ... yet different output.

Image built with Docker:

node@6fc0783b21a3:~/webthings/gateway$ ./node_modules/typescript/bin/tsc -p .
node@6fc0783b21a3:~/webthings/gateway$ ls -al build/
total 696
drwxr-xr-x 11 node node  4096 Sep  5 17:56 .
drwxr-xr-x  1 node node  4096 Sep  5 17:54 ..
-rw-r--r--  1 node node    53 Sep  5 17:56 addon-loader.d.ts
-rw-r--r--  1 node node   118 Sep  5 17:56 addon-loader.d.ts.map
-rw-r--r--  1 node node  7460 Sep  5 17:56 addon-loader.js
-rw-r--r--  1 node node  4876 Sep  5 17:56 addon-loader.js.map
-rw-r--r--  1 node node 12576 Sep  5 17:56 addon-manager.d.ts
-rw-r--r--  1 node node  4997 Sep  5 17:56 addon-manager.d.ts.map
-rw-r--r--  1 node node 43748 Sep  5 17:56 addon-manager.js
-rw-r--r--  1 node node 28114 Sep  5 17:56 addon-manager.js.map
-rw-r--r--  1 node node   609 Sep  5 17:56 addon-utils.d.ts
-rw-r--r--  1 node node   270 Sep  5 17:56 addon-utils.d.ts.map
-rw-r--r--  1 node node 12006 Sep  5 17:56 addon-utils.js
-rw-r--r--  1 node node  7443 Sep  5 17:56 addon-utils.js.map
drwxr-xr-x  5 node node  4096 Sep  5 17:54 addons-test
-rw-r--r--  1 node node   373 Sep  5 17:56 app.d.ts
-rw-r--r--  1 node node   461 Sep  5 17:56 app.d.ts.map
-rw-r--r--  1 node node 13695 Sep  5 17:56 app.js
-rw-r--r--  1 node node  9442 Sep  5 17:56 app.js.map
-rw-r--r--  1 node node  1217 Sep  5 17:56 certificate-manager.d.ts
-rw-r--r--  1 node node   604 Sep  5 17:56 certificate-manager.d.ts.map
-rw-r--r--  1 node node 13078 Sep  5 17:56 certificate-manager.js
-rw-r--r--  1 node node  8439 Sep  5 17:56 certificate-manager.js.map
-rw-r--r--  1 node node  4487 Sep  5 17:56 constants.d.ts
-rw-r--r--  1 node node  2811 Sep  5 17:56 constants.d.ts.map
-rw-r--r--  1 node node  6837 Sep  5 17:56 constants.js
-rw-r--r--  1 node node  3076 Sep  5 17:56 constants.js.map
drwxr-xr-x  2 node node  4096 Sep  5 17:56 controllers
-rw-r--r--  1 node node  6096 Sep  5 17:56 db.d.ts
-rw-r--r--  1 node node  2894 Sep  5 17:56 db.d.ts.map
-rw-r--r--  1 node node 17558 Sep  5 17:56 db.js
-rw-r--r--  1 node node 11684 Sep  5 17:56 db.js.map
-rw-r--r--  1 node node   413 Sep  5 17:56 deferred.d.ts
-rw-r--r--  1 node node   434 Sep  5 17:56 deferred.d.ts.map
-rw-r--r--  1 node node   807 Sep  5 17:56 deferred.js
-rw-r--r--  1 node node   743 Sep  5 17:56 deferred.js.map
-rw-r--r--  1 node node   742 Sep  5 17:56 ec-crypto.d.ts
-rw-r--r--  1 node node   259 Sep  5 17:56 ec-crypto.d.ts.map
-rw-r--r--  1 node node  2839 Sep  5 17:56 ec-crypto.js
-rw-r--r--  1 node node  1866 Sep  5 17:56 ec-crypto.js.map
-rw-r--r--  1 node node   327 Sep  5 17:56 errors.d.ts
-rw-r--r--  1 node node   421 Sep  5 17:56 errors.d.ts.map
-rw-r--r--  1 node node   325 Sep  5 17:56 errors.js
-rw-r--r--  1 node node   243 Sep  5 17:56 errors.js.map
drwxr-xr-x  2 node node  4096 Sep  5 17:56 iso-639
-rw-r--r--  1 node node  1392 Sep  5 17:56 jwt-middleware.d.ts
-rw-r--r--  1 node node   672 Sep  5 17:56 jwt-middleware.d.ts.map
-rw-r--r--  1 node node  5894 Sep  5 17:56 jwt-middleware.js
-rw-r--r--  1 node node  3497 Sep  5 17:56 jwt-middleware.js.map
-rw-r--r--  1 node node   375 Sep  5 17:56 log-timestamps.d.ts
-rw-r--r--  1 node node   147 Sep  5 17:56 log-timestamps.d.ts.map
-rw-r--r--  1 node node  6270 Sep  5 17:56 log-timestamps.js
-rw-r--r--  1 node node  5448 Sep  5 17:56 log-timestamps.js.map
-rw-r--r--  1 node node   457 Sep  5 17:56 migrate.d.ts
-rw-r--r--  1 node node   202 Sep  5 17:56 migrate.d.ts.map
-rw-r--r--  1 node node 11233 Sep  5 17:56 migrate.js
-rw-r--r--  1 node node  8584 Sep  5 17:56 migrate.js.map
drwxr-xr-x  2 node node  4096 Sep  5 17:56 models
-rw-r--r--  1 node node   761 Sep  5 17:56 oauth-types.d.ts
-rw-r--r--  1 node node   860 Sep  5 17:56 oauth-types.d.ts.map
-rw-r--r--  1 node node  3185 Sep  5 17:56 oauth-types.js
-rw-r--r--  1 node node  1994 Sep  5 17:56 oauth-types.js.map
-rw-r--r--  1 node node  6404 Sep  5 17:56 package.json
-rw-r--r--  1 node node  1574 Sep  5 17:56 passwords.d.ts
-rw-r--r--  1 node node   576 Sep  5 17:56 passwords.d.ts.map
-rw-r--r--  1 node node  2388 Sep  5 17:56 passwords.js
-rw-r--r--  1 node node   991 Sep  5 17:56 passwords.js.map
-rw-r--r--  1 node node  4097 Sep  5 17:56 platform.d.ts
-rw-r--r--  1 node node  2200 Sep  5 17:56 platform.d.ts.map
-rw-r--r--  1 node node 11117 Sep  5 17:56 platform.js
-rw-r--r--  1 node node  6340 Sep  5 17:56 platform.js.map
drwxr-xr-x  3 node node  4096 Sep  5 17:56 platforms
drwxr-xr-x  2 node node  4096 Sep  5 17:56 plugin
-rw-r--r--  1 node node   842 Sep  5 17:56 push-service.d.ts
-rw-r--r--  1 node node   477 Sep  5 17:56 push-service.d.ts.map
-rw-r--r--  1 node node  3222 Sep  5 17:56 push-service.js
-rw-r--r--  1 node node  1460 Sep  5 17:56 push-service.js.map
-rw-r--r--  1 node node   673 Sep  5 17:56 router.d.ts
-rw-r--r--  1 node node   393 Sep  5 17:56 router.d.ts.map
-rw-r--r--  1 node node 11326 Sep  5 17:56 router.js
-rw-r--r--  1 node node  6201 Sep  5 17:56 router.js.map
drwxr-xr-x  5 node node  4096 Sep  5 17:56 rules-engine
-rw-r--r--  1 node node    93 Sep  5 17:56 sleep.d.ts
-rw-r--r--  1 node node   171 Sep  5 17:56 sleep.d.ts.map
-rw-r--r--  1 node node   249 Sep  5 17:56 sleep.js
-rw-r--r--  1 node node   267 Sep  5 17:56 sleep.js.map
drwxr-xr-x  7 node node  4096 Sep  5 17:56 test
-rw-r--r--  1 node node  1097 Sep  5 17:56 tunnel-service.d.ts
-rw-r--r--  1 node node   873 Sep  5 17:56 tunnel-service.d.ts.map
-rw-r--r--  1 node node  9384 Sep  5 17:56 tunnel-service.js
-rw-r--r--  1 node node  5751 Sep  5 17:56 tunnel-service.js.map
-rw-r--r--  1 node node   721 Sep  5 17:56 user-profile.d.ts
-rw-r--r--  1 node node   158 Sep  5 17:56 user-profile.d.ts.map
-rw-r--r--  1 node node  1472 Sep  5 17:56 user-profile.js
-rw-r--r--  1 node node   888 Sep  5 17:56 user-profile.js.map
-rw-r--r--  1 node node  1544 Sep  5 17:56 utils.d.ts
-rw-r--r--  1 node node   610 Sep  5 17:56 utils.d.ts.map
-rw-r--r--  1 node node  7514 Sep  5 17:56 utils.js
-rw-r--r--  1 node node  4530 Sep  5 17:56 utils.js.map
drwxr-xr-x  2 node node  4096 Sep  5 17:54 views
-rw-r--r--  1 node node   443 Sep  5 17:56 wifi-setup.d.ts
-rw-r--r--  1 node node   332 Sep  5 17:56 wifi-setup.d.ts.map
-rw-r--r--  1 node node 15662 Sep  5 17:56 wifi-setup.js
-rw-r--r--  1 node node  9223 Sep  5 17:56 wifi-setup.js.map

Image built with Balena:

node@2e8a0c0ef1cd:~/webthings/gateway$ ./node_modules/typescript/bin/tsc -p .
node@2e8a0c0ef1cd:~/webthings/gateway$ ls -al build/
total 64
drwxr-xr-x 13 node node 4096 Sep  5 17:56 .
drwxr-xr-x  1 node node 4096 Sep  5 17:54 ..
drwxr-xr-x  5 node node 4096 Sep  5 17:54 addons-test
drwxr-xr-x  2 node node 4096 Sep  5 17:55 controllers
drwxr-xr-x  2 node node 4096 Sep  5 17:55 iso-639
drwxr-xr-x  2 node node 4096 Sep  5 17:55 models
-rw-r--r--  1 node node 5738 Sep  5 17:54 package.json
drwxr-xr-x  3 node node 4096 Sep  5 17:55 platforms
drwxr-xr-x  2 node node 4096 Sep  5 17:55 plugin
drwxr-xr-x  5 node node 4096 Sep  5 17:55 rules-engine
drwxr-xr-x 10 node node 4096 Sep  5 17:56 src
drwxr-xr-x  3 node node 4096 Sep  5 17:56 static
drwxr-xr-x  7 node node 4096 Sep  5 17:55 test
drwxr-xr-x  2 node node 4096 Sep  5 17:54 views

Any ideas what could be causing these differences in behaviour?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions