Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

deepword

cloudcmd878MIT10.0.0

Web editor based on Monaco

editor, express, middleware, monaco, patch, diff, ide, text

readme

Deepword License NPM version Build Status Coverage Status

Web editor used in Cloud Commander based on Monaco.

Deepword

Features

  • Syntax highlighting based on extension of file for over 30 languages.
  • Configurable options (edit.json could be overriden by ~/.deepword.json) according to monaco editor options

Install

npm i deepword -g

NPM\_INFO

Command line parameters

Usage: deepword [filename]

Parameter Operation
-h, --help display help and exit
-v, --version output version information and exit

Hot keys

Key Operation
Ctrl + s save
Ctrl + f find
Ctrl + h replace
Ctrl + g go to line
Ctrl + e evaluate (JavaScript only supported)

For more details see Ace keyboard shortcuts.

Options

You can override monaco editor options in ~/.deepword.json.

Theme

To override theme use theme options in ~/.deepword.json. Themes can be:

  • vs
  • vs-dark

API

Deepword could be used as middleware for express. For this purpuse API could be used.

Server

deepword(options)

Middleware of deepword. Options could be omitted.

import deepword from 'deepword';
import express from 'express';

const app = express();

app.use(deepword({
    root: '/', // default
    diff: true, // default
    zip: true, // default
    dropbox: false, // optional
    dropboxToken: 'token', // optional
}));

app.listen(31_337);

deepword.listen(socket)

Could be used with socket.io to handle editor events with.

import {Server} from 'socket.io';
const socket = new Server(server);

deepword.listen(socket, {
    prefixSocket: '/deepword', // optional
    auth: (accept, reject) => (username, password) => {
        // optional
        accept();
    },
});

Client

Deepword uses Monaco on client side, so API is similar. All you need is put minimal html, css, and js into your page.

Minimal html:

<div class="edit" data-name="js-edit"></div>
<script src="/deepword/deepword.js"></script>

Minimal css:

html, body, .edit {
    height: 100%;
    width: 100%;
}

body {
    margin: 0;
}

.edit {
    overflow: hidden;
}

Minimal js:

deepword('[data-name="js-edit"]', (editor) => {
    editor.setValue('Hello deepword!');
});

For more information you could always look into html and bin directory.

License

MIT

changelog

2024.04.03, v10.0.0

feature:

  • 8580f82 deepword: c8 v9.1.0
  • c1a3256 deepword: convert to ESM

2024.04.03, v9.0.3

feature:

  • bb4ff7b deepword: monaco-editor v0.47.0

2024.03.16, v9.0.2

feature:

  • 8ff4ae7 deepword: restbox v4.0.1

2024.03.06, v9.0.1

feature:

  • e19a03d deepword: webpack-cli v5.1.4
  • 4bec74c deepword: css-loader v6.10.0
  • 9c992ee deepword: monaco-editor v0.46.0
  • bb9a55c deepword: socket-file v7.0.0

2024.02.02, v9.0.0

feature:

  • e47b52b deepword: drop support of node < 18
  • d469aa6 deepword: keybindings
  • 2d4a540 deepword: eslint-plugin-n v16.6.2
  • e9a488e bin: socket.io
  • fe3a949 deepword: socket-file v6.1.0
  • 4f95b95 deepword: babel-loader v9.1.3
  • abfd8d8 deepword: cssnano v6.0.3
  • 4e1d81f deepword: eslint-plugin-putout v22.3.1
  • b2f39a3 deepword: eslint v8.56.0
  • 89458b9 deepword: rimraf v5.0.5
  • 5d1bc63 deepword: restafary v12.0.0
  • 0f8973d deepword: nodemon v3.0.3
  • ab72967 deepword: monaco-vim v0.4.1
  • 5067c3a deepword: es6-promisify v7.0.0
  • e3b9688 deepword: monaco-editor v0.45.0
  • 5414b97 deepword: madrun v10.0.1
  • dc67634 deepword: clean-css-loader v4.2.1
  • 4853146 deepword: mkdirp v3.0.1
  • cc1120f deepword: socket.io-client v4.7.4
  • 77215e8 deepword: socket.io v4.7.4
  • 9b05f16 deepword: putout v35.0.4
  • a5e77a4 deepword: supertape v10.0.0
  • 13414ab deepword: style-loader v3.3.4

2021.03.02, v8.0.1

