Transcrypt icon indicating copy to clipboard operation
Transcrypt copied to clipboard

Compilation: TypeError: Property description must be an object: undefined

Open vrescobar opened this issue 5 years ago • 0 comments

When I use the latest newest transcrypt in a web project with Vue I very often run into the following problem:

Module build failed (from ../Transcrypt/transcrypt/bundlers/webpack/__target_es5__/index.js):                                                                                      friendly-errors 16:00:14
TypeError: Property description must be an object: undefined
    at Function.defineProperty (<anonymous>)
    at Object.__new__ (/mnt/c/Users/sefir/OneDrive/VisualStudio/projects/Transcrypt/transcrypt/bundlers/webpack/__target_es5__/org.transcrypt.__runtime__.js:263:16)
    at __class__ (/mnt/c/Users/sefir/OneDrive/VisualStudio/projects/Transcrypt/transcrypt/bundlers/webpack/__target_es5__/org.transcrypt.__runtime__.js:383:15)
    at Object.<anonymous> (/mnt/c/Users/sefir/OneDrive/VisualStudio/projects/Transcrypt/transcrypt/bundlers/webpack/__target_es5__/org.transcrypt.__runtime__.js:2514:17)
    at Module._compile (internal/modules/cjs/loader.js:778:30)

Which is caused by the following javascript (see generated code at __target_es5__/org.transcrypt.__runtime__.js):

      for (var attrib in base) {
        var descrip = Object.getOwnPropertyDescriptor(base, attrib);
        Object.defineProperty(cls, attrib, descrip);
      }

If I am not wrong that belongs to the __core__ and it is the class inheritance/copy of atributes from parent to child.

Just for the record that was a vue js new project and HW.py just contains:

class HelloWorld(object):
    name = 'HelloWorld'
    def data(self):
        return {'msg': 'Hello from Python!'}
print("Loaded python module")
#module.exports = HelloWorld

vrescobar avatar Sep 01 '20 14:09 vrescobar