Gatsby: قم بترقية حزمة core-js إلى الإصدار 3

تم إنشاؤها على ١٠ يوليو ٢٠١٩  ·  56تعليقات  ·  مصدر: gatsbyjs/gatsby

ملخص

تم إهمال الإصدار 2 من core-js ، نود أن نكون قادرين على استخدام الإصدار 3 من Core-js مع gatsby

التحفيز

لا أحد يحب استخدام الحزم المهملة ، حتى وثائق React تُظهر الكود الذي يستخدم core-js @ 3 (والمشار إليه في وثائق gatsby )

مشكلة

إنه تغيير جذري وسيحتاج إلى تدخل يدوي من جميع المشرفين على الموقع الذين يستخدمون core-js @ 2 لترحيل وارداتهم إلى الإصدار 3

كور- js @ 2

import 'core-js/modules/es6.set';
import 'core-js/modules/es6.map';

كور- js @ 3

import 'core-js/es/map';
import 'core-js/es/set';

إذا كنا لا نريد هذا

إذا لم نكن مستعدين للترحيل ، فيجب علينا تضمين ملاحظة في الوثائق حول كيفية إضافة core-js @ 2 polyfills بدلاً من إعادة توجيه المستخدم إلى التوثيق المتفاعل.
https://www.gatsbyjs.org/docs/browser-support/#note -about-ie - 11

أخيرا

سأكون مهتمًا بالعمل على هذا إذا كان على ما يرام.

breaking change webpacbabel

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

سأعمل على هذا ، هذا الأسبوع والأسبوع المقبل. سأبقي لكم جميعا على اطلاع.

ال 56 كومينتر

المشكلة ذات الصلة: https://github.com/gatsbyjs/gatsby/issues/12744

نأسف لذلك ، يعمل core-js @ 3 بالفعل مع أحدث إصدار من gatsby. اختبرنا مع نسخة قديمة.

إليك دقة الغزل الحالية فقط لـ [email protected] ومكونات Gatsby الأخرى التي تم تحديثها إلى وحدات npm الحالية بما في ذلك "babel-preset-gatsby": "^0.2.1",
سيكون
"resolutions": { "core-js": "3", "lodash": "^4.17.11", "graphql": "14.1.1" },

وبعد ذلك يجب عليك استخدام أحدث إصلاحات snyk لـ Lodash و [email protected] الوحدة النمطية الضعيفة:

لقد قمت بالتحقيق في المزيد ، ولا يزال من غير الممكن استخدام core-js @ 3 مع gatsby. حتى لو تمكنا بالفعل من تثبيته ، فسيكون core-js @ 2 هو الذي تم تجميعه في التطبيق.

هنا استنساخ

يوجد هنا موقع gatsby جديد مثبت عليه core-js @ 3 :
https://github.com/abumalick/gastby-polyfill-test/blob/master/package.json#L8

أطبع نسخة core-js من package.json في الصفحة الرئيسية هنا: https://github.com/abumalick/gastby-polyfill-test/blob/master/src/pages/index.js#L14

ويمكنك مشاهدة النتيجة المنشورة:
https://gastby-polyfill-test.netlify.com/
image

أيضًا عندما نستورد polyfill ، نستخدم الواردات القديمة من core-js @ 2
https://github.com/abumalick/gastby-polyfill-test/blob/master/gatsby-browser.js#L4

أفترض أنه بسبب تكوين بابل غاتسبي ، لقد اختبرت فقط مع الغزل.
https://github.com/gatsbyjs/gatsby/blob/master/packages/babel-preset-gatsby/src/dependencies.js#L25

هل يمكننا البدء في العمل على ترقية؟

نفس المشكلة بالنسبة لي ، لدينا [email protected] على node_modules:

{
  "name": "core-js",
  "description": "Standard library",
  "version": "3.1.4",
  "repository": {
    "type": "git",
    "url": "https://github.com/zloirock/core-js.git"
  },
  "main": "index.js",
  "license": "MIT",
  ...
}

