Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.1.0 #1

Open
wants to merge 294 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
294 commits
Select commit Hold shift + click to select a range
1aceb3a
test
IgorNovozhilov Apr 12, 2020
6edbaad
observedAttributes
IgorNovozhilov Apr 13, 2020
55dd973
attributeChangedCallback
IgorNovozhilov Apr 13, 2020
d7f926c
Reactive data-properties and attributes
IgorNovozhilov Apr 13, 2020
6fcb222
data-field-text
IgorNovozhilov Apr 13, 2020
d46971d
attributeChangedCacheSymbol
IgorNovozhilov Apr 13, 2020
cd8f1ca
fix bug
IgorNovozhilov Apr 13, 2020
f09b648
dataset
IgorNovozhilov Apr 13, 2020
ed7e824
upd
IgorNovozhilov Apr 18, 2020
2e0a724
upd
IgorNovozhilov Apr 18, 2020
e6399ad
up
IgorNovozhilov Apr 20, 2020
c5d1f61
up
IgorNovozhilov Apr 23, 2020
b5a8d86
up
IgorNovozhilov Apr 25, 2020
bbeac2d
up
IgorNovozhilov Apr 25, 2020
fd6d02f
up
IgorNovozhilov Apr 26, 2020
469744f
up
IgorNovozhilov Apr 26, 2020
8925940
up
IgorNovozhilov Apr 26, 2020
606e2d2
up
IgorNovozhilov Apr 26, 2020
f8fc7c3
templateOptions
IgorNovozhilov Apr 27, 2020
0a3c8ca
up
IgorNovozhilov Apr 27, 2020
c7fb0df
up
IgorNovozhilov Apr 27, 2020
bd0fa55
up
IgorNovozhilov Apr 27, 2020
514711e
up
IgorNovozhilov Apr 27, 2020
43da182
up
IgorNovozhilov Apr 27, 2020
0ce2eba
гз
IgorNovozhilov Apr 27, 2020
3953b75
up
IgorNovozhilov Apr 27, 2020
9135bf8
up
IgorNovozhilov Apr 27, 2020
b473584
up
IgorNovozhilov Apr 27, 2020
293b75a
up
IgorNovozhilov Apr 28, 2020
5f1c989
up
IgorNovozhilov Apr 28, 2020
37d5b98
up
IgorNovozhilov Apr 29, 2020
6019dc1
up
IgorNovozhilov Apr 29, 2020
eddbb61
up
IgorNovozhilov May 1, 2020
8d11b9d
up
IgorNovozhilov May 1, 2020
37e9b67
up
IgorNovozhilov May 1, 2020
582d27c
up
IgorNovozhilov May 2, 2020
ed52a5a
up
IgorNovozhilov May 4, 2020
d327be4
up
IgorNovozhilov May 4, 2020
614b72f
up
IgorNovozhilov May 15, 2020
597a6fc
up
IgorNovozhilov May 15, 2020
982c12b
fix
IgorNovozhilov Jun 9, 2020
c35e660
0.0.1
IgorNovozhilov Oct 28, 2020
90f42d8
Статические свойства пока не работают в последнем Safari
IgorNovozhilov Oct 29, 2020
c636cb6
core-global
IgorNovozhilov Jan 25, 2021
94e64e4
setAttributes - style
IgorNovozhilov Feb 3, 2021
553b6c0
customElements - shadowRoot
IgorNovozhilov Feb 4, 2021
39626c9
Шаблоны на экземпляре не клонируются
IgorNovozhilov Feb 4, 2021
439f70c
cfg
IgorNovozhilov Feb 5, 2021
8b7b7ee
no callback
IgorNovozhilov Feb 6, 2021
0edfeb4
Создание DOM элемента
IgorNovozhilov Feb 6, 2021
d3683e5
Вложенные DOM элементы
IgorNovozhilov Feb 7, 2021
5308f58
createProxy+proxyApply
IgorNovozhilov Feb 11, 2021
4752f72
Обновление атрибутов
IgorNovozhilov Feb 12, 2021
d76788d
test
IgorNovozhilov Apr 16, 2021
a8eac19
test
IgorNovozhilov Apr 16, 2021
5aaf5f8
test
IgorNovozhilov Apr 16, 2021
0052825
test
IgorNovozhilov Apr 16, 2021
b52ccba
test
IgorNovozhilov Apr 16, 2021
7afbe33
Использование готового DOM элемента в oom
IgorNovozhilov Apr 27, 2021
096bd91
test
IgorNovozhilov May 3, 2021
0e7cef3
test
IgorNovozhilov May 5, 2021
1181aa5
Вложение нескольких элементов / обновление атрибутов за 1 вызов
IgorNovozhilov May 6, 2021
8142ef5
верстка составного компонента
IgorNovozhilov May 7, 2021
e265c37
Ошибка при вызове
IgorNovozhilov May 8, 2021
0e43dd2
Создание OOM элемента с DocumentFragment
IgorNovozhilov May 8, 2021
d3f090e
jsdoc
IgorNovozhilov May 12, 2021
209a7fb
test
IgorNovozhilov May 12, 2021
10e396d
setter у Proxy
IgorNovozhilov May 12, 2021
694b919
test
IgorNovozhilov May 27, 2021
5b24097
test
IgorNovozhilov May 27, 2021
900858b
test
IgorNovozhilov May 28, 2021
334720f
+
IgorNovozhilov May 28, 2021
474570d
+
IgorNovozhilov May 28, 2021
9f3b079
+
IgorNovozhilov May 28, 2021
f9b7f57
test
IgorNovozhilov May 28, 2021
253d5e0
test
IgorNovozhilov May 31, 2021
46f7ec2
test
IgorNovozhilov Jun 1, 2021
fb85a85
test
IgorNovozhilov Jun 2, 2021
3b45783
test
IgorNovozhilov Jun 4, 2021
eea08bb
test
IgorNovozhilov Jun 10, 2021
9ae9192
+
IgorNovozhilov Jun 21, 2021
73acd53
+
IgorNovozhilov Jul 16, 2021
3b66a4c
+
IgorNovozhilov Jul 16, 2021
bb05388
+ [eslint, types, tests, coverage
IgorNovozhilov Jul 19, 2021
4523d77
+
IgorNovozhilov Jul 19, 2021
da1381b
+
IgorNovozhilov Jul 21, 2021
a8b8d96
test
IgorNovozhilov Jul 21, 2021
6b03d3e
test
IgorNovozhilov Jul 22, 2021
9b300c2
+
IgorNovozhilov Jul 22, 2021
316ab52
test
IgorNovozhilov Jul 22, 2021
b21c06c
+
IgorNovozhilov Jul 22, 2021
165779a
test
IgorNovozhilov Jul 22, 2021
defed77
+
IgorNovozhilov Jul 22, 2021
f8befe5
+
IgorNovozhilov Jul 23, 2021
f35c361
test
IgorNovozhilov Jul 23, 2021
f3db184
test
IgorNovozhilov Jul 23, 2021
a5ead70
OOMProxyConstructor
IgorNovozhilov Jul 23, 2021
5886040
test
IgorNovozhilov Jul 24, 2021
b5dae42
+
IgorNovozhilov Jul 26, 2021
385a250
test
IgorNovozhilov Jul 28, 2021
cde2e92
+
IgorNovozhilov Jul 28, 2021
20b50e2
test
IgorNovozhilov Jul 28, 2021
fd7f2c5
+
IgorNovozhilov Jul 28, 2021
c9cd4d0
+
IgorNovozhilov Jul 28, 2021
c49c250
+
IgorNovozhilov Jul 28, 2021
81aee33
+
IgorNovozhilov Jul 28, 2021
55b6777
+
IgorNovozhilov Jul 28, 2021
1d105ff
+
IgorNovozhilov Jul 28, 2021
3a5f09b
+
IgorNovozhilov Jul 28, 2021
a1e318d
+
IgorNovozhilov Jul 28, 2021
3bbe3d3
+
IgorNovozhilov Jul 28, 2021
ea6c28e
+
IgorNovozhilov Jul 29, 2021
3003b17
+
IgorNovozhilov Jul 29, 2021
5f08648
+
IgorNovozhilov Jul 29, 2021
e4da713
test
IgorNovozhilov Jul 29, 2021
95fc371
_
IgorNovozhilov Jul 30, 2021
581c59c
+
IgorNovozhilov Jul 30, 2021
3e2572f
+
IgorNovozhilov Jul 30, 2021
5140dbe
+
IgorNovozhilov Aug 2, 2021
0d52918
+
IgorNovozhilov Aug 2, 2021
40e49d6
+
IgorNovozhilov Aug 3, 2021
2299056
oom.extends(MyElement)
IgorNovozhilov Aug 4, 2021
6812992
+
IgorNovozhilov Aug 4, 2021
faa932e
+
IgorNovozhilov Aug 4, 2021
3ad0113
+
IgorNovozhilov Aug 4, 2021
9060d57
test
IgorNovozhilov Aug 4, 2021
aec820f
test
IgorNovozhilov Aug 4, 2021
a39448b
test
IgorNovozhilov Aug 4, 2021
6952840
test
IgorNovozhilov Aug 4, 2021
e5d64d2
Опции
IgorNovozhilov Aug 4, 2021
70d695f
+
IgorNovozhilov Aug 4, 2021
f3b04c3
+
IgorNovozhilov Aug 4, 2021
106cf38
CustomElementCls<T>
IgorNovozhilov Aug 5, 2021
aa6be15
12
IgorNovozhilov Aug 9, 2021
01a0290
init OOMStyle
IgorNovozhilov Aug 9, 2021
81a2769
merge options
IgorNovozhilov Aug 9, 2021
beccf6f
+
IgorNovozhilov Aug 10, 2021
960055a
+
IgorNovozhilov Aug 10, 2021
d2613c9
test
IgorNovozhilov Aug 12, 2021
511f27b
test
IgorNovozhilov Aug 13, 2021
7dc1e87
+
IgorNovozhilov Aug 13, 2021
03e97c4
testt
IgorNovozhilov Aug 15, 2021
bc116e4
+
IgorNovozhilov Aug 16, 2021
2a60f3f
+
IgorNovozhilov Aug 16, 2021
513f951
+
IgorNovozhilov Aug 17, 2021
fa1ddb7
test
IgorNovozhilov Aug 18, 2021
a849543
+
IgorNovozhilov Aug 18, 2021
42bd728
+
IgorNovozhilov Aug 18, 2021
7be8d14
wt
IgorNovozhilov Aug 18, 2021
7935e20
test
IgorNovozhilov Aug 18, 2021
7aa18a4
darkgreen
IgorNovozhilov Aug 18, 2021
c2d8d10
+
IgorNovozhilov Aug 18, 2021
39d0358
scope
IgorNovozhilov Aug 19, 2021
d9a8da6
+
IgorNovozhilov Aug 19, 2021
952f789
+
IgorNovozhilov Aug 19, 2021
7e482ad
дока
IgorNovozhilov Aug 19, 2021
661e68c
дока
IgorNovozhilov Aug 19, 2021
1d7acb6
test
IgorNovozhilov Aug 20, 2021
b47d6ff
+
IgorNovozhilov Aug 22, 2021
35f33dc
test
IgorNovozhilov Aug 23, 2021
eaeded6
+
IgorNovozhilov Aug 23, 2021
90b32b3
test
IgorNovozhilov Aug 23, 2021
e23c4c7
test
IgorNovozhilov Aug 23, 2021
25f4e52
+
IgorNovozhilov Aug 23, 2021
781d403
test
IgorNovozhilov Aug 23, 2021
43f4a9f
test
IgorNovozhilov Aug 23, 2021
7748967
+
IgorNovozhilov Aug 23, 2021
7ca92f9
test
IgorNovozhilov Aug 23, 2021
9a9d52f
test
IgorNovozhilov Aug 23, 2021
a80bb35
test
IgorNovozhilov Aug 23, 2021
e345894
test
IgorNovozhilov Aug 23, 2021
e3efb61
test
IgorNovozhilov Aug 23, 2021
b321936
-global
IgorNovozhilov Aug 23, 2021
530b1cf
+
IgorNovozhilov Aug 24, 2021
1a20025
+
IgorNovozhilov Aug 24, 2021
ff4307c
test
IgorNovozhilov Aug 24, 2021
049cc80
Update README.md
IgorNovozhilov Aug 24, 2021
7c8c600
core-from-cdn
IgorNovozhilov Aug 24, 2021
9e0ea7e
test
IgorNovozhilov Aug 25, 2021
ec4d8eb
test
IgorNovozhilov Aug 25, 2021
9dafa20
test
IgorNovozhilov Aug 25, 2021
be968b2
+
IgorNovozhilov Aug 27, 2021
da4119a
iframe-isolation
IgorNovozhilov Aug 27, 2021
fd49349
attachShadow
IgorNovozhilov Aug 27, 2021
b0ddfe5
test
IgorNovozhilov Aug 27, 2021
36368b1
test
IgorNovozhilov Aug 27, 2021
4afcd14
test
IgorNovozhilov Aug 28, 2021
7c580c6
test
IgorNovozhilov Aug 30, 2021
dcba9e8
test
IgorNovozhilov Aug 30, 2021
cfbd659
test
IgorNovozhilov Aug 30, 2021
96478e0
init attach-shadow
IgorNovozhilov Aug 30, 2021
096af0e
test
IgorNovozhilov Aug 30, 2021
8b8acf7
test
IgorNovozhilov Aug 30, 2021
13f327f
Контейнерные элементы
IgorNovozhilov Aug 31, 2021
854b8f9
Слот по умолчанию
IgorNovozhilov Aug 31, 2021
1d74478
test
IgorNovozhilov Sep 1, 2021
2173b37
test
IgorNovozhilov Sep 3, 2021
78ac647
test
IgorNovozhilov Sep 3, 2021
6597548
+
IgorNovozhilov Sep 3, 2021
8b05834
css-custom-properties
IgorNovozhilov Sep 4, 2021
544c77f
test
IgorNovozhilov Sep 13, 2021
4968097
test
IgorNovozhilov Sep 13, 2021
165e4f6
test
IgorNovozhilov Sep 14, 2021
94dbe37
test: DocumentFragment в DocumentFragment
IgorNovozhilov Sep 14, 2021
9dfcf15
Установка атрибутов в camelCase
IgorNovozhilov Sep 14, 2021
d2fd569
обработка событий DOM - текстовый
IgorNovozhilov Sep 14, 2021
b23472b
attrName.replace
IgorNovozhilov Sep 14, 2021
cd668f8
Класс элемента в static className
IgorNovozhilov Sep 14, 2021
236a894
fix types
IgorNovozhilov Sep 15, 2021
f4e88e0
template === 'function'
IgorNovozhilov Sep 15, 2021
1cd323f
бесконечная рекурсия в resolveOptions
IgorNovozhilov Sep 15, 2021
5cfc983
Функция шаблон, основной и теневой DOM
IgorNovozhilov Sep 15, 2021
3a42dd7
коменты
IgorNovozhilov Sep 16, 2021
13803b8
Promise<OOMElement.OOMChild | void>
IgorNovozhilov Sep 16, 2021
66d434c
dom.ready
IgorNovozhilov Sep 16, 2021
c7a7e68
await myE26
IgorNovozhilov Sep 17, 2021
aca76c3
awaitedMyE26 = await myE26
IgorNovozhilov Sep 17, 2021
d4de3e6
Асинхронные типы template
IgorNovozhilov Sep 17, 2021
8a63f38
Ошибка в асинхронном шаблоне
IgorNovozhilov Sep 17, 2021
ea780cf
Ошибка в асинхронном шаблоне
IgorNovozhilov Sep 18, 2021
670fbb4
+
IgorNovozhilov Sep 18, 2021
c6ed908
+
IgorNovozhilov Sep 18, 2021
9fafff6
+
IgorNovozhilov Sep 18, 2021
c42107b
+
IgorNovozhilov Sep 18, 2021
f4898cb
+
IgorNovozhilov Sep 18, 2021
745d5c3
+
IgorNovozhilov Sep 19, 2021
5df8bb5
+
IgorNovozhilov Sep 19, 2021
c7355d4
fix shadowRootOOMStyleMap
IgorNovozhilov Sep 20, 2021
be5dd2a
Обновление логических атрибутов
IgorNovozhilov Sep 24, 2021
8ad62bf
+
IgorNovozhilov Sep 24, 2021
07577db
+
IgorNovozhilov Sep 27, 2021
0d43766
Установка innerHTML через атрибуты OOM
IgorNovozhilov Oct 26, 2021
6517155
types
IgorNovozhilov Oct 26, 2021
ceac800
privateOOMStyleMap
IgorNovozhilov Oct 26, 2021
92f3e18
Вставка oom в oom
IgorNovozhilov Oct 26, 2021
fe2edbb
pre.8
IgorNovozhilov Nov 1, 2021
ec3859d
fix c8 extends
IgorNovozhilov Jan 8, 2022
7575e4e
Reusing workflows
IgorNovozhilov Jan 8, 2022
0a2f578
+
IgorNovozhilov Jan 10, 2022
c4b360f
Работа с тегом template
IgorNovozhilov Mar 22, 2022
569289b
fix setAttribute
IgorNovozhilov Mar 22, 2022
46568a3
Element.prototype.setAttribute
IgorNovozhilov Mar 23, 2022
716b6f9
ssr
IgorNovozhilov Mar 25, 2022
fbc0831
core:compatibility
IgorNovozhilov Apr 1, 2022
8f0f4c5
userAgent
IgorNovozhilov Apr 1, 2022
4beb7fc
pre.17
IgorNovozhilov Apr 2, 2022
6e5d766
project-actions
IgorNovozhilov Jun 14, 2023
2957abf
at MyAsyncError1
IgorNovozhilov Jun 17, 2023
a6cba21
upd
IgorNovozhilov Jun 17, 2023
f2034ba
OOMElementProxy<T>
IgorNovozhilov Jun 18, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"extends": "@nodutilus",
"env": {
"browser": true,
"node": false
},
"overrides": [
{
"files": [
"./test/**"
],
"env": {
"browser": true,
"node": true
}
},
{
"files": [
"./webtest/index.js"
],
"env": {
"browser": false,
"node": true
}
}
],
"ignorePatterns": [
"/_deprecated/",
"/build/",
"/@notml/notml/check-compatible.min.js",
"/@notml/notml/core.js",
"/@notml/notml/core.min.js",
"*.d.ts"
]
}
15 changes: 15 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Checks ➜ Tests ➜ Publish

