froala / froala-pages

21 stars 10 forks source link

Fix `FroalaPages` dependency import for design blocks #4

Closed iamandrewluca closed 4 years ago

iamandrewluca commented 4 years ago

When using FroalaPages with es modules and some bundler. e.g.

import 'froala-pages/css/froala_pages.min.css'
import FroalaPages from 'froala-pages'
import 'froala-pages/js/pages_design_blocks_pkgd.min'

const pages = new FroalaPages('root', { key: '...' })

An error will be thrown from pages_design_blocks_pkgd.min.js

ERROR in node_modules/froala-pages/js/pages_design_blocks_pkgd.min.js
Module not found: Error: Can't resolve 'FroalaPages' in 'node_modules/froala-pages/js'

This is because generated UMD is wrong:
node_modules/froala-pages/js/pages_design_blocks_pkgd.min.js

/*!
  * Froala Pages v1.1.0 (https://github.com/froala-labs/froala-pages#readme)
  * Copyright 2017-2020 
  * Licensed under Froala Pages Terms (https://www.froala.com/pages/terms)
  */
!function (n, a) {
  'object' == typeof exports && 'undefined' != typeof module
    ? a(require('FroalaPages'))
    : 'function' == typeof define && define.amd
    ? define(['FroalaPages'], a)
    : a(n.FroalaPages)
}(this, function (n) {

In this block a(require('FroalaPages')) and define(['FroalaPages'], a) Should be a(require('froala-pages')) and define(['froala-pages'], a) Because npm package for FroalaPages is froala-pages FroalaPages should be used only for global import

Current I have 2 workarounds