Можно ли в ES6 объединить классы в пространства имён?
Но всё это сидит в общем объекте, который играет роль пространства имен. Очень понятно, наглядно, удобно.
И делают так потому что модулей нет. В ES6 модули есть и нет смысла более делать подобные кастыли. Сравните:import L from 'leaflet';

var m = new L.Map();

// и
import {Map} from 'leaflet';

var m = new Map();
в целом вам никто не запрещает так делать. Как никак это все всего-лишь обертка над Object.create и старыми добрыми конструкторами.
А что мешает сделать вот так?// MyLib.js
export class Dedka {}
export class Repka extends Dedka {}

// клиентский код
import MyLib from './lib/MyLib';

const a = new MyLib.Dedka();
const c = new MyLib.Repka();
Другое дело, что смысла в этом, при возможности написать import {Dedka, Koshka as Zhoochka} from './lib/MyLib'; ни на грош. Сергей Протько абсолютно прав, все эти псевдо-«пространства имен» исключительно от отсутствия нормальной модульной системы.