Commit c79ca697 authored by Daniel Caillibaud's avatar Daniel Caillibaud

polyfill ajouté dans la conf webpack

parent 88e88799
// inclusion des polyfills
// cf rmq dans app/client/page/index.js
import 'core-js/stable'
import 'regenerator-runtime/runtime'
import 'whatwg-fetch'
import {createElement} from 'react'
......
......@@ -30,17 +30,7 @@
*/
'use strict'
// On ajoutait les @babel/polyfill via ce fichier et non directement dans les entries de webpack.
// C'était le seul moyen pour qu'il soit pris en compte par babel-env-preset 'useBuiltIns' option
// (qui filtrait pour n'inclure que les polyfills nécessaires pour les browsers ciblés.)
// depuis babel 7.4, y'a plus de @babel/polyfill,
// on utilise directement core-js qui s'occupe d'ajouter les polyfill nécessaires,
// cf https://www.thebasement.be/updating-to-babel-7.4/
// https://babeljs.io/blog/2019/03/19/7.4.0
// avec useBuiltIns: "usage" faut pas ces deux lignes (seulement avec entry)
require('core-js/stable')
require('regenerator-runtime/runtime')
// les polyfill sont ajoutés par webpack
const dom = require('sesajstools/dom')
const log = require('sesajstools/utils/log')
const sjtUrl = require('sesajstools/http/url')
......
/**
* This file is part of Sesatheque.
* Copyright 2014-2015, Association Sésamath
*
* Sesatheque is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License version 3
* as published by the Free Software Foundation.
*
* Sesatheque is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with SesaReactComponent (LICENCE.txt).
* @see http://www.gnu.org/licenses/agpl.txt
*
*
* Ce fichier fait partie de SesaReactComponent, créée par l'association Sésamath.
*
* Sesatheque est un logiciel libre ; vous pouvez le redistribuer ou le modifier suivant
* les termes de la GNU Affero General Public License version 3 telle que publiée par la
* Free Software Foundation.
* Sesatheque est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE,
* sans même la garantie tacite de QUALITÉ MARCHANDE ou d'ADÉQUATION à UN BUT PARTICULIER.
* Consultez la GNU Affero General Public License pour plus de détails.
* Vous devez avoir reçu une copie de la GNU General Public License en même temps que SesaQcm
* (cf LICENCE.txt et http://vvlibri.org/fr/Analyse/gnu-affero-general-public-license-v3-analyse
* pour une explication en français)
*/
'use strict'
// On ajoutait les @babel/polyfill dans app/client-react/index.js et app/client/page/index.js
// et non directement dans les entries de webpack.
// C'était le seul moyen pour qu'il soit pris en compte par babel-env-preset 'useBuiltIns' option
// (qui filtrait pour n'inclure que les polyfills nécessaires pour les browsers ciblés.)
// depuis babel 7.4, y'a plus de @babel/polyfill,
// on utilise directement core-js qui s'occupe d'ajouter les polyfill nécessaires,
// cf https://www.thebasement.be/updating-to-babel-7.4/
// https://babeljs.io/blog/2019/03/19/7.4.0
import 'core-js/stable'
// lui ne serait nécessaire que si on utilisait des générateurs
// import 'regenerator-runtime/runtime'
......@@ -101,6 +101,7 @@
"an-uuid": "git://src.sesamath.net/an-uuid#1.0.6",
"body-parser": "^1.18.2",
"connected-react-router": "5.0.1",
"core-js": "^3.2.1",
"elementtree": "^0.1.7",
"express": "^4.16.2",
"glob": "^7.1.4",
......@@ -130,7 +131,6 @@
"redux": "4.0.1",
"redux-form": "7.4.2",
"redux-thunk": "2.3.0",
"regenerator-runtime": "^0.13.2",
"request": "^2.88.0",
"roboto-fontface": "^0.10.0",
"sesajstools": "git+https://framagit.org/Sesamath/sesajstools.git",
......@@ -157,7 +157,6 @@
"chai-as-promised": "^7.1.1",
"clean-webpack-plugin": "^3.0.0",
"copy-webpack-plugin": "^5.0.3",
"core-js": "^3.2.1",
"css-loader": "^3.0.0",
"enzyme": "^3.6.0",
"enzyme-adapter-react-16": "^1.5.0",
......
......@@ -93,12 +93,12 @@ const conf = {
// cf https://github.com/webpack/docs/wiki/configuration#entry
entry: {
...entries,
react: './app/client-react/index.js',
react: ['./app/polyfill.js', './app/client-react/index.js'],
// pour les html en iframe
bugsnag: './app/client/page/bugsnag.js',
// liste des fichiers connus qui utilisent ça :
// fichiers connus qui utilisent ça :
// https://ressources.sesamath.net/coll/lecteur/voir_j3p.php
display: './app/client/display/index.js',
display: ['./app/polyfill.js', './app/client/display/index.js'],
// qui utilise ça ?
import: './app/client/edit/import.js',
// utilisé par editgraphe.html (plugin j3p)
......@@ -143,11 +143,11 @@ const conf = {
jquery: path.resolve(__dirname, 'node_modules/jquery'),
// sans ces alias webpack plante sur les plugins en pnpm link
'prop-types': path.resolve(__dirname, 'node_modules/prop-types'),
'react': path.resolve(__dirname, 'node_modules/react'),
react: path.resolve(__dirname, 'node_modules/react'),
'react-dom': path.resolve(__dirname, 'node_modules/react-dom'),
'react-hot-loader': path.resolve(__dirname, 'node_modules/react-hot-loader'),
'react-redux': path.resolve(__dirname, 'node_modules/react-redux'),
'redux': path.resolve(__dirname, 'node_modules/redux'),
redux: path.resolve(__dirname, 'node_modules/redux'),
'redux-form': path.resolve(__dirname, 'node_modules/redux-form'),
'redux-thunk': path.resolve(__dirname, 'node_modules/redux-thunk'),
'core-js': path.resolve(__dirname, 'node_modules/core-js'),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment