Skip to content

Commit

Permalink
fix: Fix vite build and webpack warning (#5192)
Browse files Browse the repository at this point in the history
* rename css.js files to not confuse vite bundler

* add default exports to keys

* fix typing

* remove undecidable require call
  • Loading branch information
nightwing authored Jun 20, 2023
1 parent 5eb78ad commit e14902e
Show file tree
Hide file tree
Showing 96 changed files with 69 additions and 65 deletions.
5 changes: 4 additions & 1 deletion ace.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -884,7 +884,7 @@ export namespace Ace {
setStyle(style: string): void;
unsetStyle(style: string): void;
getFontSize(): string;
setFontSize(size: number): void;
setFontSize(size: number|string): void;
focus(): void;
isFocused(): boolean;
blur(): void;
Expand Down Expand Up @@ -1097,6 +1097,9 @@ export const EditSession: {
export const UndoManager: {
new(): Ace.UndoManager;
};
export const Editor: {
new(): Ace.Editor;
};
export const Range: {
new(startRow: number, startColumn: number, endRow: number, endColumn: number): Ace.Range;
fromPoints(start: Ace.Point, end: Ace.Point): Ace.Range;
Expand Down
23 changes: 16 additions & 7 deletions src/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,26 @@ exports.setModuleUrl = function(name, subst) {
var loader = function(moduleName, cb) {
if (moduleName === "ace/theme/textmate" || moduleName === "./theme/textmate")
return cb(null, require("./theme/textmate"));
return console.error("loader is not configured");
if (typeof module.require == "function") {
// backwards compatibility for node
try {
var req = "require";
return cb(null, module[req](moduleName));
} catch (e) {
}
}
if (customLoader)
return customLoader(moduleName, cb);
console.error("loader is not configured");
};

var customLoader;
exports.setLoader = function(cb) {
loader = cb;
customLoader = cb;
};

exports.dynamicModules = Object.create(null);
exports.$loading = {};
exports.$loaded = {};
exports.loadModule = function(moduleName, onLoad) {
var module, moduleType;
if (Array.isArray(moduleName)) {
Expand All @@ -105,6 +116,7 @@ exports.loadModule = function(moduleName, onLoad) {

var afterLoad = function() {
loader(moduleName, function(err, module) {
if (module) exports.$loaded[moduleName] = module;
exports._emit("load.module", {name: moduleName, module: module});
var listeners = exports.$loading[moduleName];
exports.$loading[moduleName] = null;
Expand All @@ -130,10 +142,7 @@ exports.loadModule = function(moduleName, onLoad) {
}
});
} else {
try {
module = require(moduleName);
} catch (e) {}
load(module);
load(module || exports.$loaded[moduleName]);
}
};

Expand Down
File renamed without changes.
10 changes: 0 additions & 10 deletions src/ext/textarea.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

var event = require("../lib/event");
var UA = require("../lib/useragent");
var net = require("../lib/net");
var ace = require("../ace");

module.exports = exports = ace;
Expand Down Expand Up @@ -231,16 +230,7 @@ exports.transformTextarea = function(element, options) {
return editor;
};

function load(url, module, callback) {
net.loadScript(url, function() {
require([module], callback);
});
}

function setupApi(editor, editorDiv, settingDiv, ace, options) {
var session = editor.getSession();
var renderer = editor.renderer;

function toBool(value) {
return value === "true" || value == true;
}
Expand Down
4 changes: 3 additions & 1 deletion src/lib/keys.js
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ var Keys = (function() {

(function() {
var mods = ["cmd", "ctrl", "alt", "shift"];
for (var i = Math.pow(2, mods.length); i--;) {
for (var i = Math.pow(2, mods.length); i--;) {
ret.KEY_MODS[i] = mods.filter(function(x) {
return i & ret.KEY_MODS[x];
}).join("-") + "-";
Expand All @@ -151,6 +151,8 @@ var Keys = (function() {
})();
oop.mixin(exports, Keys);

exports.default = exports;

exports.keyCodeToString = function(keyCode) {
// Language-switching keystroke in Chrome/Linux emits keyCode 0.
var keyString = Keys[keyCode];
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/ambiance.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-ambiance";
exports.cssText = require("./ambiance.css");
exports.cssText = require("./ambiance-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/chaos.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-chaos";
exports.cssText = require("./chaos.css");
exports.cssText = require("./chaos-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/chrome.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = false;
exports.cssClass = "ace-chrome";
exports.cssText = require("./chrome.css");
exports.cssText = require("./chrome-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/cloud9_day.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

exports.isDark = false;
exports.cssClass = "ace-cloud9-day";
exports.cssText = require("./cloud9_day.css");
exports.cssText = require("./cloud9_day-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/cloud9_night.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-cloud9-night";
exports.cssText = require("./cloud9_night.css");
exports.cssText = require("./cloud9_night-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/cloud9_night_low_color.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-cloud9-night-low-color";
exports.cssText = require("./cloud9_night_low_color.css");
exports.cssText = require("./cloud9_night_low_color-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/clouds.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = false;
exports.cssClass = "ace-clouds";
exports.cssText = require("./clouds.css");
exports.cssText = require("./clouds-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/clouds_midnight.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-clouds-midnight";
exports.cssText = require("./clouds_midnight.css");
exports.cssText = require("./clouds_midnight-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/cobalt.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-cobalt";
exports.cssText = require("./cobalt.css");
exports.cssText = require("./cobalt-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/crimson_editor.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
exports.isDark = false;
exports.cssText = require("./crimson_editor.css");
exports.cssText = require("./crimson_editor-css");

exports.cssClass = "ace-crimson-editor";

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/dawn.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = false;
exports.cssClass = "ace-dawn";
exports.cssText = require("./dawn.css");
exports.cssText = require("./dawn-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/dracula.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-dracula";
exports.cssText = require("./dracula.css");
exports.cssText = require("./dracula-css");
exports.$selectionColorConflict = true;

var dom = require("../lib/dom");
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/dreamweaver.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = false;
exports.cssClass = "ace-dreamweaver";
exports.cssText = require("./dreamweaver.css");
exports.cssText = require("./dreamweaver-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/eclipse.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use strict";

exports.isDark = false;
exports.cssText = require("./eclipse.css");
exports.cssText = require("./eclipse-css");

exports.cssClass = "ace-eclipse";

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/github.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = false;
exports.cssClass = "ace-github";
exports.cssText = require("./github.css");
exports.cssText = require("./github-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/github_dark.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-github-dark";
exports.cssText = require("./github_dark.css");
exports.cssText = require("./github_dark-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/gob.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-gob";
exports.cssText = require("./gob.css");
exports.cssText = require("./gob-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/gruvbox.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-gruvbox";
exports.cssText = require("./gruvbox.css");
exports.cssText = require("./gruvbox-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/gruvbox_dark_hard.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-gruvbox-dark-hard";
exports.cssText = require("./gruvbox_dark_hard.css");
exports.cssText = require("./gruvbox_dark_hard-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/gruvbox_light_hard.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = false;
exports.cssClass = "ace-gruvbox-light-hard";
exports.cssText = require("./gruvbox_light_hard.css");
exports.cssText = require("./gruvbox_light_hard-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/idle_fingers.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-idle-fingers";
exports.cssText = require("./idle_fingers.css");
exports.cssText = require("./idle_fingers-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/iplastic.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = false;
exports.cssClass = "ace-iplastic";
exports.cssText = require("./iplastic.css");
exports.cssText = require("./iplastic-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/katzenmilch.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = false;
exports.cssClass = "ace-katzenmilch";
exports.cssText = require("./katzenmilch.css");
exports.cssText = require("./katzenmilch-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/kr_theme.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-kr-theme";
exports.cssText = require("./kr_theme.css");
exports.cssText = require("./kr_theme-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/kuroir.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = false;
exports.cssClass = "ace-kuroir";
exports.cssText = require("./kuroir.css");
exports.cssText = require("./kuroir-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/merbivore.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-merbivore";
exports.cssText = require("./merbivore.css");
exports.cssText = require("./merbivore-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/merbivore_soft.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-merbivore-soft";
exports.cssText = require("./merbivore_soft.css");
exports.cssText = require("./merbivore_soft-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/mono_industrial.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-mono-industrial";
exports.cssText = require("./mono_industrial.css");
exports.cssText = require("./mono_industrial-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/monokai.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-monokai";
exports.cssText = require("./monokai.css");
exports.cssText = require("./monokai-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/nord_dark.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-nord-dark";
exports.cssText = require("./nord_dark.css");
exports.cssText = require("./nord_dark-css");
exports.$selectionColorConflict = true;

var dom = require("../lib/dom");
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/one_dark.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-one-dark";
exports.cssText = require("./one_dark.css");
exports.cssText = require("./one_dark-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/pastel_on_dark.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-pastel-on-dark";
exports.cssText = require("./pastel_on_dark.css");
exports.cssText = require("./pastel_on_dark-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/solarized_dark.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = true;
exports.cssClass = "ace-solarized-dark";
exports.cssText = require("./solarized_dark.css");
exports.cssText = require("./solarized_dark-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/solarized_light.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = false;
exports.cssClass = "ace-solarized-light";
exports.cssText = require("./solarized_light.css");
exports.cssText = require("./solarized_light-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
2 changes: 1 addition & 1 deletion src/theme/sqlserver.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports.isDark = false;
exports.cssClass = "ace-sqlserver";
exports.cssText = require("./sqlserver.css");
exports.cssText = require("./sqlserver-css");

var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass, false);
File renamed without changes.
Loading

1 comment on commit e14902e

@barisusakli
Copy link

@barisusakli barisusakli commented on e14902e Jun 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've been using ace-editor 1.22.1 with webpack for a while. We use the below file to load ace-editor.

/* eslint-disable import/first */

export * from 'ace-builds';

// only import the modes and theme we use
import 'ace-builds/src-noconflict/mode-javascript';
import 'ace-builds/src-noconflict/mode-scss';
import 'ace-builds/src-noconflict/mode-html';
import 'ace-builds/src-noconflict/ext-searchbox';
import 'ace-builds/src-noconflict/theme-twilight';

/* eslint-disable import/no-webpack-loader-syntax */
/* eslint-disable import/no-unresolved */
import htmlWorkerUrl from 'file-loader!ace-builds/src-noconflict/worker-html';
import javascriptWorkerUrl from 'file-loader!ace-builds/src-noconflict/worker-javascript';
import cssWorkerUrl from 'file-loader!ace-builds/src-noconflict/worker-css';

ace.config.setModuleUrl('ace/mode/html_worker', htmlWorkerUrl);
ace.config.setModuleUrl('ace/mode/javascript_worker', javascriptWorkerUrl);
ace.config.setModuleUrl('ace/mode/css_worker', cssWorkerUrl);

After that we can use it in our own modules like

require(['ace/ace'], function (ace) {
	const editorEl = ace.edit('#my-ace-editor', {
		mode: 'ace/mode/javascript',
		theme: 'ace/theme/twilight',
		maxLines: 30,
		minLines: 30,
		fontSize: 14,
	});
});

Same code on 1.23.0 results in 404 errors for the mode and theme files.

image

Please sign in to comment.