React-dnd: تم تعطيل استيراد وحدة CJS في الأحدث

تم إنشاؤها على ١٣ يوليو ٢٠١٩  ·  29تعليقات  ·  مصدر: react-dnd/react-dnd

وصف الخطأ
يبدو أن أحدث حزم CJS معطلة (9.3.3). باستخدام 9.2.1 الأعمال. انظر الأكوادو صندوق أو السجل أدناه:

[ error ] ./node_modules/react-dnd-cjs/lib/common/DndContext.js
Module not found: Can't resolve 'dnd-core' in '/mnt/c/dev/foobar/app/node_modules/react-dnd-cjs/lib/common'
{ Error: Cannot find module 'dnd-core'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)

التكاثر

https://codesandbox.io/embed/wonderful-turing-mqywk

bug

التعليق الأكثر فائدة

سأخرج حتى يوم 20 - لا تتردد في إعادة فتح هذا إذا استمرت المشكلة. شكر!

ال 29 كومينتر

+1 ، في السيناريو الخاص بي ، يعمل الإنشاء webpack بشكل جيد مع لكن mocha --require @babel/register (أي بيئة العقدة) يعطي نفس النتيجة الخاطئة.

يبدو أيضًا أن /dist/cjs أنشأ شجرة توزيع فرعية في [email protected] معطلة ، لقد حاولت اختراق هذا في تكوين babel عبر babel-plugin-module-resolver تمامًا مثل هذا ولكن دون نجاح:

  [
    "babel-plugin-module-resolver",
    {
      alias: {
        "^react-dnd$": "\\0/dist/cjs",
        "^react-dnd-.*$": "\\0/dist/cjs",
        "^dnd-.*$": "\\0/dist/cjs"
      }
    }
  ]

قصة قصيرة طويلة ، تعمل إعادة الكتابة هذه في webpack (مع [email protected] ) وأيضًا في mocha (مع [email protected] ) بدون تغييرات في كود مصدر التطبيق:

  [
    "babel-plugin-module-resolver",
    {
      alias: {
        "^react-dnd$": "\\0-cjs"
      }
    }
  ]

تواجه نفس المشكلة.

جئت عبر هذا أيضا

martinschayna هل عملت ثانية

