manasouza / sfin-bills

0 stars 0 forks source link

Migrate to NodeJS 14 LTS #156

Open manasouza opened 9 months ago

manasouza commented 9 months ago

This is required for https://github.com/manasouza/sfin-bills/pull/155

Docker image: https://hub.docker.com/_/node/tags?page=1&name=14-slim

manasouza commented 8 months ago

Similar error on cloud build with local, so reverting the changes:

$ ─$ npm test   

> sfin-bills@0.8.4 test /home/kali/development/git/sfin-bills
> mocha

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/kali/development/git/sfin-bills/node_modules/lodash-es/lodash.js
require() of ES modules is not supported.
require() of /home/kali/development/git/sfin-bills/node_modules/lodash-es/lodash.js from /home/kali/development/git/sfin-bills/node_modules/google-spreadsheet/dist/index.cjs is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename lodash.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /home/kali/development/git/sfin-bills/node_modules/lodash-es/package.json.

    at new NodeError (internal/errors.js:322:7)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1131:13)
    at Module.load (internal/modules/cjs/loader.js:979:32)
    at Function.Module._load (internal/modules/cjs/loader.js:819:12)
    at Module.require (internal/modules/cjs/loader.js:1003:19)
    at require (internal/modules/cjs/helpers.js:107:18)
    at Object.<anonymous> (/home/kali/development/git/sfin-bills/node_modules/google-spreadsheet/dist/index.cjs:1:22)
    at Module._compile (internal/modules/cjs/loader.js:1114:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
    at Module.load (internal/modules/cjs/loader.js:979:32)
    at Function.Module._load (internal/modules/cjs/loader.js:819:12)
    at Module.require (internal/modules/cjs/loader.js:1003:19)
    at require (internal/modules/cjs/helpers.js:107:18)
    at Object.<anonymous> (/home/kali/development/git/sfin-bills/spreadsheet.js:3:29)
    at Module._compile (internal/modules/cjs/loader.js:1114:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
    at Module.load (internal/modules/cjs/loader.js:979:32)
    at Function.Module._load (internal/modules/cjs/loader.js:819:12)
    at Module.require (internal/modules/cjs/loader.js:1003:19)
    at require (internal/modules/cjs/helpers.js:107:18)
    at Object.<anonymous> (/home/kali/development/git/sfin-bills/file_loader.js:13:50)
    at Module._compile (internal/modules/cjs/loader.js:1114:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
    at Module.load (internal/modules/cjs/loader.js:979:32)
    at Function.Module._load (internal/modules/cjs/loader.js:819:12)
    at Module.require (internal/modules/cjs/loader.js:1003:19)
    at require (internal/modules/cjs/helpers.js:107:18)
    at Object.<anonymous> (/home/kali/development/git/sfin-bills/test/file_loader_test.js:5:18)
    at Module._compile (internal/modules/cjs/loader.js:1114:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
    at Module.load (internal/modules/cjs/loader.js:979:32)
    at Function.Module._load (internal/modules/cjs/loader.js:819:12)
    at ModuleWrap.<anonymous> (internal/modules/esm/translators.js:203:29)
    at ModuleJob.run (internal/modules/esm/module_job.js:183:25)
    at async Loader.import (internal/modules/esm/loader.js:178:24)
    at async formattedImport (/home/kali/development/git/sfin-bills/node_modules/mocha/lib/nodejs/esm-utils.js:9:14)
    at async Object.exports.requireOrImport (/home/kali/development/git/sfin-bills/node_modules/mocha/lib/nodejs/esm-utils.js:42:28)
    at async Object.exports.loadFilesAsync (/home/kali/development/git/sfin-bills/node_modules/mocha/lib/nodejs/esm-utils.js:100:20)
    at async singleRun (/home/kali/development/git/sfin-bills/node_modules/mocha/lib/cli/run-helpers.js:125:3)
    at async Object.exports.handler (/home/kali/development/git/sfin-bills/node_modules/mocha/lib/cli/run.js:370:5)
npm ERR! Test failed.  See above for more details.
manasouza commented 8 months ago

on local, after moving to node 14 and running the test again, it all passed

But still the failure on cloud build: https://console.cloud.google.com/cloud-build/builds;region=global/4d0407eb-dad3-4ff0-b378-2f75215fdfc8?project=smartfinance-bills-beta

manasouza commented 8 months ago

Fixed in #152

manasouza commented 6 months ago

https://stackoverflow.com/questions/62488898/node-js-syntaxerror-cannot-use-import-statement-outside-a-module https://stackoverflow.com/questions/71022803/the-requested-module-does-not-provide-an-export-named-default-error-but

manasouza commented 6 months ago

https://theoephraim.github.io/node-google-spreadsheet/#/guides/migration-guide

manasouza commented 2 days ago

Additional references consulted due Google Spreadsheet update to v4:

https://www.npmjs.com/package/google-auth-library https://github.com/theoephraim/node-google-spreadsheet?tab=readme-ov-file#examples