mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Simplify config for admin removal
This commit is contained in:
parent
5c96070038
commit
810dcab748
20
_config.php
20
_config.php
@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Psr\SimpleCache\CacheInterface;
|
use SilverStripe\Assets\File;
|
||||||
|
use SilverStripe\Assets\Image;
|
||||||
use SilverStripe\Dev\Deprecation;
|
use SilverStripe\Dev\Deprecation;
|
||||||
|
use SilverStripe\Forms\HtmlEditor\EmbedShortcodeProvider;
|
||||||
use SilverStripe\View\Parsers\ShortcodeParser;
|
use SilverStripe\View\Parsers\ShortcodeParser;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Framework configuration file
|
* Framework configuration file
|
||||||
*
|
*
|
||||||
@ -21,19 +21,13 @@ use SilverStripe\View\Parsers\ShortcodeParser;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ShortcodeParser::get('default')
|
ShortcodeParser::get('default')
|
||||||
->register('file_link', array('SilverStripe\\Assets\\File', 'handle_shortcode'))
|
->register('file_link', array(File::class, 'handle_shortcode'))
|
||||||
->register('embed', array('SilverStripe\\Forms\\HtmlEditor\\EmbedShortcodeProvider', 'handle_shortcode'))
|
->register('embed', array(EmbedShortcodeProvider::class, 'handle_shortcode'))
|
||||||
->register('image', array('SilverStripe\\Assets\\Image', 'handle_shortcode'));
|
->register('image', array(Image::class, 'handle_shortcode'));
|
||||||
|
|
||||||
// Shortcode parser which only regenerates shortcodes
|
// Shortcode parser which only regenerates shortcodes
|
||||||
ShortcodeParser::get('regenerator')
|
ShortcodeParser::get('regenerator')
|
||||||
->register('image', array('SilverStripe\\Assets\\Image', 'regenerate_shortcode'));
|
->register('image', array(Image::class, 'regenerate_shortcode'));
|
||||||
|
|
||||||
// @todo
|
|
||||||
// ->register('dbfile_link', array('DBFile', 'handle_shortcode'))
|
|
||||||
|
|
||||||
// If you don't want to see deprecation errors for the new APIs, change this to 3.2.0-dev.
|
// If you don't want to see deprecation errors for the new APIs, change this to 3.2.0-dev.
|
||||||
Deprecation::notification_version('3.2.0');
|
Deprecation::notification_version('3.2.0');
|
||||||
|
|
||||||
// TODO Remove once new ManifestBuilder with submodule support is in place
|
|
||||||
require_once('admin/_config.php');
|
|
||||||
|
87
package.json
87
package.json
@ -13,9 +13,7 @@
|
|||||||
"build": "webpack --bail --progress",
|
"build": "webpack --bail --progress",
|
||||||
"watch": "webpack --progress --config ./webpack-dev.config.js --watch",
|
"watch": "webpack --progress --config ./webpack-dev.config.js --watch",
|
||||||
"css": "WEBPACK_CHILD=css webpack",
|
"css": "WEBPACK_CHILD=css webpack",
|
||||||
"test": "jest",
|
"lint": "sass-lint -v"
|
||||||
"coverage": "NODE_PATH=\"./client/src:./admin/client/src\" jest --coverage",
|
|
||||||
"lint": "eslint client/src && eslint admin/client/src && sass-lint -v"
|
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -31,90 +29,17 @@
|
|||||||
"url": "https://github.com/silverstripe/silverstripe-framework/issues"
|
"url": "https://github.com/silverstripe/silverstripe-framework/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/silverstripe/silverstripe-framework#readme",
|
"homepage": "https://github.com/silverstripe/silverstripe-framework#readme",
|
||||||
"dependencies": {
|
|
||||||
"apollo-client": "^0.5.5",
|
|
||||||
"babel-polyfill": "^6.7.4",
|
|
||||||
"bootstrap": "4.0.0-alpha.2",
|
|
||||||
"chosen-js": "^1.5.1",
|
|
||||||
"deep-equal": "^1.0.1",
|
|
||||||
"deep-freeze-strict": "^1.1.1",
|
|
||||||
"es6-promise": "^3.1.2",
|
|
||||||
"graphql-fragments": "^0.1.0",
|
|
||||||
"graphql-tag": "^0.1.17",
|
|
||||||
"history": "^2.1.2",
|
|
||||||
"isomorphic-fetch": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
|
|
||||||
"jquery-sizes": "^0.33.0",
|
|
||||||
"json-js": "^1.1.2",
|
|
||||||
"merge": "^1.2.0",
|
|
||||||
"page.js": "^4.13.3",
|
|
||||||
"qs": "^6.1.0",
|
|
||||||
"react": "^15.3.1",
|
|
||||||
"react-addons-css-transition-group": "^15.3.1",
|
|
||||||
"react-apollo": "^0.7.0",
|
|
||||||
"react-bootstrap-ss": "^0.30.6",
|
|
||||||
"react-dnd": "^2.2.3",
|
|
||||||
"react-dnd-html5-backend": "^2.2.3",
|
|
||||||
"react-dom": "^15.3.1",
|
|
||||||
"react-redux": "^4.4.1",
|
|
||||||
"react-router": "^2.4.1",
|
|
||||||
"react-router-redux": "^4.0.5",
|
|
||||||
"redux": "https://registry.npmjs.org/redux/-/redux-3.0.5.tgz",
|
|
||||||
"redux-form": "^6.0.2",
|
|
||||||
"redux-thunk": "^2.1.0",
|
|
||||||
"tether": "^1.3.2",
|
|
||||||
"url": "^0.11.0",
|
|
||||||
"validator": "^6.1.0"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"autoprefixer": "^6.4.0",
|
"autoprefixer": "^6.4.0",
|
||||||
"babel-core": "^6.7.4",
|
|
||||||
"babel-jest": "^19.0.0",
|
|
||||||
"babel-loader": "^6.2.5",
|
|
||||||
"babel-plugin-transform-es2015-modules-umd": "^6.6.5",
|
|
||||||
"babel-plugin-transform-object-assign": "^6.5.0",
|
|
||||||
"babel-plugin-transform-object-rest-spread": "^6.8.0",
|
|
||||||
"babel-preset-es2015": "^6.6.0",
|
|
||||||
"babel-preset-react": "^6.5.0",
|
|
||||||
"css-loader": "^0.23.1",
|
|
||||||
"eslint": "^2.5.3",
|
|
||||||
"eslint-config-airbnb": "^6.2.0",
|
|
||||||
"eslint-plugin-react": "^4.2.3",
|
|
||||||
"expose-loader": "^0.7.1",
|
|
||||||
"extract-text-webpack-plugin": "^1.0.1",
|
"extract-text-webpack-plugin": "^1.0.1",
|
||||||
"file-loader": "^0.9.0",
|
"webpack": "^1.13.2",
|
||||||
"imports-loader": "^0.6.5",
|
|
||||||
"jest-cli": "^19.0.2",
|
|
||||||
"node-sass": "^3.8.0",
|
|
||||||
"postcss-loader": "^0.10.1",
|
|
||||||
"react-addons-test-utils": "^15.3.1",
|
|
||||||
"redux-logger": "^2.6.1",
|
|
||||||
"resolve-url-loader": "^1.6.0",
|
"resolve-url-loader": "^1.6.0",
|
||||||
"sass-lint": "^1.9.1",
|
"sass-lint": "^1.9.1",
|
||||||
"sass-loader": "^4.0.0",
|
"sass-loader": "^4.0.0",
|
||||||
"script-loader": "^0.7.0",
|
|
||||||
"url-loader": "^0.5.8",
|
"url-loader": "^0.5.8",
|
||||||
"webpack": "^1.13.2"
|
"node-sass": "^3.8.0",
|
||||||
},
|
"css-loader": "^0.23.1",
|
||||||
"jest": {
|
"file-loader": "^0.9.0",
|
||||||
"roots": [
|
"postcss-loader": "^0.10.1"
|
||||||
"admin/client/src",
|
|
||||||
"client/src"
|
|
||||||
],
|
|
||||||
"modulePaths": [
|
|
||||||
"admin/client/src",
|
|
||||||
"client/src"
|
|
||||||
],
|
|
||||||
"testMatch": [
|
|
||||||
"**/tests/**/*-test.js?(x)"
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
".*": "babel-jest"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"babel": {
|
|
||||||
"presets": [
|
|
||||||
"react",
|
|
||||||
"es2015"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,8 +18,6 @@
|
|||||||
* - THEMES_PATH: Absolute filepath, e.g. "/var/www/my-webroot/themes"
|
* - THEMES_PATH: Absolute filepath, e.g. "/var/www/my-webroot/themes"
|
||||||
* - FRAMEWORK_DIR: Path relative to webroot, e.g. "framework"
|
* - FRAMEWORK_DIR: Path relative to webroot, e.g. "framework"
|
||||||
* - FRAMEWORK_PATH:Absolute filepath, e.g. "/var/www/my-webroot/framework"
|
* - FRAMEWORK_PATH:Absolute filepath, e.g. "/var/www/my-webroot/framework"
|
||||||
* - FRAMEWORK_ADMIN_DIR: Path relative to webroot, e.g. "framework/admin"
|
|
||||||
* - FRAMEWORK_ADMIN_PATH: Absolute filepath, e.g. "/var/www/my-webroot/framework/admin"
|
|
||||||
* - THIRDPARTY_DIR: Path relative to webroot, e.g. "framework/thirdparty"
|
* - THIRDPARTY_DIR: Path relative to webroot, e.g. "framework/thirdparty"
|
||||||
* - THIRDPARTY_PATH: Absolute filepath, e.g. "/var/www/my-webroot/framework/thirdparty"
|
* - THIRDPARTY_PATH: Absolute filepath, e.g. "/var/www/my-webroot/framework/thirdparty"
|
||||||
* - TRUSTED_PROXY: true or false, depending on whether the X-Forwarded-* HTTP
|
* - TRUSTED_PROXY: true or false, depending on whether the X-Forwarded-* HTTP
|
||||||
@ -137,15 +135,9 @@ if (strpos(FRAMEWORK_PATH, BASE_PATH) === 0) {
|
|||||||
throw new Exception("Path error: FRAMEWORK_PATH " . FRAMEWORK_PATH . " not within BASE_PATH " . BASE_PATH);
|
throw new Exception("Path error: FRAMEWORK_PATH " . FRAMEWORK_PATH . " not within BASE_PATH " . BASE_PATH);
|
||||||
}
|
}
|
||||||
|
|
||||||
define('FRAMEWORK_ADMIN_DIR', $frameworkDirSlashSuffix . 'admin');
|
|
||||||
define('FRAMEWORK_ADMIN_PATH', FRAMEWORK_PATH . '/admin');
|
|
||||||
|
|
||||||
define('THIRDPARTY_DIR', $frameworkDirSlashSuffix . 'thirdparty');
|
define('THIRDPARTY_DIR', $frameworkDirSlashSuffix . 'thirdparty');
|
||||||
define('THIRDPARTY_PATH', FRAMEWORK_PATH . '/thirdparty');
|
define('THIRDPARTY_PATH', FRAMEWORK_PATH . '/thirdparty');
|
||||||
|
|
||||||
define('ADMIN_THIRDPARTY_DIR', FRAMEWORK_ADMIN_DIR . '/thirdparty');
|
|
||||||
define('ADMIN_THIRDPARTY_PATH', BASE_PATH . '/' . ADMIN_THIRDPARTY_DIR);
|
|
||||||
|
|
||||||
if (!defined('ASSETS_DIR')) {
|
if (!defined('ASSETS_DIR')) {
|
||||||
define('ASSETS_DIR', 'assets');
|
define('ASSETS_DIR', 'assets');
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,9 @@
|
|||||||
const webpack = require('webpack');
|
|
||||||
const autoprefixer = require('autoprefixer');
|
const autoprefixer = require('autoprefixer');
|
||||||
const ExtractTextPlugin = require('extract-text-webpack-plugin');
|
const ExtractTextPlugin = require('extract-text-webpack-plugin');
|
||||||
const path = require('path');
|
|
||||||
// const SprityWebpackPlugin = require('sprity-webpack-plugin');
|
// const SprityWebpackPlugin = require('sprity-webpack-plugin');
|
||||||
|
|
||||||
const PATHS = {
|
const PATHS = {
|
||||||
MODULES: './node_modules',
|
MODULES: './node_modules',
|
||||||
ADMIN: './admin',
|
|
||||||
ADMIN_IMAGES: './admin/client/dist/images',
|
|
||||||
ADMIN_CSS_SRC: './admin/client/src/styles',
|
|
||||||
ADMIN_CSS_DIST: './admin/client/dist/styles',
|
|
||||||
ADMIN_THIRDPARTY: './admin/thirdparty',
|
|
||||||
ADMIN_JS_SRC: './admin/client/src',
|
|
||||||
ADMIN_JS_DIST: './admin/client/dist/js',
|
|
||||||
FRAMEWORK: '.',
|
FRAMEWORK: '.',
|
||||||
FRAMEWORK_THIRDPARTY: './thirdparty',
|
FRAMEWORK_THIRDPARTY: './thirdparty',
|
||||||
FRAMEWORK_CSS_SRC: './client/src/styles',
|
FRAMEWORK_CSS_SRC: './client/src/styles',
|
||||||
@ -35,166 +26,6 @@ const SUPPORTED_BROWSERS = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const config = [
|
const config = [
|
||||||
{
|
|
||||||
// TODO Split out with new 'admin' module
|
|
||||||
name: 'js',
|
|
||||||
entry: {
|
|
||||||
vendor: `${PATHS.ADMIN_JS_SRC}/bundles/vendor.js`,
|
|
||||||
bundle: `${PATHS.ADMIN_JS_SRC}/bundles/bundle.js`,
|
|
||||||
'LeftAndMain.Ping': `${PATHS.ADMIN_JS_SRC}/legacy/LeftAndMain.Ping.js`,
|
|
||||||
leaktools: `${PATHS.ADMIN_JS_SRC}/legacy/leaktools.js`,
|
|
||||||
MemberImportForm: `${PATHS.ADMIN_JS_SRC}/legacy/MemberImportForm.js`,
|
|
||||||
TinyMCE_sslink: `${PATHS.ADMIN_JS_SRC}/legacy/TinyMCE_sslink.js`,
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
root: [__dirname, path.resolve(__dirname, PATHS.ADMIN_JS_SRC)],
|
|
||||||
modulesDirectories: [PATHS.MODULES],
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
path: 'admin/client/dist',
|
|
||||||
filename: 'js/[name].js',
|
|
||||||
},
|
|
||||||
|
|
||||||
// lib.js provies these globals and more. These references allow the framework bundle
|
|
||||||
// to access them.
|
|
||||||
externals: {
|
|
||||||
'apollo-client': 'ApolloClient',
|
|
||||||
'bootstrap-collapse': 'BootstrapCollapse',
|
|
||||||
'components/Breadcrumb/Breadcrumb': 'Breadcrumb',
|
|
||||||
'state/breadcrumbs/BreadcrumbsActions': 'BreadcrumbsActions',
|
|
||||||
'state/schema/SchemaActions': 'SchemaActions',
|
|
||||||
'components/FieldHolder/FieldHolder': 'FieldHolder',
|
|
||||||
'components/FormAction/FormAction': 'FormAction',
|
|
||||||
'components/FormBuilder/FormBuilder': 'FormBuilder',
|
|
||||||
'components/FormBuilderModal/FormBuilderModal': 'FormBuilderModal',
|
|
||||||
'components/GridField/GridField': 'GridField',
|
|
||||||
'components/Toolbar/Toolbar': 'Toolbar',
|
|
||||||
'containers/FormBuilderLoader/FormBuilderLoader': 'FormBuilderLoader',
|
|
||||||
'deep-freeze-strict': 'DeepFreezeStrict',
|
|
||||||
'graphql-fragments': 'GraphQLFragments',
|
|
||||||
'graphql-tag': 'GraphQLTag',
|
|
||||||
i18n: 'i18n',
|
|
||||||
jquery: 'jQuery',
|
|
||||||
'lib/Backend': 'Backend',
|
|
||||||
'lib/ReducerRegister': 'ReducerRegister',
|
|
||||||
'lib/ReactRouteRegister': 'ReactRouteRegister',
|
|
||||||
'lib/SilverStripeComponent': 'SilverStripeComponent',
|
|
||||||
'page.js': 'Page',
|
|
||||||
'react-addons-test-utils': 'ReactAddonsTestUtils',
|
|
||||||
'react-dom': 'ReactDom',
|
|
||||||
tether: 'Tether',
|
|
||||||
'react-apollo': 'ReactApollo',
|
|
||||||
'react-bootstrap-ss': 'ReactBootstrap',
|
|
||||||
'react-redux': 'ReactRedux',
|
|
||||||
'react-router-redux': 'ReactRouterRedux',
|
|
||||||
'react-router': 'ReactRouter',
|
|
||||||
'react-addons-css-transition-group': 'ReactAddonsCssTransitionGroup',
|
|
||||||
react: 'React',
|
|
||||||
'redux-form': 'ReduxForm',
|
|
||||||
'redux-thunk': 'ReduxThunk',
|
|
||||||
redux: 'Redux',
|
|
||||||
config: 'Config',
|
|
||||||
'lib/Router': 'Router',
|
|
||||||
qs: 'qs',
|
|
||||||
},
|
|
||||||
module: {
|
|
||||||
loaders: [
|
|
||||||
{
|
|
||||||
test: /\.js$/,
|
|
||||||
exclude: /(node_modules|thirdparty)/,
|
|
||||||
loader: 'babel',
|
|
||||||
query: {
|
|
||||||
presets: ['es2015', 'react'],
|
|
||||||
plugins: ['transform-object-assign', 'transform-object-rest-spread'],
|
|
||||||
comments: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
test: '/i18n.js/',
|
|
||||||
loader: 'script-loader',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
plugins: [
|
|
||||||
new webpack.ProvidePlugin({
|
|
||||||
jQuery: 'jquery',
|
|
||||||
$: 'jquery',
|
|
||||||
}),
|
|
||||||
new webpack.DefinePlugin({
|
|
||||||
'process.env':{
|
|
||||||
// Builds React in production mode, avoiding console warnings
|
|
||||||
NODE_ENV: JSON.stringify('production'),
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
new webpack.optimize.UglifyJsPlugin({
|
|
||||||
compress: {
|
|
||||||
unused: false,
|
|
||||||
warnings: false,
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
beautify: false,
|
|
||||||
semicolons: false,
|
|
||||||
comments: false,
|
|
||||||
max_line_len: 200,
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
// Most vendor libs are loaded directly into the 'vendor' bundle (through require()
|
|
||||||
// calls in vendor.js). This ensures that any further require() calls in other
|
|
||||||
// bundles aren't duplicating libs.
|
|
||||||
new webpack.optimize.CommonsChunkPlugin({
|
|
||||||
name: 'vendor',
|
|
||||||
minChunks: Infinity,
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// TODO Split out with new 'admin' module
|
|
||||||
name: 'css',
|
|
||||||
entry: {
|
|
||||||
bundle: `${PATHS.ADMIN_CSS_SRC}/bundle.scss`,
|
|
||||||
editor: `${PATHS.ADMIN_CSS_SRC}/editor.scss`,
|
|
||||||
GridField_print: `${PATHS.ADMIN_CSS_SRC}/legacy/GridField_print.scss`,
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
path: 'admin/client/dist/styles',
|
|
||||||
filename: '[name].css',
|
|
||||||
},
|
|
||||||
module: {
|
|
||||||
loaders: [
|
|
||||||
{
|
|
||||||
test: /\.scss$/,
|
|
||||||
loader: ExtractTextPlugin.extract([
|
|
||||||
'css?sourceMap&minimize&-core&discardComments',
|
|
||||||
'postcss?sourceMap',
|
|
||||||
'resolve-url',
|
|
||||||
'sass?sourceMap',
|
|
||||||
]),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
test: /\.css$/,
|
|
||||||
loader: ExtractTextPlugin.extract([
|
|
||||||
'css?sourceMap&minimize&-core&discardComments',
|
|
||||||
'postcss?sourceMap',
|
|
||||||
]),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
test: /\.(png|gif|jpg|svg)$/,
|
|
||||||
exclude: /fonts\/([\w_-]+)\.svg$/,
|
|
||||||
loader: 'url?limit=10000&name=../images/[name].[ext]',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
test: /fonts\/([\w_-]+)\.(woff|eot|ttf|svg)$/,
|
|
||||||
loader: 'file?name=../fonts/[name].[ext]',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
postcss: [
|
|
||||||
autoprefixer({ browsers: SUPPORTED_BROWSERS }),
|
|
||||||
],
|
|
||||||
plugins: [
|
|
||||||
new ExtractTextPlugin('[name].css', { allChunks: true }),
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: 'framework-css',
|
name: 'framework-css',
|
||||||
entry: {
|
entry: {
|
||||||
@ -225,12 +56,7 @@ const config = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
test: /\.(png|gif|jpg|svg)$/,
|
test: /\.(png|gif|jpg|svg)$/,
|
||||||
exclude: /fonts\/([\w_-]+)\.svg$/,
|
loader: 'url-loader?limit=10000&name=../images/[name].[ext]',
|
||||||
loader: `url-loader?limit=10000&name=../images/[name].[ext]`,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
test: /fonts\/([\w_-]+)\.(woff|eot|ttf|svg)$/,
|
|
||||||
loader: 'file?name=../fonts/[name].[ext]',
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user