add-cms
This commit is contained in:
1162
source/admin/packages/decap-cms-app/CHANGELOG.md
Normal file
1162
source/admin/packages/decap-cms-app/CHANGELOG.md
Normal file
File diff suppressed because it is too large
Load Diff
41
source/admin/packages/decap-cms-app/README.md
Normal file
41
source/admin/packages/decap-cms-app/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Decap CMS App
|
||||
_For a Decap CMS overview, see the general [Decap CMS project README](https://github.com/decaporg/decap-cms)._
|
||||
|
||||
## Purpose
|
||||
This package is similar to the [`decap-cms`](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms/) package, but is designed for use with extensions. It serves that purpose in the following ways.
|
||||
|
||||
- It does not automatically initialize - you must run the CMS `init` method.
|
||||
- It does not include `react` or `react-dom` - they are required as peer dependencies.
|
||||
- It does not include the following extensions:
|
||||
- [`decap-cms-media-library-cloudinary`]
|
||||
- [`decap-cms-media-library-uploadcare`]
|
||||
|
||||
## Usage
|
||||
Install via script tag:
|
||||
|
||||
```html
|
||||
<!-- Excluding `doctype` and `head` but you should add them -->
|
||||
<body>
|
||||
<!-- Add these scripts to the bottom of the body -->
|
||||
<script src="https://unpkg.com/react@^18/umd/react.production.min.js"></script>
|
||||
<script src="https://unpkg.com/react-dom@^18/umd/react-dom.production.min.js"></script>
|
||||
<script src="https://unpkg.com/decap-cms-app/dist/decap-cms-app.js"></script>
|
||||
|
||||
<!-- Initialize the CMS -->
|
||||
<script>
|
||||
DecapCmsApp.init();
|
||||
</script>
|
||||
</body>
|
||||
```
|
||||
|
||||
Install via npm:
|
||||
|
||||
```
|
||||
npm i react react-dom decap-cms-app
|
||||
```
|
||||
|
||||
```js
|
||||
import CMS from 'decap-cms-app';
|
||||
|
||||
CMS.init();
|
||||
```
|
||||
7
source/admin/packages/decap-cms-app/index.d.ts
vendored
Normal file
7
source/admin/packages/decap-cms-app/index.d.ts
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
declare module 'decap-cms-app' {
|
||||
import type { CMS } from 'decap-cms-core';
|
||||
|
||||
export const DecapCmsApp: CMS;
|
||||
|
||||
export default DecapCmsApp;
|
||||
}
|
||||
80
source/admin/packages/decap-cms-app/package.json
Normal file
80
source/admin/packages/decap-cms-app/package.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"name": "decap-cms-app",
|
||||
"description": "An extensible, open source, Git-based, React CMS for static sites. Reusable congiuration with React as peer.",
|
||||
"version": "3.8.3",
|
||||
"homepage": "https://www.decapcms.org",
|
||||
"repository": "https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-app",
|
||||
"bugs": "https://github.com/decaporg/decap-cms/issues",
|
||||
"module": "dist/esm/index.js",
|
||||
"main": "dist/decap-cms-app.js",
|
||||
"files": [
|
||||
"src/",
|
||||
"dist/",
|
||||
"index.d.ts"
|
||||
],
|
||||
"types": "index.d.ts",
|
||||
"scripts": {
|
||||
"develop": "npm run build:esm -- --watch",
|
||||
"webpack": "node --max_old_space_size=4096 ../../node_modules/webpack/bin/webpack.js",
|
||||
"build": "cross-env NODE_ENV=production run-s webpack",
|
||||
"build:esm": "cross-env NODE_ENV=esm babel src --out-dir dist/esm --ignore \"**/__tests__\" --root-mode upward"
|
||||
},
|
||||
"keywords": [
|
||||
"cms",
|
||||
"content editing",
|
||||
"static site generators",
|
||||
"jamstack"
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.11.1",
|
||||
"@emotion/styled": "^11.11.0",
|
||||
"ajv": "^8.17.1",
|
||||
"ajv-errors": "^3.0.0",
|
||||
"ajv-keywords": "^5.1.0",
|
||||
"codemirror": "^5.46.0",
|
||||
"dayjs": "^1.11.10",
|
||||
"decap-cms-backend-aws-cognito-github-proxy": "^3.4.1",
|
||||
"decap-cms-backend-azure": "^3.3.0",
|
||||
"decap-cms-backend-bitbucket": "^3.3.0",
|
||||
"decap-cms-backend-git-gateway": "^3.4.1",
|
||||
"decap-cms-backend-gitea": "^3.3.0",
|
||||
"decap-cms-backend-github": "^3.4.0",
|
||||
"decap-cms-backend-gitlab": "^3.4.0",
|
||||
"decap-cms-backend-proxy": "^3.3.0",
|
||||
"decap-cms-backend-test": "^3.2.1",
|
||||
"decap-cms-core": "^3.8.1",
|
||||
"decap-cms-editor-component-image": "^3.2.0",
|
||||
"decap-cms-lib-auth": "^3.0.6",
|
||||
"decap-cms-lib-util": "^3.3.1",
|
||||
"decap-cms-lib-widgets": "^3.2.1",
|
||||
"decap-cms-locales": "^3.4.0",
|
||||
"decap-cms-ui-auth": "^3.2.3",
|
||||
"decap-cms-ui-default": "^3.3.0",
|
||||
"decap-cms-widget-boolean": "^3.2.0",
|
||||
"decap-cms-widget-code": "^3.2.0",
|
||||
"decap-cms-widget-colorstring": "^3.2.0",
|
||||
"decap-cms-widget-datetime": "^3.4.0",
|
||||
"decap-cms-widget-file": "^3.2.0",
|
||||
"decap-cms-widget-image": "^3.2.0",
|
||||
"decap-cms-widget-list": "^3.4.0",
|
||||
"decap-cms-widget-map": "^3.2.0",
|
||||
"decap-cms-widget-markdown": "^3.5.0",
|
||||
"decap-cms-widget-number": "^3.2.0",
|
||||
"decap-cms-widget-object": "^3.4.0",
|
||||
"decap-cms-widget-relation": "^3.5.2",
|
||||
"decap-cms-widget-select": "^3.3.0",
|
||||
"decap-cms-widget-string": "^3.2.0",
|
||||
"decap-cms-widget-text": "^3.2.0",
|
||||
"immutable": "^3.7.6",
|
||||
"lodash": "^4.17.11",
|
||||
"prop-types": "^15.7.2",
|
||||
"react-immutable-proptypes": "^2.1.0",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0"
|
||||
},
|
||||
"incrementToForceBump": 2
|
||||
}
|
||||
70
source/admin/packages/decap-cms-app/src/extensions.js
Normal file
70
source/admin/packages/decap-cms-app/src/extensions.js
Normal file
@@ -0,0 +1,70 @@
|
||||
// Core
|
||||
import { DecapCmsCore as CMS } from 'decap-cms-core';
|
||||
// Backends
|
||||
import { AzureBackend } from 'decap-cms-backend-azure';
|
||||
import { AwsCognitoGitHubProxyBackend } from 'decap-cms-backend-aws-cognito-github-proxy';
|
||||
import { GitHubBackend } from 'decap-cms-backend-github';
|
||||
import { GitLabBackend } from 'decap-cms-backend-gitlab';
|
||||
import { GiteaBackend } from 'decap-cms-backend-gitea';
|
||||
import { GitGatewayBackend } from 'decap-cms-backend-git-gateway';
|
||||
import { BitbucketBackend } from 'decap-cms-backend-bitbucket';
|
||||
import { TestBackend } from 'decap-cms-backend-test';
|
||||
import { ProxyBackend } from 'decap-cms-backend-proxy';
|
||||
// Widgets
|
||||
import DecapCmsWidgetString from 'decap-cms-widget-string';
|
||||
import DecapCmsWidgetNumber from 'decap-cms-widget-number';
|
||||
import DecapCmsWidgetText from 'decap-cms-widget-text';
|
||||
import DecapCmsWidgetImage from 'decap-cms-widget-image';
|
||||
import DecapCmsWidgetFile from 'decap-cms-widget-file';
|
||||
import DecapCmsWidgetSelect from 'decap-cms-widget-select';
|
||||
import DecapCmsWidgetMarkdown from 'decap-cms-widget-markdown';
|
||||
import DecapCmsWidgetList from 'decap-cms-widget-list';
|
||||
import DecapCmsWidgetObject from 'decap-cms-widget-object';
|
||||
import DecapCmsWidgetRelation from 'decap-cms-widget-relation';
|
||||
import DecapCmsWidgetBoolean from 'decap-cms-widget-boolean';
|
||||
import DecapCmsWidgetMap from 'decap-cms-widget-map';
|
||||
import DecapCmsWidgetDatetime from 'decap-cms-widget-datetime';
|
||||
import DecapCmsWidgetCode from 'decap-cms-widget-code';
|
||||
import DecapCmsWidgetColorString from 'decap-cms-widget-colorstring';
|
||||
// Editor Components
|
||||
import image from 'decap-cms-editor-component-image';
|
||||
// Locales
|
||||
import * as locales from 'decap-cms-locales';
|
||||
|
||||
// Register all the things
|
||||
CMS.registerBackend('git-gateway', GitGatewayBackend);
|
||||
CMS.registerBackend('azure', AzureBackend);
|
||||
CMS.registerBackend('aws-cognito-github-proxy', AwsCognitoGitHubProxyBackend);
|
||||
CMS.registerBackend('github', GitHubBackend);
|
||||
CMS.registerBackend('gitlab', GitLabBackend);
|
||||
CMS.registerBackend('gitea', GiteaBackend);
|
||||
CMS.registerBackend('bitbucket', BitbucketBackend);
|
||||
CMS.registerBackend('test-repo', TestBackend);
|
||||
CMS.registerBackend('proxy', ProxyBackend);
|
||||
CMS.registerWidget([
|
||||
DecapCmsWidgetString.Widget(),
|
||||
DecapCmsWidgetNumber.Widget(),
|
||||
DecapCmsWidgetText.Widget(),
|
||||
DecapCmsWidgetImage.Widget(),
|
||||
DecapCmsWidgetFile.Widget(),
|
||||
DecapCmsWidgetSelect.Widget(),
|
||||
DecapCmsWidgetMarkdown.Widget(),
|
||||
DecapCmsWidgetList.Widget(),
|
||||
DecapCmsWidgetObject.Widget(),
|
||||
DecapCmsWidgetRelation.Widget(),
|
||||
DecapCmsWidgetBoolean.Widget(),
|
||||
DecapCmsWidgetMap.Widget(),
|
||||
DecapCmsWidgetDatetime.Widget(),
|
||||
DecapCmsWidgetCode.Widget(),
|
||||
DecapCmsWidgetColorString.Widget(),
|
||||
]);
|
||||
CMS.registerEditorComponent(image);
|
||||
CMS.registerEditorComponent({
|
||||
id: 'code-block',
|
||||
label: 'Code Block',
|
||||
widget: 'code',
|
||||
type: 'code-block',
|
||||
});
|
||||
Object.keys(locales).forEach(locale => {
|
||||
CMS.registerLocale(locale, locales[locale]);
|
||||
});
|
||||
14
source/admin/packages/decap-cms-app/src/index.js
Normal file
14
source/admin/packages/decap-cms-app/src/index.js
Normal file
@@ -0,0 +1,14 @@
|
||||
import { DecapCmsCore as CMS } from 'decap-cms-core';
|
||||
import './extensions.js';
|
||||
|
||||
// Log version
|
||||
if (typeof window !== 'undefined') {
|
||||
if (typeof DECAP_CMS_APP_VERSION === 'string') {
|
||||
console.log(`decap-cms-app ${DECAP_CMS_APP_VERSION}`);
|
||||
}
|
||||
}
|
||||
|
||||
export const DecapCmsApp = {
|
||||
...CMS,
|
||||
};
|
||||
export default CMS;
|
||||
4
source/admin/packages/decap-cms-app/src/locales.js
Normal file
4
source/admin/packages/decap-cms-app/src/locales.js
Normal file
@@ -0,0 +1,4 @@
|
||||
import { DecapCmsCore as CMS } from 'decap-cms-core';
|
||||
import { en } from 'decap-cms-locales';
|
||||
|
||||
CMS.registerLocale('en', en);
|
||||
22
source/admin/packages/decap-cms-app/webpack.config.js
Normal file
22
source/admin/packages/decap-cms-app/webpack.config.js
Normal file
@@ -0,0 +1,22 @@
|
||||
const webpack = require('webpack');
|
||||
|
||||
const pkg = require('./package.json');
|
||||
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 = {
|
||||
...baseWebpackConfig,
|
||||
plugins: [
|
||||
...Object.entries(plugins)
|
||||
.filter(([key]) => key !== 'friendlyErrors')
|
||||
.map(([, plugin]) => plugin()),
|
||||
new webpack.DefinePlugin({
|
||||
DECAP_CMS_APP_VERSION: JSON.stringify(`${pkg.version}${isProduction ? '' : '-dev'}`),
|
||||
}),
|
||||
],
|
||||
};
|
||||
|
||||
module.exports = baseConfig;
|
||||
Reference in New Issue
Block a user