mirror of
https://github.com/tinymce/tinymce.git
synced 2025-07-21 05:47:56 +00:00
TINY-8299: Update webpack, webpack-dev-server, and friends (#7763)
* TINY-7654: Upgrade to latest ts-loader and webpack for demos * TINY-7654: Upgrade to bedrock 13 * TINY-7654: Reworked how TinyMCE demos are done to work better with project references * TINY-7654: Tweaks/patches to try to improve compile time * TINY-7654: Upgrade to webpack-dev-server 4 (cherry picked from commit 45e8d7891cf502bd03db08da193011b340557a7e) * TINY-8299: Let grunt-webpack merge the config for us. Made the webpack config lazy to speed up initial grunt load. Fix some issues with the Alloy webpack-dev-server config. * TINY-8299: Remove ES5 spec that was brought in from an old branch * TINY-8299: Removed extra argument that was missed in the cleanup * TINY-8299: removed old `grunt webpack` task that we don't use anymore * TINY-8299: Corrected contributing guide to match how webpack-dev-server is now used * TINY-8299: Fixed harmless console error in model demo Co-authored-by: Lee Newson <lee.newson@tiny.cloud>
This commit is contained in:
@ -11,8 +11,6 @@ This repo is built with Yarn workspaces and uses publish tooling support from Le
|
||||
An important feature of this monorepo is the use of TypeScript 3.0 features "project references" and "build mode":
|
||||
https://www.typescriptlang.org/docs/handbook/project-references.html
|
||||
|
||||
These are still quite new and some of the tooling is still catching up (e.g. webpack needs `tsc -b -w` running in the background).
|
||||
|
||||
### A quick note about `modules`
|
||||
|
||||
Most monorepos use a `packages` folder to hold the included projects, but we have chosen `modules` instead. There are few reasons for this:
|
||||
@ -58,9 +56,7 @@ There are many top-level helper scripts for TinyMCE and Oxide (the default skin)
|
||||
### TinyMCE
|
||||
|
||||
`yarn start`
|
||||
This boots the TinyMCE webpack dev server at http://localhost:3000 and also starts a TypeScript watch process. With this running changes to _any_ `.ts` source file in the monorepo (excluding tests) should be reflected in WebPack within a few seconds.
|
||||
|
||||
If WebPack later adds supports for TypeScript build mode the background TypeScript watch process won't be necessary which will speed up round trip time.
|
||||
This boots the TinyMCE webpack dev server at http://localhost:3000. With this running changes to _any_ `.ts` source file in the monorepo (excluding tests) should be reflected in WebPack within a few seconds.
|
||||
|
||||
`yarn watch`
|
||||
runs `tsc -b -w` for those times when you don't need to iterate in the browser.
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/acid/demo/Demo.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/agar/demo/RunDemos.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,17 +1,16 @@
|
||||
const LiveReloadPlugin = require('webpack-livereload-plugin');
|
||||
let { TsConfigPathsPlugin } = require('awesome-typescript-loader');
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
const swag = require('@ephox/swag');
|
||||
|
||||
|
||||
|
||||
let create = (inFile, outFile) => {
|
||||
const create = (inFile, outFile) => {
|
||||
const tsConfig = "tsconfig.json";
|
||||
|
||||
return {
|
||||
entry: inFile,
|
||||
mode: 'development',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
optimization: {
|
||||
removeAvailableModules: false,
|
||||
removeEmptyChunks: false,
|
||||
@ -21,40 +20,47 @@ let create = (inFile, outFile) => {
|
||||
symlinks: false,
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
// We need to use the awesome typescript loader config paths since the one for ts-loader doesn't resolve aliases correctly
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript',
|
||||
configFileName: tsConfig
|
||||
})
|
||||
configFile: tsConfig,
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
ignoreWarnings: [
|
||||
// suppress type re-export warnings caused by `transpileOnly: true`
|
||||
// See https://github.com/TypeStrong/ts-loader#transpileonly
|
||||
/export .* was not found in/
|
||||
],
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.js|\.ts$/,
|
||||
use: ['@ephox/swag/webpack/remapper']
|
||||
},
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
compilerOptions: {
|
||||
declarationMap: false
|
||||
},
|
||||
configFile: tsConfig,
|
||||
experimentalWatchApi: true
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true,
|
||||
configFile: tsConfig,
|
||||
compilerOptions: {
|
||||
declarationMap: false
|
||||
}
|
||||
}
|
||||
]
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
plugins: [
|
||||
new LiveReloadPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
output: {
|
||||
filename: path.basename(outFile),
|
||||
@ -65,8 +71,8 @@ let create = (inFile, outFile) => {
|
||||
};
|
||||
|
||||
|
||||
module.exports = function (grunt) {
|
||||
var packageData = grunt.file.readJSON('package.json');
|
||||
module.exports = (grunt) => {
|
||||
const packageData = grunt.file.readJSON('package.json');
|
||||
|
||||
grunt.initConfig({
|
||||
pkg: packageData,
|
||||
@ -76,16 +82,20 @@ module.exports = function (grunt) {
|
||||
},
|
||||
|
||||
'webpack-dev-server': {
|
||||
demos: create('./src/demo/ts/ephox/alloy/demo/Demos.ts', 'scratch/compiled/demo.js'),
|
||||
options: {
|
||||
webpack: [
|
||||
create('./src/demo/ts/ephox/alloy/demo/Demos.ts', 'scratch/compiled/demo.js')
|
||||
],
|
||||
inline: false,
|
||||
port: 3003,
|
||||
host: '0.0.0.0',
|
||||
disableHostCheck: true
|
||||
},
|
||||
start: { }
|
||||
devServer: {
|
||||
port: 3003,
|
||||
host: '0.0.0.0',
|
||||
allowedHosts: 'all',
|
||||
hot: false,
|
||||
liveReload: false,
|
||||
static: {
|
||||
publicPath: '/',
|
||||
directory: path.join(__dirname, '/src/demo')
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
rollup: {
|
||||
|
@ -25,6 +25,7 @@
|
||||
"test": "bedrock-auto -b chrome-headless --testdirs src/test/ts/atomic src/test/ts/browser src/test/ts/jsdom src/test/ts/webdriver",
|
||||
"test-manual": "bedrock --testdirs src/test/ts/atomic src/test/ts/browser src/test/ts/jsdom src/test/ts/webdriver",
|
||||
"lint": "eslint --config ../../.eslintrc.json src/**/*.ts",
|
||||
"start": "grunt dev",
|
||||
"prepublishOnly": "tsc -b"
|
||||
},
|
||||
"repository": {
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/boss/demo/BossDemo.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/main/ts/ephox/boulder/api/Main.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/darwin/demo/DarwinTableDemo.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/dragster/demo/DragsterDemo.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -5,7 +5,7 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>demo</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<script src="/demo.js"></script>
|
||||
<script src="../../../scratch/compiled/demo.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
Check the console log for messages.
|
||||
|
@ -1,35 +1,58 @@
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
const inFile = './src/demo/ts/Demo.ts';
|
||||
const outFile = './scratch/compiles/demo.js';
|
||||
|
||||
module.exports = {
|
||||
entry: inFile,
|
||||
mode: 'development',
|
||||
entry: './src/demo/ts/Demo.ts',
|
||||
devtool: 'source-map',
|
||||
optimization: {
|
||||
removeAvailableModules: false,
|
||||
removeEmptyChunks: false,
|
||||
splitChunks: false,
|
||||
},
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
symlinks: false,
|
||||
extensions: ['.ts', '.js']
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
enforce: 'pre'
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'ts-loader'
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
]
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: path.basename(outFile),
|
||||
path: path.resolve(path.dirname(outFile)),
|
||||
pathinfo: false
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/katamari/demo/Demo.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/mcagar/demo/Demo.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,4 +1,5 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
@ -8,19 +9,27 @@ module.exports = {
|
||||
search: './src/demo/ts/ephox/phoenix/demo/SearchDemo.ts'
|
||||
},
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -29,17 +38,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: '[name]-demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/polaris/demo/Demo.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/porkbun/demo/Demo.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/robin/demo/WordSelectDemo.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/sand/demo/Demo.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,26 +1,33 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: {
|
||||
picker: './src/demo/ts/ephox/snooker/demo/PickerDemo.ts',
|
||||
pickerRtl: './src/demo/ts/ephox/snooker/demo/PickerDemoRtl.ts',
|
||||
detect: './src/demo/ts/ephox/snooker/demo/DetectDemo.ts',
|
||||
},
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -29,17 +36,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: '[name]-demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -1,22 +1,31 @@
|
||||
const { CheckerPlugin, TsConfigPathsPlugin } = require('awesome-typescript-loader')
|
||||
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: './src/demo/ts/ephox/sugar/demo/Demo.ts',
|
||||
devtool: 'source-map',
|
||||
mode: 'development',
|
||||
target: ['web'],
|
||||
|
||||
resolve: {
|
||||
extensions: ['.ts', '.js'],
|
||||
plugins: [
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript'
|
||||
extensions: ['.ts', '.js']
|
||||
}),
|
||||
]
|
||||
},
|
||||
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
test: /\.js$/,
|
||||
use: ['source-map-loader'],
|
||||
@ -25,17 +34,23 @@ module.exports = {
|
||||
|
||||
{
|
||||
test: /\.ts$/,
|
||||
use: ['awesome-typescript-loader']
|
||||
use: [{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
transpileOnly: true,
|
||||
projectReferences: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CheckerPlugin()
|
||||
new ForkTsCheckerWebpackPlugin({ async: true })
|
||||
],
|
||||
|
||||
output: {
|
||||
filename: 'demo.js',
|
||||
path: path.resolve(__dirname, './scratch/compiled')
|
||||
}
|
||||
};
|
||||
};
|
||||
|
@ -8,6 +8,7 @@ let zipUtils = require('./tools/modules/zip-helper');
|
||||
let gruntUtils = require('./tools/modules/grunt-utils');
|
||||
let gruntWebPack = require('./tools/modules/grunt-webpack');
|
||||
let swag = require('@ephox/swag');
|
||||
let path = require('path');
|
||||
|
||||
let plugins = [
|
||||
'advlist', 'anchor', 'autolink', 'autoresize', 'autosave', 'charmap', 'code', 'codesample',
|
||||
@ -279,32 +280,25 @@ module.exports = function (grunt) {
|
||||
})
|
||||
),
|
||||
|
||||
webpack: Object.assign(
|
||||
{core: () => {
|
||||
gruntWebPack.create('src/core/demo/ts/demo/Demos.ts', 'tsconfig.json', 'scratch/demos/core', 'demo.js');
|
||||
gruntWebPack.create('src/core/demo/ts/demo/ContentSecurityPolicyDemo.ts', 'tsconfig.json', 'scratch/demos/core', 'cspdemo.js');
|
||||
}},
|
||||
{plugins: () => gruntWebPack.allPluginDemos(plugins)},
|
||||
{themes: () => {
|
||||
gruntWebPack.allThemeDemos(themes);
|
||||
}},
|
||||
{models: () => gruntWebPack.allModelDemos(models)},
|
||||
gruntUtils.generate(plugins, 'plugin', (name) => () => gruntWebPack.createPlugin(name) ),
|
||||
gruntUtils.generate(themes, 'theme', (name) => () => gruntWebPack.createTheme(name) ),
|
||||
gruntUtils.generate(models, 'model', (name) => () => gruntWebPack.createModel(name) )
|
||||
),
|
||||
|
||||
'webpack-dev-server': {
|
||||
everything: () => gruntWebPack.all(plugins, themes, models),
|
||||
options: {
|
||||
webpack: gruntWebPack.all(plugins, themes, models),
|
||||
publicPath: '/',
|
||||
inline: false,
|
||||
port: grunt.option('webpack-port') !== undefined ? grunt.option('webpack-port') : 3000,
|
||||
host: '0.0.0.0',
|
||||
disableHostCheck: true,
|
||||
before: app => gruntWebPack.generateDemoIndex(grunt, app, plugins, themes, models)
|
||||
devServer: {
|
||||
port: grunt.option('webpack-port') !== undefined ? grunt.option('webpack-port') : 3000,
|
||||
host: '0.0.0.0',
|
||||
allowedHosts: 'all',
|
||||
static: {
|
||||
publicPath: '/',
|
||||
directory: path.join(__dirname)
|
||||
},
|
||||
hot: false,
|
||||
liveReload: false,
|
||||
setupMiddlewares: (middlewares, devServer) => {
|
||||
gruntWebPack.generateDemoIndex(grunt, devServer.app, plugins, themes, models);
|
||||
return middlewares;
|
||||
}
|
||||
}
|
||||
},
|
||||
start: { }
|
||||
},
|
||||
|
||||
concat: Object.assign({
|
||||
|
@ -24,8 +24,5 @@
|
||||
|
||||
<script src="../../../../../../js/tinymce/tinymce.js"></script>
|
||||
<script src="../../../../../../scratch/demos/models/dom/demo.js"></script>
|
||||
<script>
|
||||
demos.BasicDemo();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,38 +1,67 @@
|
||||
let { TsConfigPathsPlugin } = require('awesome-typescript-loader');
|
||||
let LiveReloadPlugin = require('webpack-livereload-plugin');
|
||||
let path = require('path');
|
||||
let fs = require('fs');
|
||||
const TsConfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
const webpack = require('webpack');
|
||||
|
||||
const packageData = require("../../package.json");
|
||||
const packageData = require('../../package.json');
|
||||
|
||||
let create = (entries, tsConfig, outDir, filename) => {
|
||||
let create = (entries, tsConfig, outDir = '.') => {
|
||||
const tsConfigPath = path.resolve(tsConfig);
|
||||
const resolvedEntries = Object.entries(entries).reduce((acc, entry) => {
|
||||
acc[entry[0]] = path.resolve('./' + entry[1]);
|
||||
return acc;
|
||||
}, {});
|
||||
return {
|
||||
entry: entries,
|
||||
entry: resolvedEntries,
|
||||
mode: 'development',
|
||||
devtool: 'source-map',
|
||||
devtool: 'inline-source-map',
|
||||
target: 'web',
|
||||
optimization: {
|
||||
removeAvailableModules: false,
|
||||
removeEmptyChunks: false,
|
||||
splitChunks: false,
|
||||
},
|
||||
infrastructureLogging: {
|
||||
level: 'log'
|
||||
},
|
||||
ignoreWarnings: [
|
||||
// suppress type re-export warnings caused by `transpileOnly: true`
|
||||
// See https://github.com/TypeStrong/ts-loader#transpileonly
|
||||
/export .* was not found in/
|
||||
],
|
||||
resolve: {
|
||||
symlinks: false,
|
||||
extensions: ['.ts', '.js'],
|
||||
extensions: [ '.ts', '.js' ],
|
||||
plugins: [
|
||||
// We need to use the awesome typescript loader config paths since the one for ts-loader doesn't resolve aliases correctly
|
||||
new TsConfigPathsPlugin({
|
||||
baseUrl: '.',
|
||||
compiler: 'typescript',
|
||||
configFileName: tsConfig
|
||||
configFile: tsConfigPath,
|
||||
extensions: [ '.ts', '.js' ]
|
||||
})
|
||||
]
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
resolve: {
|
||||
fullySpecified: false
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.(js|mjs)$/,
|
||||
use: ['source-map-loader'],
|
||||
enforce: 'pre'
|
||||
},
|
||||
{
|
||||
test: /\.(svg)$/i,
|
||||
loader: 'raw-loader',
|
||||
type: 'javascript/auto'
|
||||
type: 'asset/source'
|
||||
},
|
||||
{
|
||||
resourceQuery: /raw/,
|
||||
type: 'asset/source'
|
||||
},
|
||||
{
|
||||
test: /\.(js|mjs|ts)$/,
|
||||
use: [ '@ephox/swag/webpack/remapper' ]
|
||||
},
|
||||
{
|
||||
test: /\.ts$/,
|
||||
@ -60,12 +89,9 @@ let create = (entries, tsConfig, outDir, filename) => {
|
||||
{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
configFile: tsConfigPath,
|
||||
transpileOnly: true,
|
||||
compilerOptions: {
|
||||
declarationMap: false
|
||||
},
|
||||
configFile: tsConfig,
|
||||
experimentalWatchApi: true
|
||||
projectReferences: true
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -73,72 +99,67 @@ let create = (entries, tsConfig, outDir, filename) => {
|
||||
]
|
||||
},
|
||||
plugins: [
|
||||
new LiveReloadPlugin()
|
||||
// See https://github.com/TypeStrong/ts-loader#usage-with-webpack-watch
|
||||
new webpack.WatchIgnorePlugin({
|
||||
paths: [
|
||||
// Ignore generated .js, .map and .d.ts output files
|
||||
/tinymce\/modules\/.*\/lib\/.*\.(js|map|d\.ts)$/,
|
||||
// Something seems to trigger that node module package.json files change when they
|
||||
// haven't, so lets just ignore them entirely
|
||||
/node_modules\/.*\/package\.json$/
|
||||
]
|
||||
}),
|
||||
],
|
||||
output: {
|
||||
filename: typeof entries === 'string' ? filename : "[name]/" + filename,
|
||||
filename: '[name]',
|
||||
path: path.resolve(outDir),
|
||||
pathinfo: false
|
||||
},
|
||||
stats: {
|
||||
assets: false,
|
||||
modulesSpace: 5
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
let buildDemoEntries = (typeNames, type, demo) => typeNames.reduce(
|
||||
const buildDemoEntries = (typeNames, type, demo, pathPrefix = '') => typeNames.reduce(
|
||||
(acc, name) => {
|
||||
var tsfile = `src/${type}/${name}/demo/ts/demo/${demo}`;
|
||||
if (fs.existsSync(tsfile)) { acc[name] = tsfile; }
|
||||
const tsfile = `src/${type}/${name}/demo/ts/demo/${demo}`;
|
||||
if (fs.existsSync(tsfile)) { acc[`${pathPrefix}${type}/${name}/demo.js`] = tsfile; }
|
||||
return acc;
|
||||
}, {}
|
||||
);
|
||||
|
||||
let buildEntries = (typeNames, type, entry) => typeNames.reduce(
|
||||
const buildEntries = (typeNames, type, entry, pathPrefix = '') => typeNames.reduce(
|
||||
(acc, name) => {
|
||||
acc[name] = `src/${type}/${name}/main/ts/${entry}`;
|
||||
const fileName = type.replace(/s$/, '') + '.js';
|
||||
acc[`${pathPrefix}${type}/${name}/${fileName}`] = `src/${type}/${name}/main/ts/${entry}`;
|
||||
return acc;
|
||||
}, {}
|
||||
);
|
||||
|
||||
let createPlugin = (name) => {
|
||||
return create(`src/plugins/${name}/demo/ts/demo/Demo.ts`, 'tsconfig.plugin.json', `scratch/demos/plugins/${name}/`, 'demo.js');
|
||||
};
|
||||
|
||||
let createTheme = (name) => {
|
||||
return create(`src/themes/${name}/demo/ts/demo/Demos.ts`, 'tsconfig.theme.json', `scratch/demos/themes/${name}`, 'demo.js');
|
||||
};
|
||||
|
||||
let createModel = (name) => {
|
||||
return create(`src/models/${name}/demo/ts/demo/Demo.ts`, 'tsconfig.model.json', `scratch/demos/models/${name}`, 'demo.js');
|
||||
};
|
||||
|
||||
let allPluginDemos = (plugins) => {
|
||||
return create(buildDemoEntries(plugins, 'plugins', 'Demo.ts'), 'tsconfig.plugin.json', 'scratch/demos/plugins', 'demo.js')
|
||||
};
|
||||
|
||||
let allThemeDemos = (themes) => {
|
||||
return create(buildDemoEntries(themes, 'themes', 'Demos.ts'), 'tsconfig.theme.json', 'scratch/demos/themes', 'demo.js')
|
||||
};
|
||||
|
||||
let allModelDemos = (models) => {
|
||||
return create(buildDemoEntries(models, 'models', 'Demo.ts'), 'tsconfig.model.json', 'scratch/demos/models', 'demo.js')
|
||||
};
|
||||
|
||||
let all = (plugins, themes, models) => {
|
||||
const all = (plugins, themes, models) => {
|
||||
return [
|
||||
allPluginDemos(plugins),
|
||||
allThemeDemos(themes),
|
||||
allModelDemos(models),
|
||||
create(`src/core/demo/ts/demo/Demos.ts`, 'tsconfig.json', 'scratch/demos/core/', 'demo.js'),
|
||||
create('src/core/demo/ts/demo/ContentSecurityPolicyDemo.ts', 'tsconfig.json', 'scratch/demos/core/', 'cspdemo.js'),
|
||||
create('src/core/main/ts/api/Main.ts', 'tsconfig.json', 'js/tinymce/', 'tinymce.js'),
|
||||
create(buildEntries(plugins, 'plugins', 'Main.ts'), 'tsconfig.plugin.json', 'js/tinymce/plugins', 'plugin.js'),
|
||||
create(buildEntries(themes, 'themes', 'Main.ts'), 'tsconfig.theme.json', 'js/tinymce/themes', 'theme.js'),
|
||||
create(buildEntries(models, 'models', 'Main.ts'), 'tsconfig.model.json', 'js/tinymce/models', 'model.js')
|
||||
create({
|
||||
'scratch/demos/core/demo.js': 'src/core/demo/ts/demo/Demos.ts',
|
||||
'scratch/demos/core/cspdemo.js': 'src/core/demo/ts/demo/ContentSecurityPolicyDemo.ts',
|
||||
...buildDemoEntries(plugins, 'plugins', 'Demo.ts', 'scratch/demos/'),
|
||||
...buildEntries(plugins, 'plugins', 'Main.ts', 'js/tinymce/'),
|
||||
...buildDemoEntries(models, 'models', 'Demo.ts', 'scratch/demos/'),
|
||||
...buildEntries(models, 'models', 'Main.ts', 'js/tinymce/'),
|
||||
...buildDemoEntries(themes, 'themes', 'Demos.ts', 'scratch/demos/'),
|
||||
...buildEntries(themes, 'themes', 'Main.ts', 'js/tinymce/'),
|
||||
}, '../../tsconfig.demo.json'),
|
||||
// Note: This can't use the demo tsconfig as it is the core package
|
||||
create({
|
||||
'js/tinymce/tinymce.js': 'src/core/main/ts/api/Main.ts'
|
||||
}, '../../tsconfig.json')
|
||||
];
|
||||
};
|
||||
|
||||
let generateDemoIndex = (grunt, app, plugins, themes, models) => {
|
||||
let demoList = grunt.file.expand(['src/**/demo/html/*.html', 'src/**/demo/html/**/*.html']);
|
||||
let sortedDemos = demoList.reduce((acc, link) => {
|
||||
const generateDemoIndex = (grunt, app, plugins, themes, models) => {
|
||||
const demoList = grunt.file.expand(['src/**/demo/html/*.html', 'src/**/demo/html/**/*.html']);
|
||||
const sortedDemos = demoList.reduce((acc, link) => {
|
||||
const type = link.split('/')[1];
|
||||
|
||||
if (!acc[type]) {
|
||||
@ -150,16 +171,16 @@ let generateDemoIndex = (grunt, app, plugins, themes, models) => {
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
let lists = Object.keys(sortedDemos).map(
|
||||
const lists = Object.keys(sortedDemos).map(
|
||||
type => `
|
||||
<h2>${type}</h2>
|
||||
<ul>
|
||||
${sortedDemos[type].map(
|
||||
link => `<li>${type !== 'core' ? `<strong>${link.split('/')[2]}</strong> - ` : ''}<a href="${link}">${path.basename(link)}</a></li>`).join('')
|
||||
}
|
||||
link => `<li>${type !== 'core' ? `<strong>${link.split('/')[2]}</strong> - ` : ''}<a href="${link}">${path.basename(link)}</a></li>`).join('')
|
||||
}
|
||||
</ul>`
|
||||
).join('');
|
||||
let html = `
|
||||
const html = `
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
@ -178,13 +199,6 @@ let generateDemoIndex = (grunt, app, plugins, themes, models) => {
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
createPlugin,
|
||||
createTheme,
|
||||
createModel,
|
||||
create,
|
||||
all,
|
||||
allPluginDemos,
|
||||
allThemeDemos,
|
||||
allModelDemos,
|
||||
generateDemoIndex
|
||||
};
|
||||
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"tinymce": ["src/core/dist/tinymce"],
|
||||
"tinymce/core/*": ["lib/globals/tinymce/core/*"],
|
||||
"tinymce/models/dom/*": ["src/models/dom/main/ts/*"]
|
||||
}
|
||||
}
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"tinymce": ["src/core/dist/tinymce"],
|
||||
"tinymce/core/*": ["lib/globals/tinymce/core/*"],
|
||||
"tinymce/plugins/advlist/*": ["src/plugins/advlist/main/ts/*"],
|
||||
"tinymce/plugins/anchor/*": ["src/plugins/anchor/main/ts/*"],
|
||||
"tinymce/plugins/autolink/*": ["src/plugins/autolink/main/ts/*"],
|
||||
"tinymce/plugins/autoresize/*": ["src/plugins/autoresize/main/ts/*"],
|
||||
"tinymce/plugins/autosave/*": ["src/plugins/autosave/main/ts/*"],
|
||||
"tinymce/plugins/charmap/*": ["src/plugins/charmap/main/ts/*"],
|
||||
"tinymce/plugins/code/*": ["src/plugins/code/main/ts/*"],
|
||||
"tinymce/plugins/codesample/*": ["src/plugins/codesample/main/ts/*"],
|
||||
"tinymce/plugins/colorpicker/*": ["src/plugins/colorpicker/main/ts/*"],
|
||||
"tinymce/plugins/contextmenu/*": ["src/plugins/contextmenu/main/ts/*"],
|
||||
"tinymce/plugins/directionality/*": ["src/plugins/directionality/main/ts/*"],
|
||||
"tinymce/plugins/emoticons/*": ["src/plugins/emoticons/main/ts/*"],
|
||||
"tinymce/plugins/fullscreen/*": ["src/plugins/fullscreen/main/ts/*"],
|
||||
"tinymce/plugins/help/*": ["src/plugins/help/main/ts/*"],
|
||||
"tinymce/plugins/image/*": ["src/plugins/image/main/ts/*"],
|
||||
"tinymce/plugins/importcss/*": ["src/plugins/importcss/main/ts/*"],
|
||||
"tinymce/plugins/insertdatetime/*": ["src/plugins/insertdatetime/main/ts/*"],
|
||||
"tinymce/plugins/link/*": ["src/plugins/link/main/ts/*"],
|
||||
"tinymce/plugins/lists/*": ["src/plugins/lists/main/ts/*"],
|
||||
"tinymce/plugins/media/*": ["src/plugins/media/main/ts/*"],
|
||||
"tinymce/plugins/nonbreaking/*": ["src/plugins/nonbreaking/main/ts/*"],
|
||||
"tinymce/plugins/pagebreak/*": ["src/plugins/pagebreak/main/ts/*"],
|
||||
"tinymce/plugins/preview/*": ["src/plugins/preview/main/ts/*"],
|
||||
"tinymce/plugins/quickbars/*": ["src/plugins/quickbars/main/ts/*"],
|
||||
"tinymce/plugins/save/*": ["src/plugins/save/main/ts/*"],
|
||||
"tinymce/plugins/searchreplace/*": ["src/plugins/searchreplace/main/ts/*"],
|
||||
"tinymce/plugins/table/*": ["src/plugins/table/main/ts/*"],
|
||||
"tinymce/plugins/template/*": ["src/plugins/template/main/ts/*"],
|
||||
"tinymce/plugins/textcolor/*": ["src/plugins/textcolor/main/ts/*"],
|
||||
"tinymce/plugins/visualblocks/*": ["src/plugins/visualblocks/main/ts/*"],
|
||||
"tinymce/plugins/visualchars/*": ["src/plugins/visualchars/main/ts/*"],
|
||||
"tinymce/plugins/wordcount/*": ["src/plugins/wordcount/main/ts/*"]
|
||||
}
|
||||
}
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"tinymce": ["src/core/dist/tinymce"],
|
||||
"tinymce/core/*": ["lib/globals/tinymce/core/*"],
|
||||
"tinymce/themes/silver/resources/*": ["src/themes/silver/main/resources/*"],
|
||||
"tinymce/themes/silver/*": ["src/themes/silver/main/ts/*"]
|
||||
}
|
||||
}
|
||||
}
|
24
package.json
24
package.json
@ -17,7 +17,7 @@
|
||||
"tsc": "tsc -b",
|
||||
"watch": "tsc -b -w",
|
||||
"eslint": "lerna exec --stream --no-bail -- eslint --max-warnings=0 src/**/*.ts",
|
||||
"start": "run-p watch \"tinymce-grunt start\"",
|
||||
"start": "yarn -s tinymce-grunt start",
|
||||
"dev": "npm-run-all oxide-icons-build oxide-build -p tsc \"tinymce-grunt dev\"",
|
||||
"ci": "npm-run-all -p oxide-ci oxide-icons-ci -p tsc \"tinymce-grunt dev\"",
|
||||
"ci-all": "npm-run-all -p eslint ci -s tinymce-rollup",
|
||||
@ -34,8 +34,8 @@
|
||||
"test-one": "yarn tsc && yarn bedrock-auto -b chrome-headless -f"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ephox/bedrock-client": "^11.3.2",
|
||||
"@ephox/bedrock-server": "^11.5.0",
|
||||
"@ephox/bedrock-client": "^13.0.0",
|
||||
"@ephox/bedrock-server": "^13.1.0",
|
||||
"@ephox/oxide-icons-tools": "^2.2.2",
|
||||
"@ephox/swag": "^4.5.0",
|
||||
"@tinymce/eslint-plugin": "^2.0.1",
|
||||
@ -43,7 +43,6 @@
|
||||
"@types/chai": "^4.2.15",
|
||||
"@types/dompurify": "^2.3.3",
|
||||
"@types/prismjs": "^1.16.6",
|
||||
"awesome-typescript-loader": "^5.2.0",
|
||||
"chai": "^4.3.3",
|
||||
"chalk": "^4.1.0",
|
||||
"emojilib": "^2.4.0",
|
||||
@ -51,6 +50,7 @@
|
||||
"eslint-plugin-notice": "^0.9.10",
|
||||
"eslint-plugin-only-warn": "^1.0.3",
|
||||
"fast-check": "^2.23.0",
|
||||
"fork-ts-checker-webpack-plugin": "^7.2.6",
|
||||
"grunt": "^1.0.2",
|
||||
"grunt-contrib-clean": "^2.0.0",
|
||||
"grunt-contrib-concat": "^2.0.0",
|
||||
@ -62,7 +62,7 @@
|
||||
"grunt-nuget-pack": "^0.0.6",
|
||||
"grunt-shell": "^3.0.1",
|
||||
"grunt-terser": "^2.0.0",
|
||||
"grunt-webpack": "^4.0.2",
|
||||
"grunt-webpack": "^5.0.0",
|
||||
"gulp": "^4.0.0",
|
||||
"gulp-clean": "^0.4.0",
|
||||
"gulp-clean-css": "^4.0.0",
|
||||
@ -77,24 +77,22 @@
|
||||
"moxie-zip": "0.0.4",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"patch-package": "^6.4.7",
|
||||
"raw-loader": "^4.0.2",
|
||||
"resolve": "^1.18.1",
|
||||
"rollup": "^2.70.0",
|
||||
"rollup-plugin-string": "^3.0.0",
|
||||
"source-map-loader": "^1.1.0",
|
||||
"string-replace-loader": "^2.1.1",
|
||||
"source-map-loader": "^3.0.0",
|
||||
"string-replace-loader": "^3.0.3",
|
||||
"stylelint": "^13.2.1",
|
||||
"stylelint-config-standard": "^20.0.0",
|
||||
"stylelint-order": "^5.0.0",
|
||||
"terser": "^5.12.0",
|
||||
"ts-loader": "^6.2.2",
|
||||
"ts-loader": "^9.2.6",
|
||||
"tsconfig-paths-webpack-plugin": "^3.2.0",
|
||||
"tslib": "^2.0.0",
|
||||
"twemoji": "^13.0.1",
|
||||
"typescript": "^4.6.2",
|
||||
"webpack": "^4.41.2",
|
||||
"webpack-cli": "^3.3.10",
|
||||
"webpack-dev-server": "^3.9.0",
|
||||
"webpack-livereload-plugin": "^2.1.1"
|
||||
"webpack": "^5.64.1",
|
||||
"webpack-cli": "^4.9.1",
|
||||
"webpack-dev-server": "^4.7.4"
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/node_modules/@ephox/bedrock-server/lib/main/ts/bedrock/compiler/Webpack.js b/node_modules/@ephox/bedrock-server/lib/main/ts/bedrock/compiler/Webpack.js
|
||||
index 0a33f63..c3c6926 100644
|
||||
--- a/node_modules/@ephox/bedrock-server/lib/main/ts/bedrock/compiler/Webpack.js
|
||||
+++ b/node_modules/@ephox/bedrock-server/lib/main/ts/bedrock/compiler/Webpack.js
|
||||
@@ -38,7 +38,7 @@ const webpackSharedRules = webpackRemap.concat([
|
||||
enforce: 'pre'
|
||||
},
|
||||
{
|
||||
- test: /\.(html|htm|css|bower|hex|rtf|xml|yml)$/,
|
||||
+ test: /\.(html|htm|css|bower|hex|rtf|xml|yml|svg)$/i,
|
||||
use: ['raw-loader']
|
||||
}
|
||||
]);
|
114
tsconfig.demo.json
Normal file
114
tsconfig.demo.json
Normal file
@ -0,0 +1,114 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
// duplicate paths, copied from tsconfig.json
|
||||
// the exception is the tinymce core paths which point to the lib directories
|
||||
// once there is a webpack path plugin that supports project references most of this can be deleted
|
||||
"tinymce": ["modules/tinymce/lib/core/main/ts/api/Main"],
|
||||
"tinymce/core/*": ["modules/tinymce/lib/globals/tinymce/core/*"],
|
||||
"tinymce/themes/silver/resources/*": ["modules/tinymce/src/themes/silver/main/resources/*"],
|
||||
"tinymce/themes/silver/demo/*": ["modules/tinymce/src/themes/silver/demo/ts/*"],
|
||||
"tinymce/themes/silver/*": ["modules/tinymce/src/themes/silver/main/ts/*"],
|
||||
"tinymce/models/dom/demo/*": ["modules/tinymce/src/models/dom/demo/ts/*"],
|
||||
"tinymce/models/dom/*": ["modules/tinymce/src/models/dom/main/ts/*"],
|
||||
"tinymce/plugins/advlist/*": ["modules/tinymce/src/plugins/advlist/main/ts/*"],
|
||||
"tinymce/plugins/anchor/*": ["modules/tinymce/src/plugins/anchor/main/ts/*"],
|
||||
"tinymce/plugins/autolink/*": ["modules/tinymce/src/plugins/autolink/main/ts/*"],
|
||||
"tinymce/plugins/autoresize/*": ["modules/tinymce/src/plugins/autoresize/main/ts/*"],
|
||||
"tinymce/plugins/autosave/*": ["modules/tinymce/src/plugins/autosave/main/ts/*"],
|
||||
"tinymce/plugins/charmap/*": ["modules/tinymce/src/plugins/charmap/main/ts/*"],
|
||||
"tinymce/plugins/code/*": ["modules/tinymce/src/plugins/code/main/ts/*"],
|
||||
"tinymce/plugins/codesample/*": ["modules/tinymce/src/plugins/codesample/main/ts/*"],
|
||||
"tinymce/plugins/directionality/*": ["modules/tinymce/src/plugins/directionality/main/ts/*"],
|
||||
"tinymce/plugins/emoticons/*": ["modules/tinymce/src/plugins/emoticons/main/ts/*"],
|
||||
"tinymce/plugins/fullscreen/*": ["modules/tinymce/src/plugins/fullscreen/main/ts/*"],
|
||||
"tinymce/plugins/help/*": ["modules/tinymce/src/plugins/help/main/ts/*"],
|
||||
"tinymce/plugins/hr/*": ["modules/tinymce/src/plugins/hr/main/ts/*"],
|
||||
"tinymce/plugins/image/*": ["modules/tinymce/src/plugins/image/main/ts/*"],
|
||||
"tinymce/plugins/importcss/*": ["modules/tinymce/src/plugins/importcss/main/ts/*"],
|
||||
"tinymce/plugins/insertdatetime/*": ["modules/tinymce/src/plugins/insertdatetime/main/ts/*"],
|
||||
"tinymce/plugins/link/*": ["modules/tinymce/src/plugins/link/main/ts/*"],
|
||||
"tinymce/plugins/lists/*": ["modules/tinymce/src/plugins/lists/main/ts/*"],
|
||||
"tinymce/plugins/media/*": ["modules/tinymce/src/plugins/media/main/ts/*"],
|
||||
"tinymce/plugins/nonbreaking/*": ["modules/tinymce/src/plugins/nonbreaking/main/ts/*"],
|
||||
"tinymce/plugins/pagebreak/*": ["modules/tinymce/src/plugins/pagebreak/main/ts/*"],
|
||||
"tinymce/plugins/preview/*": ["modules/tinymce/src/plugins/preview/main/ts/*"],
|
||||
"tinymce/plugins/print/*": ["modules/tinymce/src/plugins/print/main/ts/*"],
|
||||
"tinymce/plugins/quickbars/*": ["modules/tinymce/src/plugins/quickbars/main/ts/*"],
|
||||
"tinymce/plugins/save/*": ["modules/tinymce/src/plugins/save/main/ts/*"],
|
||||
"tinymce/plugins/searchreplace/*": ["modules/tinymce/src/plugins/searchreplace/main/ts/*"],
|
||||
"tinymce/plugins/table/*": ["modules/tinymce/src/plugins/table/main/ts/*"],
|
||||
"tinymce/plugins/template/*": ["modules/tinymce/src/plugins/template/main/ts/*"],
|
||||
"tinymce/plugins/visualblocks/*": ["modules/tinymce/src/plugins/visualblocks/main/ts/*"],
|
||||
"tinymce/plugins/visualchars/*": ["modules/tinymce/src/plugins/visualchars/main/ts/*"],
|
||||
"tinymce/plugins/wordcount/*": ["modules/tinymce/src/plugins/wordcount/main/ts/*"],
|
||||
|
||||
"@ephox/wrap-mcagar": ["modules/tinymce/src/core/test/ts/module/McAgar"],
|
||||
|
||||
"@ephox/oxide-icons-default": ["modules/oxide-icons-default/dist/js/Main.d.js"],
|
||||
|
||||
"ephox/acid/test/*": ["modules/acid/src/test/ts/module/ephox/acid/test/*"],
|
||||
"ephox/acid/demo/*": ["modules/acid/src/demo/ts/ephox/acid/demo/*"],
|
||||
"ephox/acid/*": ["modules/acid/src/main/ts/ephox/acid/*"],
|
||||
"ephox/agar/test/*": ["modules/agar/src/test/ts/module/ephox/agar/test/*"],
|
||||
"ephox/agar/demo/*": ["modules/agar/src/demo/ts/ephox/agar/demo/*"],
|
||||
"ephox/agar/*": ["modules/agar/src/main/ts/ephox/agar/*"],
|
||||
"ephox/alloy/test/*": ["modules/alloy/src/test/ts/module/ephox/alloy/test/*"],
|
||||
"ephox/alloy/demo/*": ["modules/alloy/src/demo/ts/ephox/alloy/demo/*"],
|
||||
"ephox/alloy/*": ["modules/alloy/src/main/ts/ephox/alloy/*"],
|
||||
"ephox/boss/test/*": ["modules/boss/src/test/ts/module/ephox/boss/test/*"],
|
||||
"ephox/boss/demo/*": ["modules/boss/src/demo/ts/ephox/boss/demo/*"],
|
||||
"ephox/boss/*": ["modules/boss/src/main/ts/ephox/boss/*"],
|
||||
"ephox/boulder/test/*": ["modules/boulder/src/test/ts/module/ephox/boulder/test/*"],
|
||||
"ephox/boulder/demo/*": ["modules/boulder/src/demo/ts/ephox/boulder/demo/*"],
|
||||
"ephox/boulder/*": ["modules/boulder/src/main/ts/ephox/boulder/*"],
|
||||
"ephox/bridge/test/*": ["modules/bridge/src/test/ts/module/ephox/bridge/test/*"],
|
||||
"ephox/bridge/demo/*": ["modules/bridge/src/demo/ts/ephox/bridge/demo/*"],
|
||||
"ephox/bridge/*": ["modules/bridge/src/main/ts/ephox/bridge/*"],
|
||||
"ephox/darwin/test/*": ["modules/darwin/src/test/ts/module/ephox/darwin/test/*"],
|
||||
"ephox/darwin/demo/*": ["modules/darwin/src/demo/ts/ephox/darwin/demo/*"],
|
||||
"ephox/darwin/*": ["modules/darwin/src/main/ts/ephox/darwin/*"],
|
||||
"ephox/dragster/test/*": ["modules/dragster/src/test/ts/module/ephox/dragster/test/*"],
|
||||
"ephox/dragster/demo/*": ["modules/dragster/src/demo/ts/ephox/dragster/demo/*"],
|
||||
"ephox/dragster/*": ["modules/dragster/src/main/ts/ephox/dragster/*"],
|
||||
"ephox/jax/test/*": ["modules/jax/src/test/ts/module/ephox/jax/test/*"],
|
||||
"ephox/jax/demo/*": ["modules/jax/src/demo/ts/ephox/jax/demo/*"],
|
||||
"ephox/jax/*": ["modules/jax/src/main/ts/ephox/jax/*"],
|
||||
"ephox/katamari/test/*": ["modules/katamari/src/test/ts/module/ephox/katamari/test/*"],
|
||||
"ephox/katamari/demo/*": ["modules/katamari/src/demo/ts/ephox/katamari/demo/*"],
|
||||
"ephox/katamari/*": ["modules/katamari/src/main/ts/ephox/katamari/*"],
|
||||
"ephox/katamari-assertions/test/*": ["modules/katamari-assertions/src/test/ts/module/ephox/katamari-assertions/test/*"],
|
||||
"ephox/katamari-assertions/demo/*": ["modules/katamari-assertions/src/demo/ts/ephox/katamari-assertions/demo/*"],
|
||||
"ephox/katamari-assertions/*": ["modules/katamari-assertions/src/main/ts/ephox/katamari-assertions/*"],
|
||||
"ephox/mcagar/test/*": ["modules/mcagar/src/test/ts/module/ephox/mcagar/test/*"],
|
||||
"ephox/mcagar/demo/*": ["modules/mcagar/src/demo/ts/ephox/mcagar/demo/*"],
|
||||
"ephox/mcagar/*": ["modules/mcagar/src/main/ts/ephox/mcagar/*"],
|
||||
"ephox/phoenix/test/*": ["modules/phoenix/src/test/ts/module/ephox/phoenix/test/*"],
|
||||
"ephox/phoenix/demo/*": ["modules/phoenix/src/demo/ts/ephox/phoenix/demo/*"],
|
||||
"ephox/phoenix/*": ["modules/phoenix/src/main/ts/ephox/phoenix/*"],
|
||||
"ephox/polaris/test/*": ["modules/polaris/src/test/ts/module/ephox/polaris/test/*"],
|
||||
"ephox/polaris/demo/*": ["modules/polaris/src/demo/ts/ephox/polaris/demo/*"],
|
||||
"ephox/polaris/*": ["modules/polaris/src/main/ts/ephox/polaris/*"],
|
||||
"ephox/porkbun/test/*": ["modules/porkbun/src/test/ts/module/ephox/porkbun/test/*"],
|
||||
"ephox/porkbun/demo/*": ["modules/porkbun/src/demo/ts/ephox/porkbun/demo/*"],
|
||||
"ephox/porkbun/*": ["modules/porkbun/src/main/ts/ephox/porkbun/*"],
|
||||
"ephox/robin/test/*": ["modules/robin/src/test/ts/module/ephox/robin/test/*"],
|
||||
"ephox/robin/demo/*": ["modules/robin/src/demo/ts/ephox/robin/demo/*"],
|
||||
"ephox/robin/*": ["modules/robin/src/main/ts/ephox/robin/*"],
|
||||
"ephox/sand/test/*": ["modules/sand/src/test/ts/module/ephox/sand/test/*"],
|
||||
"ephox/sand/demo/*": ["modules/sand/src/demo/ts/ephox/sand/demo/*"],
|
||||
"ephox/sand/*": ["modules/sand/src/main/ts/ephox/sand/*"],
|
||||
"ephox/snooker/test/*": ["modules/snooker/src/test/ts/module/ephox/snooker/test/*"],
|
||||
"ephox/snooker/demo/*": ["modules/snooker/src/demo/ts/ephox/snooker/demo/*"],
|
||||
"ephox/snooker/*": ["modules/snooker/src/main/ts/ephox/snooker/*"],
|
||||
"ephox/sugar/test/*": ["modules/sugar/src/test/ts/module/ephox/sugar/test/*"],
|
||||
"ephox/sugar/demo/*": ["modules/sugar/src/demo/ts/ephox/sugar/demo/*"],
|
||||
"ephox/sugar/*": ["modules/sugar/src/main/ts/ephox/sugar/*"],
|
||||
"ephox/tinymce/test/*": ["modules/tinymce/src/test/ts/module/ephox/tinymce/test/*"],
|
||||
"ephox/tinymce/demo/*": ["modules/tinymce/src/demo/ts/ephox/tinymce/demo/*"],
|
||||
"ephox/tinymce/*": ["modules/tinymce/src/main/ts/ephox/tinymce/*"],
|
||||
}
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"extends": "./tsconfig.shared.json",
|
||||
|
||||
// Until the webpack type checker supports project references properly, this means that bedrock tests will compile _nothing_.
|
||||
// Compile nothing here but instead let it be compiled by the project references
|
||||
"files": [],
|
||||
"references": [
|
||||
{ "path": "modules/acid" },
|
||||
@ -44,8 +44,6 @@
|
||||
"tinymce/plugins/charmap/*": ["modules/tinymce/src/plugins/charmap/main/ts/*"],
|
||||
"tinymce/plugins/code/*": ["modules/tinymce/src/plugins/code/main/ts/*"],
|
||||
"tinymce/plugins/codesample/*": ["modules/tinymce/src/plugins/codesample/main/ts/*"],
|
||||
"tinymce/plugins/colorpicker/*": ["modules/tinymce/src/plugins/colorpicker/main/ts/*"],
|
||||
"tinymce/plugins/contextmenu/*": ["modules/tinymce/src/plugins/contextmenu/main/ts/*"],
|
||||
"tinymce/plugins/directionality/*": ["modules/tinymce/src/plugins/directionality/main/ts/*"],
|
||||
"tinymce/plugins/emoticons/*": ["modules/tinymce/src/plugins/emoticons/main/ts/*"],
|
||||
"tinymce/plugins/fullscreen/*": ["modules/tinymce/src/plugins/fullscreen/main/ts/*"],
|
||||
@ -65,7 +63,6 @@
|
||||
"tinymce/plugins/searchreplace/*": ["modules/tinymce/src/plugins/searchreplace/main/ts/*"],
|
||||
"tinymce/plugins/table/*": ["modules/tinymce/src/plugins/table/main/ts/*"],
|
||||
"tinymce/plugins/template/*": ["modules/tinymce/src/plugins/template/main/ts/*"],
|
||||
"tinymce/plugins/textcolor/*": ["modules/tinymce/src/plugins/textcolor/main/ts/*"],
|
||||
"tinymce/plugins/visualblocks/*": ["modules/tinymce/src/plugins/visualblocks/main/ts/*"],
|
||||
"tinymce/plugins/visualchars/*": ["modules/tinymce/src/plugins/visualchars/main/ts/*"],
|
||||
"tinymce/plugins/wordcount/*": ["modules/tinymce/src/plugins/wordcount/main/ts/*"],
|
||||
|
Reference in New Issue
Block a user