Enigmatic-Smile / serverless-plugin-optimize

⛔️ DEPRECATED ⛔️ Bundle with Browserify, transpile and minify with Babel automatically to your NodeJS runtime compatible JavaScript

Home Page:https://www.npmjs.com/package/serverless-plugin-optimize

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Try to access wrong module directory (node_mnode_modules)

minsung-git opened this issue · comments

Issue: severless-plugin-optimize try to access wrong directory "node_mnode_modules"

Symptom

Exception -----------------------------------------------
  [OperationalError: ENOENT: no such file or directory, stat '/Users/kmin/Documents/001_delivery_2021/999/development/floaws/.build/node_mnode_modules/swagger-ui-dist'] {
    cause: [Error: ENOENT: no such file or directory, stat '/Users/kmin/Documents/001_delivery_2021/999/development/floaws/.build/node_mnode_modules/swagger-ui-dist'] {
      errno: -2,
      code: 'ENOENT',
      syscall: 'stat',
      path: '/Users/kmin/Documents/001_delivery_2021/999/development/floaws/.build/node_mnode_modules/swagger-ui-dist'
    },
    isOperational: true,
    errno: -2,
    code: 'ENOENT',
    syscall: 'stat',
    path: '/Users/kmin/Documents/001_delivery_2021/999/development/floaws/.build/node_mnode_modules/swagger-ui-dist'
  }

Serverless.yaml

custom:
  optimize:
    external: ['swagger-ui-dist']

Fix

Below fix works well in my computer. Could you follow up this issue?

Original code:

const externalDir = externalEntry.substring(
            this.serverless.config.servicePath.length,
            externalEntry.lastIndexOf('node_modules/' + external)
          ) + 'node_modules/' + external

Fixed code

const externalDir = externalEntry.substring(
            externalEntry.lastIndexOf('node_modules/' + external),
            externalEntry.indexOf(external) + external.length
          )

Hi @minsung-git
same problem here.

Packages:

"serverless-plugin-optimize": "4.2.1-rc.1",
"@nestjs/cli": "^7.6.0",
"@nestjs/core": "^8.0.6",
"@nestjs/common": "^8.0.6",
"@nestjs/swagger": "^5.0.9"

`
Exception -----------------------------------------------

[OperationalError: ENOENT: no such file or directory, stat 'F:\test-space\heymate-backend.build\F:\test-space\heymate-backend.build\node_modules\swagger-ui-dist']
{
cause: [Error: ENOENT: no such file or directory, stat 'F:\test-space\heymate-backend.build\F:\test-space\heymate-backend.build\node_modules\swagger-ui-dist'] {
errno: -4058,
code: 'ENOENT',
syscall: 'stat',
path: 'F:\test-space\heymate-backend\.build\F:\test-space\heymate-backend\.build\node_modules\swagger-ui-dist'
},
isOperational: true,
errno: -4058,
code: 'ENOENT',
syscall: 'stat',
path: 'F:\test-space\heymate-backend\.build\F:\test-space\heymate-backend\.build\node_modules\swagger-ui-dist'
}
`

Issue: severless-plugin-optimize try to access wrong directory "node_mnode_modules"

Symptom

Exception -----------------------------------------------
  [OperationalError: ENOENT: no such file or directory, stat '/Users/kmin/Documents/001_delivery_2021/999/development/floaws/.build/node_mnode_modules/swagger-ui-dist'] {
    cause: [Error: ENOENT: no such file or directory, stat '/Users/kmin/Documents/001_delivery_2021/999/development/floaws/.build/node_mnode_modules/swagger-ui-dist'] {
      errno: -2,
      code: 'ENOENT',
      syscall: 'stat',
      path: '/Users/kmin/Documents/001_delivery_2021/999/development/floaws/.build/node_mnode_modules/swagger-ui-dist'
    },
    isOperational: true,
    errno: -2,
    code: 'ENOENT',
    syscall: 'stat',
    path: '/Users/kmin/Documents/001_delivery_2021/999/development/floaws/.build/node_mnode_modules/swagger-ui-dist'
  }

Serverless.yaml

custom:
  optimize:
    external: ['swagger-ui-dist']

Fix

Below fix works well in my computer. Could you follow up this issue?

Original code:

const externalDir = externalEntry.substring(
            this.serverless.config.servicePath.length,
            externalEntry.lastIndexOf('node_modules/' + external)
          ) + 'node_modules/' + external

Fixed code

const externalDir = externalEntry.substring(
            externalEntry.lastIndexOf('node_modules/' + external),
            externalEntry.indexOf(external) + external.length
          )

same issue and this worked for me! thks