/node_modules/dnd-core/dist/esm/index.js:1
(function (exports, require, module, __filename, __dirname) { export * from './interfaces';

كما أنني لاحظت أنه لم يتم نشر 9.3.3 لجميع الحزم. هذا يبدو غريبا بعض الشيء darthtrevino ؟

لقد بذلت المزيد من البحث حول هذا ،

يبدو أن d.ts ليست مصححة ، (لست متأكدًا من السبب في هذه المرحلة حيث تبدو قواعد scripts/execute_cjs_replacements.js جيدة بالنسبة لي).

process module requires in /Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd
*.d.ts require replacement [ { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/common/DndContext.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/common/DndProvider.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/common/DragPreviewImage.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/common/DragSourceMonitorImpl.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/common/DropTargetMonitorImpl.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/common/index.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/common/registration.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/common/SourceConnector.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/common/TargetConnector.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/common/wrapConnectorHooks.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/decorators/createSourceFactory.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/decorators/createTargetFactory.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/decorators/decorateHandler.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/decorators/disposables.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/decorators/DragLayer.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/decorators/DragSource.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/decorators/DropTarget.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/decorators/index.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/decorators/interfaces.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/decorators/utils.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/hooks/index.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/hooks/internal/drag.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/hooks/internal/drop.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/hooks/internal/useCollector.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/hooks/internal/useDragDropManager.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/hooks/internal/useMonitorOutput.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/hooks/useDrag.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/hooks/useDragLayer.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/hooks/useDrop.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/index.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/interfaces/connectors.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/interfaces/hooksApi.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/interfaces/index.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/interfaces/monitors.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/interfaces/options.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/utils/cloneWithRef.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/utils/isRef.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/utils/isValidType.js',
    hasChanged: false },
  { file:
     '/Users/cautexier/projects/react-dnd/packages/alternative_builds/cjs/react-dnd/lib/utils/js_utils.js',
    hasChanged: false } ]
js from replacement []
*.d.ts from from replacement []
*.d.ts from import replacement []

أعتقد أن هناك قاعدة مفقودة في scripts / execute_cjs_replacements.js لاستبدال الواردات في ملفات js أيضًا. لذلك لا يحاول DndContext.js الاستيراد من dnd-core في node_modules / رد فعل-dnd-cjs / lib / common / DndContext.js: 11.

        let jsFromReplaceSpec = {
            files: `${file}/lib/**/*.js`,
            from: esmLibs.map(esmLib => new RegExp(`from '${esmLib}'`, 'g')),
            to: esmLibs.map(esmLib => `from '${esmLib}-cjs'`),
        }
        replace.sync(jsFromReplaceSpec)

عرجاء ، سوف أقوم بإجراء تخفيض في إصلاح عملية الإصدار.

لقد ارتكبت للتو بعض المسار الملغي: https://github.com/react-dnd/react-dnd/search ؟ q=christrevino&unscoped_q=christrevino

yarn build
yarn run v1.15.2
$ tsc
error TS6053: File '/Users/christrevino/Workspace/oss/react-dnd/packages/core/react-dnd/src/index.ts' not found.


Found 1 error.

error Command failed with exit code 2.

قمت بتنظيف الريبو الخاص بي وتمكنت من تشغيل البناء على الرغم من tsconfig.

باستخدام رابط الغزل ، يمكنني الحصول على شيء يعمل ولكن يبدو أن حزم 9.3.5 المنشورة لا تزال لا تتضمن الملفات الصحيحة.

كان من المفترض دائمًا إنشاء تصميمات CJS بشكل ديناميكي ، لذلك أنا لست قلقًا بشأن المسارات المطلقة فيها. على yarn install يجب إعادة إنشائها على أي حال. كان السبب الوحيد لعدم وجودهم في .gitignore هو وجود مشكلة في عدم تمكن Lerna من اكتشافهم إذا كانوا كذلك.

sandorfr ما أنواع الأخطاء التي تراها بعد اكتمال

أرى أن حقل الكتابة مفقود في CJS - سأقوم بإصدار آخر لذلك

فقط الخطأ أعلاه https://github.com/react-dnd/react-dnd/issues/1468#issuecomment -518488026 ، ولكن تم حله عن طريق تنظيف الريبو الخاص بي. أعتقد أن تثبيت الغزل قمت بإصلاحه بعد ذلك.

المشكلة الوحيدة المتبقية هي أن الإصدار 9.3.5 الذي نشرته لا يبدو أنه يتضمن التغييرات عند فحص كرة القطران التي لا تزال تحصل على الواردات الخاطئة.

إذا نظرت إلى حزمتي المبنية محليًا فهي بخير.

أقوم بإزالة عناوين URL المطلقة من البرنامج النصي create_packages ، ومن المفترض أن يتم ذلك خلال دقيقة

sandorfr يتم نشر حزم CJS الآن في 9.3.6

حسنًا ، لا أعتقد أنه يتم تشغيل النص البديل عند بدء النشر.

تبدو محتويات تثبيت npm على ما يرام ، لابد أنني أخطأت في قراءة شيء ما هناك.

حسنًا ، جربها الآن :)

لا تزال الملفات الخاطئة ...
image

لابد أن ليرنا تقوم بإعداد روابط الغزل أو شيء من هذا القبيل - أعطني دقيقة
تحرير - نعم ، التثبيت باستخدام npm في دليل آخر يعيد إنتاج هذا - سأقطع واحدًا آخر ..

شكرًا على سعة صدرك ، أعتذر عن قطع مجموعة من التصحيحات على التوالي. ربما كان ينبغي أن تكون تلك الإصدارات السابقة.

شكرًا على سعة صدرك ، أعتذر عن قطع مجموعة من التصحيحات على التوالي. ربما كان ينبغي أن تكون تلك الإصدارات السابقة.

شكرًا لك على التفاعل :) أعلم مدى إيلام هذا النوع من المشكلات. حتى أتمكن من ربط :)

الإصدار الصحيح سيكون 9.3.8؟

9.3.9 نأمل - 9.3.8 لا تحتوي على ليب / أدلة. تم التنقيب عن شيء ما حول كيفية تنفيذ النص قبل النشر فقط.

9.3.9 تبدو جيدة من جانبي

martinschayna هل عملت ثانية

sandorfr نعم ، إنه يعمل مع الإصدارات الأقدم من [email protected] و [email protected] مثبتة. لم أجربها حتى الآن مع الإصدارات الأحدث ، لكنني أتطلع إلى إزالة الاختراق القبيح من تكوين بابل: little_smiling_face:

9.3.9 تبدو جيدة من جانبي

تبدو جيدة 💃. سأعرف تمامًا بمجرد اكتمال CI :)

سأخرج حتى يوم 20 - لا تتردد في إعادة فتح هذا إذا استمرت المشكلة. شكر!

هل يمكنك النشر على npm؟ أحدث إصدار متاح هو 9.3.4 اعتبارًا من اليوم https://www.npmjs.com/package/react-dnd

هل يمكنك النشر على npm؟ أحدث إصدار متاح هو 9.3.4 اعتبارًا من اليوم https://www.npmjs.com/package/react-dnd

الإصلاح المعني ينطبق / يؤثر فقط على إصدارات cjs: https://www.npmjs.com/package/react-dnd-cjs

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات