Skip to content

[Bug]: Incorrect product DTO #14736

@Bystrol

Description

@Bystrol

Package.json file

{
  "name": "medusa",
  "version": "0.0.1",
  "description": "A starter for Medusa projects.",
  "author": "Medusa (https://medusajs.com)",
  "license": "MIT",
  "keywords": [
    "sqlite",
    "postgres",
    "typescript",
    "ecommerce",
    "headless",
    "medusa"
  ],
  "scripts": {
    "build": "medusa build",
    "seed": "medusa exec ./src/scripts/seed.ts",
    "start": "medusa start",
    "dev": "medusa develop",
    "test:integration:http": "TEST_TYPE=integration:http NODE_OPTIONS=--experimental-vm-modules jest --silent=false --runInBand --forceExit",
    "test:integration:modules": "TEST_TYPE=integration:modules NODE_OPTIONS=--experimental-vm-modules jest --silent=false --runInBand --forceExit",
    "test:unit": "TEST_TYPE=unit NODE_OPTIONS=--experimental-vm-modules jest --silent --runInBand --forceExit"
  },
  "dependencies": {
    "@medusajs/admin-sdk": "2.12.6",
    "@medusajs/cli": "2.12.6",
    "@medusajs/framework": "2.12.6",
    "@medusajs/medusa": "2.12.6"
  },
  "devDependencies": {
    "@medusajs/test-utils": "2.12.6",
    "@swc/core": "^1.7.28",
    "@swc/jest": "^0.2.36",
    "@types/jest": "^29.5.13",
    "@types/node": "^20.12.11",
    "@types/react": "^18.3.2",
    "@types/react-dom": "^18.2.25",
    "jest": "^29.7.0",
    "prop-types": "^15.8.1",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "ts-node": "^10.9.2",
    "typescript": "^5.6.2",
    "vite": "^5.4.14",
    "yalc": "^1.0.0-pre.53"
  },
  "engines": {
    "node": ">=20"
  },
  "packageManager": "npm@10.9.3"
}

Node.js version

v22.18.0

Database and its version

PostgreSQL 18

Operating system name and version

mac OS Sequoia 15.6.1

Browser name

Chrome

What happended?

BaseProduct http type says its' weight should be of type number | null, but the API responds with type string.

export interface BaseProduct {
...
    /**
     * The product's weight.
     */
    weight: number | null;
 ...
}
 "product": {
...
        "id": "prod_01KG0K799BJ22A0KX01SERY16M",
        "weight": "400",
...
}

Expected behavior

Generated types should match the actual ones.

Actual behavior

Generated types differ from the actual ones in the application.

Link to reproduction repo

https://github.com/Bystrol/astro-medusa-starter

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions