PHPackages                             norberttech/aceeditor-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. norberttech/aceeditor-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

norberttech/aceeditor-bundle
============================

Bundle that integrate excellent JavaScript ace editor into Symfony Form.

5.0.0(2y ago)28310.8k↑43.1%35[13 PRs](https://github.com/norberttech/aceeditor-bundle/pulls)MITPHPPHP ~8.1.0 || ~8.2.0 || ~8.3.0CI passing

Since Jun 25Pushed 3mo ago3 watchersCompare

[ Source](https://github.com/norberttech/aceeditor-bundle)[ Packagist](https://packagist.org/packages/norberttech/aceeditor-bundle)[ RSS](/packages/norberttech-aceeditor-bundle/feed)WikiDiscussions 5.x Synced 1mo ago

READMEChangelog (7)Dependencies (8)Versions (40)Used By (0)

Ace Editor Bundle
=================

[](#ace-editor-bundle)

[![Tests](https://github.com/norberttech/aceeditor-bundle/workflows/Tests/badge.svg)](https://github.com/norberttech/aceeditor-bundle/workflows/Tests/badge.svg)

This bundle provides an [Ace editor](https://ace.c9.io/) integration for the Symfony Form component by automatically registering the `ace_editor` form type.

Compatibility
-------------

[](#compatibility)

Check the table below to check if your PHP and symfony versions are supported.

PHP version(s)Symfony version(s)AceEditorBundle version&gt;= 8.2^5.4 | ^6.4 | ^7.0[^5.0](https://github.com/norberttech/aceeditor-bundle/tree/5.x)For older unsupported versions check the [releases](https://github.com/norberttech/aceeditor-bundle/releases) page.

Installation
------------

[](#installation)

To use this bundle with the latest Symfony version install it using [Composer](https://getcomposer.org/):

```
composer require norberttech/aceeditor-bundle ^5.0
```

If you're using [symfony/flex](https://symfony.com/doc/current/setup/flex.html) then the bundle will be automatically registered for you, otherwise you need to register the bundle yourself:

```
// app/config/bundles.php

return [
    // ...
    AceEditorBundle\AceEditorBundle::class => ['all' => true],
    // ...
];
```

Usage
-----

[](#usage)

```
use AceEditorBundle\Form\Extension\AceEditor\Type\AceEditorType;

/** @var $builder \Symfony\Component\Form\FormBuilderInterface */
$builder->add('description', AceEditorType::class, [
    'wrapper_attr' => [], // aceeditor wrapper html attributes.
    'width' => '100%',
    'height' => 250,
    'font_size' => 12,
    'mode' => 'ace/mode/html', // every single default mode must have ace/mode/* prefix
    'theme' => 'ace/theme/monokai', // every single default theme must have ace/theme/* prefix
    'tab_size' => null,
    'read_only' => null,
    'use_soft_tabs' => null,
    'use_wrap_mode' => null,
    'show_print_margin' => null,
    'show_invisibles' => null,
    'highlight_active_line' => null,
    'options_enable_basic_autocompletion' => true,
    'options_enable_live_autocompletion' => true,
    'options_enable_snippets' => false
    'keyboard_handler' => null,
    'autocomplete_words' => ['foo', 'bar', 'baz']
]);
```

The above code will create a textarea element that will be replaced with an ace editor instance. The textarea value is updated on every change done in ace editor.

Configuration
-------------

[](#configuration)

> This section is optional, you dont need to configure anything and the form type will still work perfectly fine.

Default configuration:

```
# app/config/config.yml

ace_editor:
    base_path: "vendor/ace" # notice! this is starting from your project's public web root, typically: `%kernel.project_dir%/public`!
    autoinclude: true
    debug: false # sources not minified, based on kernel.debug but it can force it
    noconflict: true # uses ace.require instead of require

```

You can also include Ace editor directly from a location that follow the same directory layout than `https://github.com/ajaxorg/ace-builds`, all you need to do is setting `base_path` option:

```
ace_editor:
    base_path: "http://rawgithub.com/ajaxorg/ace-builds/master"

```

Ace editor assets
-----------------

[](#ace-editor-assets)

Unless you do some configuration, this bundle expects Ace editor files to be in `public/vendor/ace`. You can download any ace editor build version from the [upstream repository](https://github.com/ajaxorg/ace/releases) and drop its contents in the corresponding folder.

```
ACE_VERSION=1.32.3 # replace with whatever ace version you need

cd /public
mkdir vendor && cd vendor
wget https://github.com/ajaxorg/ace-builds/archive/v${ACE_VERSION}.tar.gz
tar -xvf v${ACE_VERSION}.tar.gz
mv ace-${ACE_VERSION} ace
rm v${ACE_VERSION}.tar.gz
```

Use with Stimulus and Asset Mapper
----------------------------------

[](#use-with-stimulus-and-asset-mapper)

Stimulus version is supported only with Asset mapper dependency

- `composer require symfony/stimulus-bundle`
- `composer require symfony/asset-mapper `
- `bin/console importmap:require ace-builds/css/ace.css`
- `bin/console importmap:require ace-builds/src-noconflict/ace.js`
- `bin/console importmap:require ace-builds/src-noconflict/ext-language_tools.js`

fell free to add more dependencies for your theme and mode

- `bin/console importmap:require ace-builds/src-noconflict/theme-monokai.js`
- `bin/console importmap:require ace-builds/src-noconflict/worker-javascript.js`
- `bin/console importmap:require ace-builds/src-noconflict/mode-javascript.js`

Autocomplete
------------

[](#autocomplete)

```
$autocomplete = [
    'foo' => [
        'bar' => [
            'baz' => true,
            'baz' => ['gaz','haz'],
        ],
    ],
];
$builder = new AutocompleteTreeBuilder($autocomplete, "->");

$builder
    ->add('formula', AceEditorType::class, [
        'autocomplete_builder' => $keywords,
    ]);
```

###  Health Score

58

—

FairBetter than 98% of packages

Maintenance53

Moderate activity, may be stable

Popularity47

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity90

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 56.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~365 days

Recently: every ~538 days

Total

13

Last Release

320d ago

Major Versions

0.1.2 → 2.8.02017-07-07

2.8.x-dev → 3.0.02017-07-07

3.0.x-dev → 4.0.02019-03-09

4.0.x-dev → 5.0.02024-01-02

PHP version history (4 changes)0.1.0PHP &gt;=5.3.3

2.8.0PHP &gt;=5.6

5.0.0PHP ~8.1.0 || ~8.2.0 || ~8.3.0

5.x-devPHP ~8.2.0 || ~8.3.0 || ~8.4.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/52325810?v=4)[norbert-tech](/maintainers/norbert-tech)[@norbert-tech](https://github.com/norbert-tech)

---

Top Contributors

[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (81 commits)")[![norberttech](https://avatars.githubusercontent.com/u/1921950?v=4)](https://github.com/norberttech "norberttech (24 commits)")[![nocive](https://avatars.githubusercontent.com/u/651121?v=4)](https://github.com/nocive "nocive (16 commits)")[![tito10047](https://avatars.githubusercontent.com/u/11459248?v=4)](https://github.com/tito10047 "tito10047 (6 commits)")[![renovate[bot]](https://avatars.githubusercontent.com/in/2740?v=4)](https://github.com/renovate[bot] "renovate[bot] (3 commits)")[![azzra](https://avatars.githubusercontent.com/u/9268494?v=4)](https://github.com/azzra "azzra (2 commits)")[![sukovanej](https://avatars.githubusercontent.com/u/6271474?v=4)](https://github.com/sukovanej "sukovanej (1 commits)")[![tacman](https://avatars.githubusercontent.com/u/619585?v=4)](https://github.com/tacman "tacman (1 commits)")[![thvd](https://avatars.githubusercontent.com/u/973711?v=4)](https://github.com/thvd "thvd (1 commits)")[![verheyenkoen](https://avatars.githubusercontent.com/u/599538?v=4)](https://github.com/verheyenkoen "verheyenkoen (1 commits)")[![xanido](https://avatars.githubusercontent.com/u/870488?v=4)](https://github.com/xanido "xanido (1 commits)")[![AlexeyKupershtokh](https://avatars.githubusercontent.com/u/499778?v=4)](https://github.com/AlexeyKupershtokh "AlexeyKupershtokh (1 commits)")[![zhil](https://avatars.githubusercontent.com/u/981783?v=4)](https://github.com/zhil "zhil (1 commits)")[![bitdeli-chef](https://avatars.githubusercontent.com/u/3092978?v=4)](https://github.com/bitdeli-chef "bitdeli-chef (1 commits)")[![Devristo](https://avatars.githubusercontent.com/u/1564257?v=4)](https://github.com/Devristo "Devristo (1 commits)")[![romaricdrigon](https://avatars.githubusercontent.com/u/919405?v=4)](https://github.com/romaricdrigon "romaricdrigon (1 commits)")[![Sander-Toonen](https://avatars.githubusercontent.com/u/5106372?v=4)](https://github.com/Sander-Toonen "Sander-Toonen (1 commits)")[![Selion05](https://avatars.githubusercontent.com/u/21970846?v=4)](https://github.com/Selion05 "Selion05 (1 commits)")

---

Tags

symfonybundlejavascriptcodeeditorformace

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/norberttech-aceeditor-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/norberttech-aceeditor-bundle/health.svg)](https://phpackages.com/packages/norberttech-aceeditor-bundle)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[artgris/filemanager-bundle

FileManager is a simple Multilingual File Manager Bundle for Symfony

182420.8k9](/packages/artgris-filemanager-bundle)[pentatrion/vite-bundle

Vite integration for your Symfony app

2755.3M13](/packages/pentatrion-vite-bundle)[stfalcon/tinymce-bundle

This Bundle integrates TinyMCE WYSIWYG editor into a Symfony2 project.

2692.9M24](/packages/stfalcon-tinymce-bundle)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