ولكن عندما أحاول طباعة الإصدار الحالي من core-js أحصل على [email protected] :

image

+1

هذا السطر https://github.com/gatsbyjs/gatsby/blob/2616e379b157a0693ed8b34afc177027a58ad413/packages/gatsby/src/utils/webpack.config.js#L379 يمنعنا من التبديل إلى core-js. تم ذلك للتأكد من أننا نجمعها مرة واحدة فقط. ربما يمكننا إعادة النظر عندما هبطت المباني الحديثة رقم 14289.

فاتني تعليقك wardpeet . شكرا لك على ملاحظاتك. آمل أن تتمكن من دمج هذا العلاقات العامة قريبًا!

نحن الآن نتتبع تحديثات التبعية في https://github.com/gatsbyjs/gatsby/issues/16840 والتي تتضمن core-js v3 لذلك أقوم بإغلاق هذه المشكلة في الوقت الحالي

لا يزال يتعين علينا البحث في كيفية حل هذا بشكل صحيح.

لا تكمن المشكلة هنا في أن إصدار core-js يحتاج إلى ترقية ولكن بدلاً من ذلك ، فإن التعرّف الداخلي يفرض التبعيات على دقة وحدة واحدة.

إذا قمت بالترقية إلى core-js @ 3 فسوف تكسر كل تبعية تعتمد على core-js @ 2. لأن المسارات مختلفة تمامًا. مرت Storybook بنفس المشكلة بالضبط عند محاولة تقليل العدد أو مثيلات core-js المجمعة. في الواقع ، يبلغ إجمالي Core-js v2 + v3 60 كيلوبايت (مصغر + مضغوط). انها حقا لا تستحق التحسين.

بالنسبة لأولئك الذين يبحثون عن حل بديل ، فقد اخترقنا تهيئة حزمة الويب داخليًا عبر ما يلي:

module.exports = {
  ...
  onCreateWebpackConfig: params => {
    ...
    const webpackConfig = params.getConfig();
    delete webpackConfig.resolve.alias['core-js'];
    params.actions.replaceWebpackConfig(webpackConfig);
  }
};

يبدو أن Storybook يستخدم

أهلا،
أنا مشرف على مكون إضافي يسمى نجمعه مع core-js v3.
هل يعرف أي شخص حلًا بديلًا يمكنني تطبيقه على الكود بحيث يكون قابلاً للاستخدام في Gatsby؟ أو على الأقل حل بديل لجعلهم يعملون معًا حتى لو كان يحتاج إلى إعداد إضافي للمستخدم؟

شكرا. المرجع # 345

+1

بالنسبة لأولئك الذين يبحثون عن حل بديل ، فقد اخترقنا تهيئة حزمة الويب داخليًا عبر ما يلي:

module.exports = {
  ...
  onCreateWebpackConfig: params => {
    ...
    const webpackConfig = params.getConfig();
    delete webpackConfig.resolve.alias['core-js'];
    params.actions.replaceWebpackConfig(webpackConfig);
  }
};

قم أيضًا بتضمين هذا عند حذف الاسم المستعار:

webpackConfig.resolve.modules = [
  path.resolve(__dirname, 'node_modules/gatsby/node_modules'), // for Gatsby's core-js<strong i="10">@2</strong>
  'node_modules' // your modules w/ core-js<strong i="11">@3</strong>
];

بالكاد يمكنني معرفة سبب عدم تعبئة Object.fromEntries ، ولكن اتضح أن السبب كان يكمن في التغيير في core-js v2 -> v3. بعد التنقل عبر قاعدة بيانات Gatsby ، وجدت هذا الخط وقادني إلى هنا.

أود الاستفسار عن حالة هذه المشكلة ، حيث يوجد المزيد والمزيد من الميزات في الطريق نحو ES2019 +. شكرا للغوص في كل التفاصيل أعلاه!

في غضون ذلك ، أود أن أقترح توثيق استخدام إصدار core-js المتوقف مع قائمة صريحة بميزات لغة المرحلة 4 غير المعبأة.

