ether-code 0.9.9 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cli/ether.js CHANGED
@@ -6,7 +6,7 @@ const http = require('http')
6
6
  const { EtherCompiler } = require('./compiler')
7
7
  const { Watcher } = require('./watcher')
8
8
 
9
- const VERSION = '0.9.9'
9
+ const VERSION = '0.10.1'
10
10
 
11
11
  const COLORS = {
12
12
  reset: '\x1b[0m',
@@ -1,3 +1,4 @@
1
+ const path = require('path')
1
2
  const fs = require('fs')
2
3
 
3
4
  class HTMLGenerator {
@@ -660,25 +661,28 @@ class HTMLGenerator {
660
661
  this.indent++
661
662
 
662
663
  if (isRawContent) {
663
- let rawContent = ''
664
664
  for (const child of children) {
665
- if (typeof child === 'string') {
666
- rawContent += child
665
+ if (child.type === 'EtherCSS') {
666
+ this.generateEtherCSS(child)
667
+ } else if (child.type === 'EtherJS') {
668
+ this.generateEtherJS(child)
669
+ } else if (typeof child === 'string') {
670
+ const generatedCode = this.compileEmbeddedCode(child.trim(), tag.toLowerCase())
671
+ const lines = generatedCode.split('\n')
672
+ for (const line of lines) {
673
+ this.writeLine(line)
674
+ }
667
675
  } else if (child.type === 'Text' || child.type === 'text') {
668
676
  const content = child.content || child.text || child.value || ''
669
677
  if (content.trim()) {
670
- rawContent += content
678
+ const generatedCode = this.compileEmbeddedCode(content.trim(), tag.toLowerCase())
679
+ const lines = generatedCode.split('\n')
680
+ for (const line of lines) {
681
+ this.writeLine(line)
682
+ }
671
683
  }
672
684
  }
673
685
  }
674
-
675
- if (rawContent.trim()) {
676
- const generatedCode = this.compileEmbeddedCode(rawContent.trim(), tag.toLowerCase())
677
- const lines = generatedCode.split('\n')
678
- for (const line of lines) {
679
- this.writeLine(line)
680
- }
681
- }
682
686
  } else {
683
687
  for (const child of children) {
684
688
  if (typeof child === 'string') {
@@ -1080,14 +1084,14 @@ class HTMLGenerator {
1080
1084
  if (!node.source) return
1081
1085
 
1082
1086
  try {
1083
- const { EtherParserCSS } = require('./ether-parser-css')
1087
+ const { EtherParserCSS } = require('../parsers/ether-parser-css')
1084
1088
  const { CSSGenerator } = require('./css-generator')
1085
1089
 
1086
1090
  const cssParser = new EtherParserCSS()
1087
1091
  const cssAst = cssParser.parse(node.source)
1088
1092
 
1089
1093
  const cssGenerator = new CSSGenerator()
1090
- cssGenerator.loadI18n('./i18n-css.json')
1094
+ cssGenerator.loadI18n(path.join(__dirname, '../i18n/i18n-css.json'))
1091
1095
  const cssOutput = cssGenerator.generate(cssAst)
1092
1096
 
1093
1097
  if (cssOutput) {
@@ -1106,14 +1110,14 @@ class HTMLGenerator {
1106
1110
  if (!node.source) return
1107
1111
 
1108
1112
  try {
1109
- const { EtherParserJS } = require('./ether-parser-js')
1113
+ const { EtherParserJS } = require('../parsers/ether-parser-js')
1110
1114
  const { JSGenerator } = require('./js-generator')
1111
1115
 
1112
1116
  const jsParser = new EtherParserJS()
1113
1117
  const jsAst = jsParser.parse(node.source)
1114
1118
 
1115
1119
  const jsGenerator = new JSGenerator()
1116
- jsGenerator.loadI18n('./i18n-js.json')
1120
+ jsGenerator.loadI18n(path.join(__dirname, '../i18n/i18n-js.json'))
1117
1121
  const jsOutput = jsGenerator.generate(jsAst)
1118
1122
 
1119
1123
  if (jsOutput) {
package/i18n/i18n-js.json CHANGED
@@ -406,7 +406,7 @@
406
406
  "fenetre": { "fr": "fenêtre", "en": "window", "es": "ventana", "ru": "окно", "zh": "窗口", "ja": "ウィンドウ" },
407
407
  "selecteur": { "fr": "sélecteur", "en": "querySelector", "es": "selector", "ru": "селектор", "zh": "选择器", "ja": "クエリセレクター" },
408
408
  "selecteurs": { "fr": "sélecteurs", "en": "querySelectorAll", "es": "selectores", "ru": "селекторы", "zh": "选择器全部", "ja": "クエリセレクターオール" },
409
- "elementParId": { "fr": "élément par id", "en": "getElementById", "es": "elemento por id", "ru": "элемент по id", "zh": "通过ID获取元素", "ja": "ゲットエレメントバイID" },
409
+ "elementParId": { "fr": "élémentParId", "en": "getElementById", "es": "elemento por id", "ru": "элемент по id", "zh": "通过ID获取元素", "ja": "ゲットエレメントバイID" },
410
410
  "elementsParClasse": { "fr": "éléments par classe", "en": "getElementsByClassName", "es": "elementos por clase", "ru": "элементы по классу", "zh": "通过类获取元素", "ja": "ゲットエレメンツバイクラスネーム" },
411
411
  "elementsParTag": { "fr": "éléments par tag", "en": "getElementsByTagName", "es": "elementos por tag", "ru": "элементы по тегу", "zh": "通过标签获取元素", "ja": "ゲットエレメンツバイタグネーム" },
412
412
  "creerElement": { "fr": "créer élément", "en": "createElement", "es": "crear elemento", "ru": "создать элемент", "zh": "创建元素", "ja": "クリエイトエレメント" },
@@ -425,7 +425,6 @@
425
425
  "remplacerAvec": { "fr": "remplacer avec", "en": "replaceWith", "es": "reemplazar con", "ru": "заменить на", "zh": "替换为", "ja": "リプレースウィズ" },
426
426
  "contenuHTML": { "fr": "contenu HTML", "en": "innerHTML", "es": "contenido HTML", "ru": "внутренний HTML", "zh": "内部HTML", "ja": "インナーHTML" },
427
427
  "htmlExterne": { "fr": "HTML externe", "en": "outerHTML", "es": "HTML externo", "ru": "внешний HTML", "zh": "外部HTML", "ja": "アウターHTML" },
428
- "contenuTexte": { "fr": "contenu texte", "en": "textContent", "es": "contenido texto", "ru": "текстовое содержимое", "zh": "文本内容", "ja": "テキストコンテンツ" },
429
428
  "texteInterne": { "fr": "texte interne", "en": "innerText", "es": "texto interno", "ru": "внутренний текст", "zh": "内部文本", "ja": "インナーテキスト" },
430
429
  "obtenirAttribut": { "fr": "obtenir attribut", "en": "getAttribute", "es": "obtener atributo", "ru": "получить атрибут", "zh": "获取属性", "ja": "ゲットアトリビュート" },
431
430
  "definirAttribut": { "fr": "définir attribut", "en": "setAttribute", "es": "definir atributo", "ru": "установить атрибут", "zh": "设置属性", "ja": "セットアトリビュート" },
@@ -449,7 +448,10 @@
449
448
  "suivantDom": { "fr": "suivant", "en": "nextSibling", "es": "siguiente", "ru": "следующий", "zh": "下一个兄弟节点", "ja": "ネクストシブリング" },
450
449
  "precedent": { "fr": "précédent", "en": "previousSibling", "es": "anterior", "ru": "предыдущий", "zh": "上一个兄弟节点", "ja": "プリビアスシブリング" },
451
450
  "elementSuivant": { "fr": "élément suivant", "en": "nextElementSibling", "es": "elemento siguiente", "ru": "следующий элемент", "zh": "下一个兄弟元素", "ja": "ネクストエレメントシブリング" },
452
- "elementPrecedent": { "fr": "élément précédent", "en": "previousElementSibling", "es": "elemento anterior", "ru": "предыдущий элемент", "zh": "上一个兄弟元素", "ja": "プリビアスエレメントシブリング" }
451
+ "elementPrecedent": { "fr": "élément précédent", "en": "previousElementSibling", "es": "elemento anterior", "ru": "предыдущий элемент", "zh": "上一个兄弟元素", "ja": "プリビアスエレメントシブリング" },
452
+ "recupererId": { "fr": "récupérer id", "en": "getElementById", "es": "obtener por id", "ru": "получить по id", "zh": "通过ID获取", "ja": "IDで取得" },
453
+ "surClic": { "fr": "surClic", "en": "onclick", "es": "alClic", "ru": "приКлике", "zh": "点击时", "ja": "クリック時" },
454
+ "contenuTexte": { "fr": "contenuTexte", "en": "textContent", "es": "contenidoTexto", "ru": "текстовоеСодержимое", "zh": "文本内容", "ja": "テキスト内容" }
453
455
  },
454
456
  "evenements": {
455
457
  "ecouter": { "fr": "écouter", "en": "addEventListener", "es": "escuchar", "ru": "слушать", "zh": "监听", "ja": "アッドイベントリスナー" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ether-code",
3
- "version": "0.9.9",
3
+ "version": "0.10.1",
4
4
  "description": "Ether - Le langage intentionnel",
5
5
  "main": "cli/compiler.js",
6
6
  "bin": {
@@ -1,5 +1,5 @@
1
1
  const fs = require('fs')
2
- const { EtherLexer, Token, TokenType } = require('../lexer/ether-lexer')
2
+ const { EtherLexer, Token, TokenType } = require('./ether-lexer')
3
3
 
4
4
  class EtherParserBase {
5
5
  constructor(options = {}) {