feat: provide usable UMD builds for all packages (#2141)
This commit is contained in:
committed by
Shawn Erquhart
parent
1d935c704d
commit
82cc7941cc
@ -21,7 +21,12 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@emotion/core": "^10.0.9",
|
||||
"@emotion/styled": "^10.0.9",
|
||||
"create-react-class": "^15.6.0",
|
||||
"immutable": "^3.7.6",
|
||||
"lodash": "^4.17.11",
|
||||
"moment": "^2.24.0",
|
||||
"netlify-cms-backend-bitbucket": "^2.1.3-beta.0",
|
||||
"netlify-cms-backend-git-gateway": "^2.2.5-beta.0",
|
||||
"netlify-cms-backend-github": "^2.2.3-beta.0",
|
||||
@ -29,6 +34,7 @@
|
||||
"netlify-cms-backend-test": "^2.0.7-beta.0",
|
||||
"netlify-cms-core": "^2.8.1-beta.0",
|
||||
"netlify-cms-editor-component-image": "^2.2.1-beta.0",
|
||||
"netlify-cms-media-library-cloudinary": "^1.1.3-beta.0",
|
||||
"netlify-cms-media-library-uploadcare": "^0.3.5-beta.0",
|
||||
"netlify-cms-widget-boolean": "^2.0.6-beta.0",
|
||||
"netlify-cms-widget-date": "^2.1.1-beta.0",
|
||||
@ -43,14 +49,10 @@
|
||||
"netlify-cms-widget-relation": "^2.1.3-beta.0",
|
||||
"netlify-cms-widget-select": "^2.2.1-beta.0",
|
||||
"netlify-cms-widget-string": "^2.0.5-beta.0",
|
||||
"netlify-cms-widget-text": "^2.0.7-beta.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"copy-webpack-plugin": "^5.0.1",
|
||||
"cross-env": "^5.2.0",
|
||||
"friendly-errors-webpack-plugin": "^1.7.0",
|
||||
"webpack": "^4.29.6",
|
||||
"webpack-cli": "^3.2.3",
|
||||
"webpack-dev-server": "^3.2.1"
|
||||
"netlify-cms-widget-text": "^2.0.7-beta.0",
|
||||
"prop-types": "^15.7.2",
|
||||
"react-immutable-proptypes": "^2.1.0",
|
||||
"react": "^16.8.4",
|
||||
"react-dom": "^16.8.4"
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +1,12 @@
|
||||
import cms from 'netlify-cms-core/src';
|
||||
import { GitHubBackend } from 'netlify-cms-backend-github/src';
|
||||
import { GitLabBackend } from 'netlify-cms-backend-gitlab/src';
|
||||
import { GitGatewayBackend } from 'netlify-cms-backend-git-gateway/src';
|
||||
import { BitbucketBackend } from 'netlify-cms-backend-bitbucket/src';
|
||||
import { TestBackend } from 'netlify-cms-backend-test/src';
|
||||
import { registerBackend } from 'netlify-cms-core/src';
|
||||
import { Control as NetlifyCmsBackendGithub } from 'netlify-cms-backend-github/src';
|
||||
import { Control as NetlifyCmsBackendGitlab } from 'netlify-cms-backend-gitlab/src';
|
||||
import { Control as NetlifyCmsBackendGitGateway } from 'netlify-cms-backend-git-gateway/src';
|
||||
import { Control as NetlifyCmsBackendBitbucket } from 'netlify-cms-backend-bitbucket/src';
|
||||
import { Control as NetlifyCmsBackendTest } from 'netlify-cms-backend-test/src';
|
||||
|
||||
const { registerBackend } = cms;
|
||||
|
||||
registerBackend('git-gateway', GitGatewayBackend);
|
||||
registerBackend('github', GitHubBackend);
|
||||
registerBackend('gitlab', GitLabBackend);
|
||||
registerBackend('bitbucket', BitbucketBackend);
|
||||
registerBackend('test-repo', TestBackend);
|
||||
registerBackend('git-gateway', NetlifyCmsBackendGitGateway);
|
||||
registerBackend('github', NetlifyCmsBackendGithub);
|
||||
registerBackend('gitlab', NetlifyCmsBackendGitlab);
|
||||
registerBackend('bitbucket', NetlifyCmsBackendBitbucket);
|
||||
registerBackend('test-repo', NetlifyCmsBackendTest);
|
||||
|
@ -1,6 +1,4 @@
|
||||
import cms from 'netlify-cms-core/src';
|
||||
import { registerEditorComponent } from 'netlify-cms-core/src';
|
||||
import image from 'netlify-cms-editor-component-image/src';
|
||||
|
||||
const { registerEditorComponent } = cms;
|
||||
|
||||
registerEditorComponent(image);
|
||||
|
@ -1,6 +1,6 @@
|
||||
import createReactClass from 'create-react-class';
|
||||
import React from 'react';
|
||||
import CMS, { init } from 'netlify-cms-core/src';
|
||||
import * as CMS from 'netlify-cms-core/src';
|
||||
import './backends';
|
||||
import './widgets';
|
||||
import './editor-components';
|
||||
@ -10,7 +10,7 @@ import './media-libraries';
|
||||
* Load Netlify CMS automatically if `window.CMS_MANUAL_INIT` is set.
|
||||
*/
|
||||
if (!window.CMS_MANUAL_INIT) {
|
||||
init();
|
||||
CMS.init();
|
||||
} else {
|
||||
console.log('`window.CMS_MANUAL_INIT` flag set, skipping automatic initialization.');
|
||||
}
|
||||
@ -20,9 +20,10 @@ if (!window.CMS_MANUAL_INIT) {
|
||||
*/
|
||||
if (typeof window !== 'undefined') {
|
||||
window.CMS = CMS;
|
||||
window.initCMS = init;
|
||||
window.initCMS = CMS.init;
|
||||
window.createClass = window.createClass || createReactClass;
|
||||
window.h = window.h || React.createElement;
|
||||
}
|
||||
|
||||
export { CMS as default, init };
|
||||
export const NetlifyCms = CMS;
|
||||
export { CMS as default };
|
||||
|
@ -1,8 +1,6 @@
|
||||
import cms from 'netlify-cms-core/src';
|
||||
import { registerMediaLibrary } from 'netlify-cms-core/src';
|
||||
import uploadcare from 'netlify-cms-media-library-uploadcare/src';
|
||||
import cloudinary from 'netlify-cms-media-library-cloudinary/src';
|
||||
|
||||
const { registerMediaLibrary } = cms;
|
||||
|
||||
registerMediaLibrary(uploadcare);
|
||||
registerMediaLibrary(cloudinary);
|
||||
|
@ -1,31 +1,69 @@
|
||||
import cms from 'netlify-cms-core/src';
|
||||
import { StringControl, StringPreview } from 'netlify-cms-widget-string/src';
|
||||
import { NumberControl, NumberPreview } from 'netlify-cms-widget-number/src';
|
||||
import { TextControl, TextPreview } from 'netlify-cms-widget-text/src';
|
||||
import { ImageControl, ImagePreview } from 'netlify-cms-widget-image/src';
|
||||
import { FileControl, FilePreview } from 'netlify-cms-widget-file/src';
|
||||
import { SelectControl, SelectPreview } from 'netlify-cms-widget-select/src';
|
||||
import { MarkdownControl, MarkdownPreview } from 'netlify-cms-widget-markdown/src';
|
||||
import { ListControl, ListPreview } from 'netlify-cms-widget-list/src';
|
||||
import { ObjectControl, ObjectPreview } from 'netlify-cms-widget-object/src';
|
||||
import { RelationControl, RelationPreview } from 'netlify-cms-widget-relation/src';
|
||||
import { BooleanControl } from 'netlify-cms-widget-boolean/src';
|
||||
import { MapControl, MapPreview } from 'netlify-cms-widget-map/src';
|
||||
import { registerWidget } from 'netlify-cms-core/src';
|
||||
import * as NetlifyCmsWidgetString from 'netlify-cms-widget-string/src';
|
||||
import * as NetlifyCmsWidgetNumber from 'netlify-cms-widget-number/src';
|
||||
import * as NetlifyCmsWidgetText from 'netlify-cms-widget-text/src';
|
||||
import * as NetlifyCmsWidgetImage from 'netlify-cms-widget-image/src';
|
||||
import * as NetlifyCmsWidgetFile from 'netlify-cms-widget-file/src';
|
||||
import * as NetlifyCmsWidgetSelect from 'netlify-cms-widget-select/src';
|
||||
import * as NetlifyCmsWidgetMarkdown from 'netlify-cms-widget-markdown/src';
|
||||
import * as NetlifyCmsWidgetList from 'netlify-cms-widget-list/src';
|
||||
import * as NetlifyCmsWidgetObject from 'netlify-cms-widget-object/src';
|
||||
import * as NetlifyCmsWidgetRelation from 'netlify-cms-widget-relation/src';
|
||||
import * as NetlifyCmsWidgetBoolean from 'netlify-cms-widget-boolean/src';
|
||||
import * as NetlifyCmsWidgetMap from 'netlify-cms-widget-map/src';
|
||||
import DateWidget from 'netlify-cms-widget-date/src';
|
||||
import DateTimeWidget from 'netlify-cms-widget-datetime/src';
|
||||
|
||||
const { registerWidget } = cms;
|
||||
|
||||
registerWidget('string', StringControl, StringPreview);
|
||||
registerWidget('text', TextControl, TextPreview);
|
||||
registerWidget('number', NumberControl, NumberPreview);
|
||||
registerWidget('list', ListControl, ListPreview);
|
||||
registerWidget('markdown', MarkdownControl, MarkdownPreview);
|
||||
registerWidget('image', ImageControl, ImagePreview);
|
||||
registerWidget('file', FileControl, FilePreview);
|
||||
registerWidget('select', SelectControl, SelectPreview);
|
||||
registerWidget('object', ObjectControl, ObjectPreview);
|
||||
registerWidget('relation', RelationControl, RelationPreview);
|
||||
registerWidget('boolean', BooleanControl);
|
||||
registerWidget('map', MapControl, MapPreview);
|
||||
registerWidget(
|
||||
'string',
|
||||
NetlifyCmsWidgetString.controlComponent,
|
||||
NetlifyCmsWidgetString.previewComponent,
|
||||
);
|
||||
registerWidget(
|
||||
'number',
|
||||
NetlifyCmsWidgetNumber.controlComponent,
|
||||
NetlifyCmsWidgetNumber.previewComponent,
|
||||
);
|
||||
registerWidget(
|
||||
'text',
|
||||
NetlifyCmsWidgetText.controlComponent,
|
||||
NetlifyCmsWidgetText.previewComponent,
|
||||
);
|
||||
registerWidget(
|
||||
'list',
|
||||
NetlifyCmsWidgetList.controlComponent,
|
||||
NetlifyCmsWidgetList.previewComponent,
|
||||
);
|
||||
registerWidget(
|
||||
'markdown',
|
||||
NetlifyCmsWidgetMarkdown.controlComponent,
|
||||
NetlifyCmsWidgetMarkdown.previewComponent,
|
||||
);
|
||||
registerWidget(
|
||||
'image',
|
||||
NetlifyCmsWidgetImage.controlComponent,
|
||||
NetlifyCmsWidgetImage.previewComponent,
|
||||
);
|
||||
registerWidget(
|
||||
'file',
|
||||
NetlifyCmsWidgetFile.controlComponent,
|
||||
NetlifyCmsWidgetFile.previewComponent,
|
||||
);
|
||||
registerWidget(
|
||||
'select',
|
||||
NetlifyCmsWidgetSelect.controlComponent,
|
||||
NetlifyCmsWidgetSelect.previewComponent,
|
||||
);
|
||||
registerWidget(
|
||||
'object',
|
||||
NetlifyCmsWidgetObject.controlComponent,
|
||||
NetlifyCmsWidgetObject.previewComponent,
|
||||
);
|
||||
registerWidget(
|
||||
'relation',
|
||||
NetlifyCmsWidgetRelation.controlComponent,
|
||||
NetlifyCmsWidgetRelation.previewComponent,
|
||||
);
|
||||
registerWidget('boolean', NetlifyCmsWidgetBoolean.controlComponent);
|
||||
registerWidget('map', NetlifyCmsWidgetMap.controlComponent, NetlifyCmsWidgetMap.previewComponent);
|
||||
registerWidget([DateWidget(), DateTimeWidget()]);
|
||||
|
@ -3,13 +3,14 @@ const webpack = require('webpack');
|
||||
const FriendlyErrorsWebpackPlugin = require('friendly-errors-webpack-plugin');
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||
const pkg = require('./package.json');
|
||||
const { plugins } = require('../../scripts/webpack');
|
||||
const coreWebpackConfig = require('../netlify-cms-core/webpack.config.js');
|
||||
const { getConfig, plugins } = require('../../scripts/webpack');
|
||||
const baseWebpackConfig = getConfig({ baseOnly: true });
|
||||
|
||||
const isProduction = process.env.NODE_ENV === 'production';
|
||||
console.log(`${pkg.version}${isProduction ? '' : '-dev'}`);
|
||||
|
||||
const baseConfig = {
|
||||
...coreWebpackConfig,
|
||||
...baseWebpackConfig,
|
||||
context: path.join(__dirname, 'src'),
|
||||
entry: './index.js',
|
||||
plugins: [
|
||||
@ -25,7 +26,7 @@ const baseConfig = {
|
||||
messages: ['Netlify CMS is now running at http://localhost:8080'],
|
||||
},
|
||||
}),
|
||||
new CopyWebpackPlugin([{ from: '../shims/cms.css', to: 'dist/' }]),
|
||||
new CopyWebpackPlugin([{ from: '../shims/cms.css', to: './' }]),
|
||||
],
|
||||
devServer: {
|
||||
contentBase: '../../dev-test',
|
||||
@ -49,7 +50,7 @@ if (isProduction) {
|
||||
entry: [path.join(__dirname, 'shims/deprecate-old-dist.js'), baseConfig.entry],
|
||||
output: {
|
||||
...baseConfig.output,
|
||||
filename: 'dist/cms.js',
|
||||
filename: 'cms.js',
|
||||
},
|
||||
},
|
||||
];
|
||||
|
Reference in New Issue
Block a user