إذا كان شخص ما يحاول استخدام مساحات عمل الغزل والقيام بذلك باستخدام monorepo ، فأنت بحاجة إلى التأكد من تثبيت core-js@3 على الجذر node_modules وعدم تثبيته في دليل متداخل ، والطريقة الوحيدة للتأكد من أن ذلك سيضيف إلى الجذر الخاص بك package.json تبعية لـ core-js@3 .

بعد ذلك ، يجب أن تحصل على شيء من هذا القبيل:

- node_modules
    - core-js (v3)
    - gatsby
        - core-js (v2)

وعليك gatsby-node.js أن تفعل هذا:

يجب أن يكون هذا الملف أسفل مساحة العمل الخاصة بك ، مثل ./packages/my-project

  const webpackConfig = getConfig()
  delete webpackConfig.resolve.alias['core-js'];

  webpackConfig.resolve.modules = [
    path.resolve(__dirname, '../../node_modules/gatsby/node_modules'),
    path.resolve(__dirname, './node_modules'),
    'node_modules'
  ]
  actions.replaceWebpackConfig(webpackConfig)

مبتدئ كلي لـ Gatsby وقد لاحظت هذه المشكلة عندما قمت بتثبيت cli. لغرض التعلم ، أعتقد أنه من الجيد التمسك بـ core-js الأقدم الآن ولكني أشعر بالفضول أيضًا إذا كانت هذه الترقية ستحدث في أي وقت قريب. بالنسبة لمشاريع الحياة الواقعية المستقبلية ، أود استخدام إصدار محدث.

تواجه هذه المشكلة هنا أيضًا ، تحاول استخدام مكتبة form.io React.

في الواقع ، يبلغ إجمالي Core-js v2 + v3 60 كيلوبايت (مصغر + مضغوط). انها حقا لا تستحق التحسين.

