Skip to content
Snippets Groups Projects
Select Git revision
  • fccca2639925a7cfbe17a1f57a26ed2b89d39318
  • mui5-tetras-main-stable default protected
  • mui5-tetras-main-old-stable
  • preprod protected
  • 75-dernieres-ameliorations-avant-workshop-du-7-02
  • wip-fix-xywh
  • wip-positionement-annot
  • wip-surface-transformer
  • uploads-file
  • 69-la-video-demare-quand-on-fait-glisser-le-slider-et-le-clic-creer-un-decalage-entre-le-player
  • 61-recettage-des-outils-d-annotation
  • gestion_multiple_ouverture_pannel_annotation
  • autorisation_un_pannel_annotation
  • autorisation_un_pannel_edition_annotation
  • récupération_temps_video
  • save-shapes-and-position
  • fix-error-create-annotation-pannel
  • time-saving-on-annotation
  • tetras-main protected
  • fix-poc-mirador
  • tetras-antho-test
21 results

nwb.config.js

Blame
  • babel.config.js 1.82 KiB
    /*
     * babel.config.js used to support a UMD built version of Mirador that is
     * compatible with IE11 and Edge.
     */
    
    const moduleFormatMap = {
      cjs: 'commonjs',
      es: false,
    };
    
    // eslint-disable-next-line func-names
    module.exports = function (api) {
      const isDevelopmentEnv = api.env('development');
      const isProductionEnv = api.env('production');
      const isTestEnv = api.env('test');
    
      const presets = [
        isTestEnv && [
          '@babel/preset-env',
          {
            modules: 'commonjs',
            targets: {
              node: 'current',
            },
          },
        ],
        (isProductionEnv || isDevelopmentEnv) && [
          '@babel/preset-env',
          {
            corejs: 3,
            exclude: ['transform-typeof-symbol'],
            forceAllTransforms: true,
            modules: moduleFormatMap[process.env.MODULE_FORMAT] || false,
            useBuiltIns: 'entry',
          },
        ],
        [
          '@babel/preset-react',
          {
            development: isDevelopmentEnv || isTestEnv,
            runtime: 'automatic',
            useBuiltIns: true,
          },
        ],
      ].filter(Boolean);
    
      const plugins = [
        'babel-plugin-macros',
        '@babel/plugin-transform-destructuring',
        ['@babel/plugin-proposal-private-methods', { loose: true }],
        ['@babel/plugin-proposal-private-property-in-object', { loose: true }],
        ['@babel/plugin-proposal-class-properties', { loose: true }],
        ['@babel/plugin-proposal-object-rest-spread', { useBuiltIns: true }],
        [
          '@babel/plugin-transform-runtime',
          {
            corejs: false,
            helpers: false, // Needed to support IE/Edge
            regenerator: true,
          },
        ],
        ['@babel/plugin-transform-regenerator', { async: false }],
        ['transform-react-remove-prop-types', { ignoreFilenames: ['node_modules'], removeImport: true }],
        ['lodash', { id: ['lodash'] }],
      ].filter(Boolean);
    
      return {
        plugins,
        presets,
      };
    };