feature:

  • feature(package) clean-css-loader v3.0.0
  • feature(package) monaco-editor v0.22.3
  • feature(package) monaco-editor v0.22.3
  • feature(package) supertape v5.0.0
  • feature(package) restbox v3.0.0
  • feature(package) eslint-plugin-putout v7.2.0
  • feature(package) putout v15.3.1
  • feature(package) restafary v10.1.0

2021.01.19, v8.0.0

feature:

  • feature(package) socket.io-client v3.1.0
  • feature(deepword) drop support of node < 14
  • feature(package) socket.io v3.1.0
  • feature(package) restafary v9.1.1
  • feature(package) madrun v8.6.0
  • feature(package) putout v13.7.1
  • feature(package) socket-file v5.0.0
  • feature(package) putout v11.0.4
  • feature(package) eslint-plugin-putout v6.0.1
  • feature(package) webpack-cli v4.1.0
  • feature(package) webpack v5.2.0
  • feature(package) style-loader v2.0.0
  • feature(package) css-loader v5.0.0
  • feature(package) monaco-editor v0.21.2
  • feature(package) putout v10.0.3

2020.09.06, v7.0.15

feature:

  • (package) css-loader v4.2.2
  • (package) monaco-vim v0.1.8

2020.07.02, v7.0.14

fix:

  • (deepword) edward -> deepword

feature:

  • (package) madrun v7.0.0
  • (package) putout v9.1.0
  • (package) eslint-plugin-putout v5.0.1

2020.06.22, v7.0.13

fix:

  • (deepword) server: edit: data -> Edit

feature:

  • (package) eslint-plugin-putout v4.1.0
  • (package) supertape v2.0.1

2020.06.06, v7.0.12

feature:

  • (server) edit: simplify
  • (package) eslint v7.2.0
  • (package) putout v8.15.0
  • (package) madrun v6.0.1
  • (package) @cloudcmd/stub v3.1.0

2020.04.16, v7.0.11

feature:

  • (package) jssha v3.1.0

2020.03.31, v7.0.10

feature:

  • (package) url-loader v4.0.0
  • (package) file-loader v6.0.0

2020.03.10, v7.0.9

fix:

  • (deepword) readjson

2020.03.03, v7.0.8

feature:

  • (package) readjson v2.0.1
  • (package) monaco-vim v0.1.7

2020.02.29, v7.0.7

feature:

  • (package) socket-file v4.0.0

2020.02.26, v7.0.6

feature:

  • (package) try-to-catch v3.0.0
  • (package) try-catch v3.0.0

2020.02.17, v7.0.5

feature:

  • (package) monaco-editor v0.20.0
  • (package) mkdirp v1.0.3

2020.01.17, v7.0.4

feature:

  • (package) monaco-editor v0.19.3
  • (package) eslint-plugin-node v11.0.0
  • (package) emitify v4.0.1
  • (package) nyc v15.0.0
  • (package) url-loader v3.0.0
  • (package) nodemon v2.0.1
  • (package) madrun v5.0.0
  • (package) eslint-plugin-putout v3.0.0
  • (package) putout v7.0.2

2019.11.04, v7.0.3

feature:

  • (package) madrun v4.1.4
  • (package) monaco-vim v0.1.4

2019.10.16, v7.0.2

feature:

  • (package) try-to-catch v2.0.0

2019.10.02, v7.0.1

feature:

  • (deepword) upgrade resolve-path

2019.09.25, v7.0.0

fix:

  • (deepword) singleton (coderaiser/cloudcmd/issues/254)

feature:

  • (deepword) drop support of node < 10
  • (package) restafary v8.2.0
  • (package) restbox v2.0.0

2019.09.20, v6.2.3

feature:

  • (package) load.js v3.0.2
  • (package) smalltalk v4.0.2
  • (package) currify v4.0.0

2019.09.18, v6.2.2

feature:

  • (package) putout v6.0.0
  • (package) fullstore v2.0.2
  • (package) rm unused ashify

2019.09.09, v6.2.1

feature:

  • (package) monaco-editor v0.18.0
  • (package) eslint-plugin-node v10.0.0

2019.09.04, v6.2.0

feature:

  • (deepword) add browserlist
  • (package) madrun v3.0.1
  • (package) restafary v7.0.0

2019.08.21, v6.1.6

feature:

  • (package) monaco-vim v0.1.1
  • (package) rimraf v3.0.0
  • (package) eslint-plugin-putout v2.0.0
  • (package) putout v5.7.1
  • (package) style-loader v1.0.0

2019.08.02, v6.1.5

feature:

  • (package) monaco-vim v0.1.0

2019.07.24, v6.1.4

feature:

  • (package) monaco-vim v0.0.15