المشكلة الحقيقية هي أنه لا يمكن استخدام العديد من المكتبات مع Gatsby دون فهم تكوينات webpack الأساسية وحلول Gatsby لإصلاحها. Redoc هي مكتبة أخرى لن تعمل (# 17136).

يعطي core-js@2 أيضًا تحذيرًا ، ويوصي بـ @3 بسبب "مقدار المشكلات" الموجودة. من المرجح أن يزداد هذا الأمر سوءًا.

يعمل هذا الحل البديل مع npm install core-js للحصول على الإصدار @ 3 .
استخراجه للمساعدة قبل حل Gatsby.

واجهت نفس المشكلة في نقل SPA كبيرة من تهيئة webpack المخصصة إلى Gatsby. أحتاج إلى ميزات corejs @ 3 نظرًا لأن التعليمات البرمجية تعتمد عليها بشكل كبير.

بعد تثبيت corejs @ 3 ، قمت بتصحيح تكوين babel في babel.config.js لاستخدام corejs: 3 في babel-preset-gatsby

// babel.config.js
const presetGatsby = require('babel-preset-gatsby');

module.exports = function(api) {
    const gatsbyBabel = presetGatsby();
    gatsbyBabel.presets[0][1].corejs = 3;

    return gatsbyBabel;
};

وأزلت الاسم المستعار في تهيئة webpack

// gatsby-node.js

exports.onCreateWebpackConfig = function onCreateWebpackConfig({ actions, getConfig, stage }) {
    const config = getConfig();
    delete config.resolve.alias['core-js'];
    actions.replaceWebpackConfig(config);
}

تطوير عمليات التشغيل وبناء SSR ، لكنني لم أختبره بشكل مكثف حتى الآن. هل يرى أي شخص أي خلل في هذا النهج؟

تعديل

هذا يتوقف عن العمل بالنسبة لي ، البناء غير قادر على حل الحشوات حتى لو كانت موجودة. لا يزال تكوين حزمة الويب Gatsby سحريًا بالنسبة لي ، لذا لا يمكنني العثور على السبب. ببساطة

هذا لا يعمل

تضمين التغريدة

جربت طريقتك ولكن هذا ما أحصل عليه عند استخدام gatsby develop أو gatsby build
"" خطأ # 98123 حزمة الويب

فشل إنشاء حزمة SSR

تم ترك التخزين المؤقت بدون تكوين. يمكن تكوين ملحقات Babel ، والإعدادات المسبقة ، وملفات .babelrc.js
لأنواع مختلفة من التخزين المؤقت ، باستخدام المعلمة الأولى لوظائف المعالج:

module.exports = function (api) {
// يكشف API ما يلي:

// تخزين القيمة التي تم إرجاعها إلى الأبد وعدم استدعاء هذه الوظيفة مرة أخرى.
api.cache (صحيح) ؛

// لا تقم بالتخزين المؤقت على الإطلاق. لا ينصح به لأنه سيكون بطيئًا جدًا.
api.cache (خطأ) ؛

// مخبأة بناءً على قيمة بعض الوظائف. إذا كانت هذه الدالة ترجع قيمة مختلفة عن
// قيمة تمت مواجهتها سابقًا ، ستتم إعادة تقييم المكونات الإضافية.
var env = api.cache (() => process.env.NODE_ENV) ،

// في حالة اختبار بيئة معينة ، نوصي بالتفاصيل لتجنب إنشاء مكون إضافي لـ
// أي قيمة NODE_ENV محتملة قد تظهر أثناء تنفيذ البرنامج المساعد.
var isProd = api.cache (() => process.env.NODE_ENV === "إنتاج") ؛

// .cache (fn) سيجري بحثًا خطيًا من خلال المثيلات للعثور على المكون الإضافي المطابق
// استنادًا إلى المكونات الإضافية التي تم إنشاؤها مسبقًا. إذا كنت تريد إعادة إنشاء المكون الإضافي وتجاهل ملف
// المثيل السابق عندما يتغير شيء ما ، يمكنك استخدام:
var isProd = api.cache.invalidate (() => process.env.NODE_ENV === "إنتاج") ؛

// ملاحظة ، نكشف أيضًا عن الإصدارات الأكثر تفصيلاً التالية من الأمثلة المذكورة أعلاه:
api.cache.forever () ؛ // api.cache (صحيح)
api.cache.never () ، // api.cache (خطأ)
api.cache.using (fn) ؛ // api.cache (fn)

// إرجاع القيمة التي سيتم تخزينها مؤقتًا.
إرجاع { }؛
} ؛

الملف: .cache / developer-static-entry.js

كذلك هنا

بدء تلقي بعض التحذيرات المخيفة هنا ، لا شيء حاسم ، ولكن هذه البطاقة قد تحتاج إلى مزيد من الاهتمام.

warning gatsby > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby > @babel/polyfill > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby > gatsby-cli > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby > @reach/router > create-react-context > fbjs > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby > gatsby-cli > yurnalist > babel-runtime > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/custom > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/types > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/types > @jimp/bmp > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/types > @jimp/gif > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/custom > @jimp/core > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/types > @jimp/jpeg > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/types > @jimp/tiff > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/types > @jimp/png > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-blur > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-crop > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-color > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-contain > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-displace > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-blit > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-dither > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-flip > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-gaussian > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-mask > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-cover > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-invert > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-normalize > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-resize > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-rotate > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-scale > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/plugins > @jimp/plugin-print > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning gatsby-plugin-sharp > potrace > jimp > @jimp/types > @jimp/bmp > @jimp/utils > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning react-bootstrap > [email protected]: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
warning react-bootstrap > react-overlays > [email protected]: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1

لا يزال يتم تلقي تحذيرات بشأن core-js ...

تحذير gatsby> [email protected] : لم يعد يتم صيانة core-js @ <3 ولا يوصى باستخدامه بسبب n
عدد من القضايا. من فضلك ، قم بترقية تبعياتك إلى الإصدار الفعلي من core-js @ 3.
تحذير gatsby> @ babel / polyfill >
الاستخدام بسبب عدد المشكلات. من فضلك ، قم بترقية تبعياتك إلى الإصدار الفعلي من core-js @ 3.
تحذير gatsby> gatsby- cli >
بسبب عدد من القضايا. من فضلك ، قم بترقية تبعياتك إلى الإصدار الفعلي من core-js @ 3.
تحذير gatsby>each / router> create-response-Context> fbjs >
ed ولا يوصى باستخدامه نظرًا لعدد المشكلات. من فضلك ، قم بترقية تبعياتك إلى الواقع
نسخة من core-js @ 3.
تحذير gatsby> gatsby-cli> yurnalist> babel-runtime> [email protected] : لم يعد يتم الاحتفاظ بـ core-js @ <3
nd غير مستحسن للاستخدام نظرًا لعدد المشكلات. من فضلك ، قم بترقية تبعياتك إلى المعادلة الفعلية
أيون النواة js @ 3.

يبدو أنني جعلته يعمل في مشروعي. كانت هذه المشكلة تتسبب فقط في فشل إحدى الوحدات (إعادة التخطيط) الخاصة بي في وقت الإنشاء.

ما بدا أنه إصلاحه من طرفي هو القيام بما يلي:
yarn add core-js - لتثبيت أحدث إصدار من core-js @ v3 +

استبدال gatsby-node.js بـ:

const path = require("path")

exports.onCreateWebpackConfig = ({ actions, getConfig, stage }) => {
  const config = getConfig()

  const coreJs2config = config.resolve.alias["core-js"]
  delete config.resolve.alias["core-js"]
  config.resolve.alias[`core-js/modules`] = `${coreJs2config}/modules`
  try {
    config.resolve.alias[`core-js/es`] = path.dirname(
      require.resolve("core-js/es")
    )
  } catch (err) {}
  actions.replaceWebpackConfig(config)
}

قد لا يعمل هذا مع أي شخص آخر ولكنه نجح بالنسبة لي.

شكرا لما ورد أعلاه ryparker . تم تصميم الإصلاح الخاص بك بالنسبة لي ، وهو خطوة متقدمة على بعض التصحيحات الأخرى ، في تجربتي. ولكن بمجرد أن أحاول إضافة مكتبة رد فعل فورميو ، أحصل على هذه الأخطاء مرة أخرى:

Generating development JavaScript bundle failed

Can't resolve 'core-js/modules/web.dom-collections.iterator' in '/Users/aaroncampos/Projects/gatsby/project/node_modules/formiojs/widgets'

File: node_modules/formiojs/widgets/InputWidget.js

فقط أبلغ عن هذا في حال كان مفيدًا لأي شخص.

const enableCoreJs3 = config => {
  const coreJs2config = config.resolve.alias['core-js'];
  delete config.resolve.alias['core-js'];
  config.resolve.alias[`core-js/modules`] = `${coreJs2config}/modules`;
  try {
    config.resolve.alias[`core-js/es`] = path.dirname(require.resolve('core-js/es'));
  } catch (err) {
    // ignore-error, core-js3 isn't available in the current directory
  }

  return config;
};

exports.onCreateWebpackConfig = ({ actions, stage, getConfig }) => {
  const config = getConfig();

  actions.replaceWebpackConfig(enableCoreJs3(config));
};

يعمل هذا مع مستخدمي core-js و core-js3

أود الإبلاغ عن تثبيت جديد gatsby-cli باستخدام yarn global add gatsby-cli يصدر تحذيرًا مشابهًا. تظهر نظرة سريعة هنا أن gatsby-cli لا يزال يعتمد على "core-js": "^2.6.11" . هل هناك أي طريقة يمكننا من خلالها ترقية gatsby-cli على الأقل؟

هل هناك علاقات عامة نتتبع فيها هذه المشكلة؟ وأود أن مساعدة!

تحرير: إصلاح الرابط الثابت ببيان gatsby-cli .

wardpeet ، PR # 14289 مغلق وقد ذكرت أنك ستفعل ذلك في أجزاء أصغر. هل يمكنك إخبارنا إذا كان هناك أي تحديثات عليه؟ لدي إعداد بيئة تطوير محلية وسأكون سعيدًا بالمساعدة!

هل يمكننا أن نتفق جميعًا على أن الكثير من التبعيات هي المشكلة هنا؟ هذه القضية عمرها أكثر من عام. لا يمكن إخفاء ذلك بمجرد نقله إلى رقم جديد. يا لها من فوضى هذا الإطار. مسرور لأنهم حصلوا على 16 ميل لتسويق هذه الكومة المشتعلة.

lawwantsin أخشى أن تعليقاتك لا تساعد في الموقف. سيكون رائعًا إذا تمكنا جميعًا من اتباع مدونة السلوك وإيجاد طريقة لحل المشكلة.

بالنسبة للمبتدئين ، هل يمكنك من فضلك إخبارنا كم عدد التبعيات لهذا المشروع؟ كيف يمكننا تقليلها؟ هل من الممكن أن نناقش رسمًا تقريبيًا حول كيفية المضي قدمًا في تقليل التبعيات ، لذا ربما يمكننا إنشاء مشكلات / علاقات عامة منفصلة والبدء في تنفيذها؟

أنا متأكد من أن المطورين الأساسيين (أي أولئك الذين لديهم حق الوصول للكتابة) يبذلون قصارى جهدهم لتحسين الوضع ويمكننا مساعدتهم عن طريق إرسال التصحيحات وتقديم النقد البناء.

مرحبًا بالجميع - أقوم بتقييم Gatsby في الوقت الحالي لمشروع جديد أعمل عليه. بعد رؤية رسالة التحذير هذه وقراءة سلسلة الرسائل هذه ، أشعر بالقلق بشأن حجم المشكلة التي قد تصبح هذه المشكلة بالنسبة لي. أتوقع أن الإجابة هي "هذا يعتمد على المكتبات الأخرى التي تريد استخدامها". لكني متردد في بدء العمل على إطار عمل قد يمنعني من استخدام المكتبات الشعبية التي قد أقرر استخدامها لاحقًا. إلى أي مدى يجب أن أكون قلقًا بشأن هذا؟ شكرا لك مقدما.

عفوًا ، آسف لخطئي ، لم أكن أعلم أن مشكلة الإحالة من تأثيرات المستودع الأخرى إلى مصدرها.

أعتقد أن هذه المسألة مهمة للغاية. جوهر. js @ 2 قديم ولن تعمل جميع واجهة برمجة تطبيقات ECMAScript الجديدة اللامعة في المتصفحات القديمة. أشياء مثل Array.prototype.flat ، Array.prototype.flatMap أو URLSearchParams قد يكسر الكائن صفحتك بصمت للزوار الذين يستخدمون IE11 ، لأنه لا يوجد تحذير بأنك تستخدم ميزة غير معبأة في ، هذه واجهات برمجة التطبيقات ليست شائعة جدًا ولكنها قد تجلب لك مفاجأة قبيحة في وقت ما قريبًا.

متفق عليه - هذا يحتاج إلى حل في أسرع وقت ممكن! لقد جربت جميع إصلاحات إزالة / إعادة تعيين الاسم المستعار المقترحة أعلاه ولا يبدو أنني تجاوزت أخطاء حزمة الويب Can't resolve 'core-js/modules/* هذه (تتعارض مع core-js@3 في كتاب القصة).

هذا يمنعني تمامًا حاليًا من استخدام gatsby / docz مع مشروع كتاب قصص موجود.

wardpeet /

سيكون من المفيد أيضًا أن تعطيني / مؤشرات الآخرين حول كيفية التعامل مع حل المشكلة وسأكون سعيدًا بإنشاء علاقات عامة. إن وجود مثل هذا العلاقات العامة الذي يهدف إلى حل هذه المشكلة سيسمح للناس برؤية أن المشكلة قيد العمل وما هو التقدم المحرز في هذه القضية. (بافتراض عدم وجود مثل هذا العلاقات العامة بالفعل).

أهلا. أستخدم التبعية لجهة خارجية في مشروعي الذي يحتوي على core-js 3. لقد جربت جميع الحلول من سلسلة الرسائل هذه وما زالت لا تعمل. هل هناك أي تحديثات بشأن هذه القضية؟

هل يمكن لأحد أن يحل هذا بطريقة لطيفة جدًا وأنيقة من فضلك أنا عالق هنا تعال

wardpeetLekoArtsKyleAMathews يمكنني العمل على ذلك إذا كنت لا بأس بها، ولكن سوف تحتاج الى بعض المساعدة منك أن تعطيني الاتجاهات والإجابة على أسئلتي.

تضمين التغريدة ما هي الأسئلة التي لديك؟

لا يمكنني إنشاء مشروع جديد يجب أن أقوم بتحديثه إلى core-js 3

يؤدي هذا إلى حظر العديد من المكتبات التي تعتمد على core-js 3. يمكن محاولة استخدام @amcharts/amcharts4 لتكرار المشكلة. لقد أصبح مانعًا كبيرًا للتنمية في الوقت الحالي.

يا رفاق ، هذا هو نظام التشغيل ، يمكنك عمل العلاقات العامة.

نعم ، هذا مفتوح المصدر ، وهذه المشكلة عبارة عن تغيير جذري في الإصدار الرئيسي التالي. أنا شخصياً لا أبدأ العمل على شيء كهذا دون أي ملاحظات من المشرفين.

هناك طريقة أخرى لاستخدام core-js v3 في Gatby 2 وهي تغيير babel-preset-gatsby

(hacky) babel.config.js:

const gatsbyPreset = require('babel-preset-gatsby')

const data = gatsbyPreset()

data.presets = data.presets.map((presetData) => {
  if (presetData[1].corejs && presetData[1].corejs === 2) {
    presetData[1].corejs = 3
  }
  return presetData
})

module.exports = {
  presets: [data],
}

ملاحظة: هذا يعمل لحدة حافة لدي لإنشاء ملف مستفيدا التكوين باستخدام غاتسبي والموضوع-UI، أنا لا يستخدمونه (حتى الآن) لصفحتي غاتسبي الفعلية.

إذا اتضح أن زيادة إصدار core-js إلى 3 في إعداد babel المسبق كافٍ للعديد من الأشخاص ، فيمكننا إضافة هذا كخيار للإعداد المسبق نفسه حتى ننتقل أخيرًا بالكامل إلى core-js v3: https: // github .com / gatsbyjs / gatsby / tree / master /packs / babel-preset-gatsby # options

أي أخبار عن هذا؟

سأعمل على هذا ، هذا الأسبوع والأسبوع المقبل. سأبقي لكم جميعا على اطلاع.

شكرا wardpeet :)

لا أريد أن أشير إلى أن هذه مشكلة عند محاولة التكامل مع Storybook 6 beta في إعداد Gatsby Typescript الخاص بي. شكرًا على أخذك هذا على

شكرًا wardpeet نتطلع إلى العلاقات العامة ضد هذه المشكلة. سيكون سعيدًا للاختبار والمساهمة في العلاقات العامة.

شكرًا wardpeet ، نقدر الجهد 👍

مرحبًا ، آسف متأخرًا للانضمام إلى هذا الموضوع. مجرد فضول ، ما هي الموانع الرئيسية الآن لتنفيذ هذا بالكامل؟ (تعثرت في هذا الموضوع عند محاولة استخدام أحدث مكتبة amcharts4 في تطبيق Gatsby الخاص بي وواجهت مشكلات)

العلاقات العامة مرتفعة لذا يجب أن تكون في غضون أيام قليلة

مجرد ملاحظة أنه تم إرجاع # 25158 بـ # 25474

في انتظار هذه التغييرات القادمة ، قد يكون من الجيد إعادة فتح هذه المشكلة.

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

القضايا ذات الصلة

ghost picture ghost  ·  3تعليقات

kalinchernev picture kalinchernev  ·  3تعليقات

dustinhorton picture dustinhorton  ·  3تعليقات

hobochild picture hobochild  ·  3تعليقات

timbrandin picture timbrandin  ·  3تعليقات