on:
pull_request:
branches:
- main
push:
branches:
- main

jobs:
main:
uses: nodutilus/project-actions/.github/workflows/main.yml@main
secrets:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
96 changes: 6 additions & 90 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,103 +2,19 @@
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# Next.js build output
.next

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port
# Generate output
/coverage
/build
/@notml/notml/check-compatible.min.js
/@notml/notml/core.js
/@notml/notml/core.min.js
2 changes: 2 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
save=false
package-lock=false
13 changes: 13 additions & 0 deletions .nycrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"extends": "@nodutilus/project-config/nyc",
"include": [
"@notml",
"test"
],
"exclude": [
"@notml/notml/**",
"test/pre-test.js",
"test/mem.js",
"**/*.d.ts"
]
}
22 changes: 22 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"version": "0.2.0",
"configurations": [{
"type": "node",
"request": "launch",
"name": "Current file",
"skipFiles": [
"<node_internals>/**"
],
"program": "${file}"
},
{
"type": "node",
"request": "launch",
"name": "Tests",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/test/index.js"
}
]
}
22 changes: 22 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"editor.tabSize": 2,
"editor.rulers": [
110
],
"editor.detectIndentation": false,
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 3000,
"files.trimTrailingWhitespace": true,
"files.eol": "\n",
"files.insertFinalNewline": true,
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[jsonс]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"javascript.validate.enable": false
}
11 changes: 11 additions & 0 deletions @notml/core/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# NotML Core [![npm][npmbadge]][npm] [![build][badge]][actions]

Not a HTML - is object-oriented modeling of HTML and CSS

[npmbadge]: https://img.shields.io/npm/v/@notml/core?label=@notml/core

[npm]: https://www.npmjs.com/package/@notml/core

[badge]: https://github.com/nodutilus/notml/actions/workflows/main.yml/badge.svg

[actions]: https://github.com/nodutilus/notml/actions
20 changes: 20 additions & 0 deletions @notml/core/core.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { OOMElement } from './lib/factory.js'
import { extendsCustomElement, defineCustomElement } from './lib/custom-elements.js'

const oomOrigin = Object.assign(Object.create(null), {
extends: extendsCustomElement,
define: defineCustomElement
})


/** @type {import('@notml/core').OOMProxy} */
export const oom = oomOrigin.oom = new Proxy(OOMElement, {
/** @type {import('@notml/core').OOMProxy.apply} */
apply: (_, __, args) => {
return OOMElement.createProxy(args)
},
get: (_, tagName, proxy) => {
return oomOrigin[tagName] || ((...args) => proxy(tagName, ...args))
},
set: () => false
})
Loading