@lotte-innovate/ui-component-test 0.1.100 → 0.1.101

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. package/dist/globals.css +3 -3
  2. package/dist/lib/_virtual/tinymce.mjs +2 -0
  3. package/dist/lib/_virtual/tinymce.mjs.map +1 -0
  4. package/dist/lib/_virtual/tinymce2.mjs +2 -0
  5. package/dist/lib/_virtual/tinymce2.mjs.map +1 -0
  6. package/dist/lib/components/Editor/index.d.ts +1 -0
  7. package/dist/lib/components/Editor/index.js +10 -0
  8. package/dist/lib/components/Gnb/GnbLogo.js +1 -0
  9. package/dist/lib/dist/lib/components/Editor/index.mjs +1 -1
  10. package/dist/lib/dist/lib/components/Gnb/GnbLogo.mjs +1 -0
  11. package/dist/lib/dist/lib/components/Gnb/GnbLogo.mjs.map +1 -1
  12. package/dist/lib/node_modules/tinymce/tinymce.mjs +2 -0
  13. package/dist/lib/node_modules/tinymce/tinymce.mjs.map +1 -0
  14. package/dist/lib/tsconfig.tsbuildinfo +1 -1
  15. package/dist/tsconfig.tsbuildinfo +1 -1
  16. package/package.json +2 -1
  17. package/dist/tinymce/CHANGELOG.md +0 -3453
  18. package/dist/tinymce/README.md +0 -73
  19. package/dist/tinymce/bower.json +0 -27
  20. package/dist/tinymce/composer.json +0 -52
  21. package/dist/tinymce/icons/default/icons.js +0 -194
  22. package/dist/tinymce/icons/default/icons.min.js +0 -1
  23. package/dist/tinymce/icons/default/index.js +0 -7
  24. package/dist/tinymce/license.txt +0 -21
  25. package/dist/tinymce/models/dom/index.js +0 -7
  26. package/dist/tinymce/models/dom/model.js +0 -8040
  27. package/dist/tinymce/models/dom/model.min.js +0 -4
  28. package/dist/tinymce/package.json +0 -32
  29. package/dist/tinymce/plugins/advlist/index.js +0 -7
  30. package/dist/tinymce/plugins/advlist/plugin.js +0 -259
  31. package/dist/tinymce/plugins/advlist/plugin.min.js +0 -4
  32. package/dist/tinymce/plugins/autolink/index.js +0 -7
  33. package/dist/tinymce/plugins/autolink/plugin.js +0 -228
  34. package/dist/tinymce/plugins/autolink/plugin.min.js +0 -4
  35. package/dist/tinymce/plugins/code/index.js +0 -7
  36. package/dist/tinymce/plugins/code/plugin.js +0 -85
  37. package/dist/tinymce/plugins/code/plugin.min.js +0 -4
  38. package/dist/tinymce/plugins/codesample/index.js +0 -7
  39. package/dist/tinymce/plugins/codesample/plugin.js +0 -2463
  40. package/dist/tinymce/plugins/codesample/plugin.min.js +0 -4
  41. package/dist/tinymce/plugins/image/index.js +0 -7
  42. package/dist/tinymce/plugins/image/plugin.js +0 -1505
  43. package/dist/tinymce/plugins/image/plugin.min.js +0 -4
  44. package/dist/tinymce/plugins/link/index.js +0 -7
  45. package/dist/tinymce/plugins/link/plugin.js +0 -1242
  46. package/dist/tinymce/plugins/link/plugin.min.js +0 -4
  47. package/dist/tinymce/plugins/lists/index.js +0 -7
  48. package/dist/tinymce/plugins/lists/plugin.js +0 -2172
  49. package/dist/tinymce/plugins/lists/plugin.min.js +0 -4
  50. package/dist/tinymce/plugins/table/index.js +0 -7
  51. package/dist/tinymce/plugins/table/plugin.js +0 -3462
  52. package/dist/tinymce/plugins/table/plugin.min.js +0 -4
  53. package/dist/tinymce/skins/content/default/content.css +0 -61
  54. package/dist/tinymce/skins/content/default/content.js +0 -2
  55. package/dist/tinymce/skins/content/default/content.min.css +0 -1
  56. package/dist/tinymce/skins/ui/oxide/content.css +0 -785
  57. package/dist/tinymce/skins/ui/oxide/content.inline.css +0 -779
  58. package/dist/tinymce/skins/ui/oxide/content.inline.js +0 -2
  59. package/dist/tinymce/skins/ui/oxide/content.inline.min.css +0 -1
  60. package/dist/tinymce/skins/ui/oxide/content.js +0 -2
  61. package/dist/tinymce/skins/ui/oxide/content.min.css +0 -1
  62. package/dist/tinymce/skins/ui/oxide/skin.css +0 -3763
  63. package/dist/tinymce/skins/ui/oxide/skin.js +0 -2
  64. package/dist/tinymce/skins/ui/oxide/skin.min.css +0 -1
  65. package/dist/tinymce/skins/ui/oxide/skin.shadowdom.css +0 -30
  66. package/dist/tinymce/skins/ui/oxide/skin.shadowdom.js +0 -2
  67. package/dist/tinymce/skins/ui/oxide/skin.shadowdom.min.css +0 -1
  68. package/dist/tinymce/skins/ui/oxide-dark/content.css +0 -766
  69. package/dist/tinymce/skins/ui/oxide-dark/content.inline.css +0 -779
  70. package/dist/tinymce/skins/ui/oxide-dark/content.inline.js +0 -2
  71. package/dist/tinymce/skins/ui/oxide-dark/content.inline.min.css +0 -1
  72. package/dist/tinymce/skins/ui/oxide-dark/content.js +0 -2
  73. package/dist/tinymce/skins/ui/oxide-dark/content.min.css +0 -1
  74. package/dist/tinymce/skins/ui/oxide-dark/skin.css +0 -3766
  75. package/dist/tinymce/skins/ui/oxide-dark/skin.js +0 -2
  76. package/dist/tinymce/skins/ui/oxide-dark/skin.min.css +0 -1
  77. package/dist/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +0 -30
  78. package/dist/tinymce/skins/ui/oxide-dark/skin.shadowdom.js +0 -2
  79. package/dist/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +0 -1
  80. package/dist/tinymce/themes/silver/index.js +0 -7
  81. package/dist/tinymce/themes/silver/theme.js +0 -30775
  82. package/dist/tinymce/themes/silver/theme.min.js +0 -384
  83. package/dist/tinymce/tinymce.d.ts +0 -3238
  84. package/dist/tinymce/tinymce.js +0 -31779
  85. package/dist/tinymce/tinymce.min.js +0 -384
@@ -1,228 +0,0 @@
1
- /**
2
- * TinyMCE version 6.8.5 (TBD)
3
- */
4
-
5
- (function () {
6
- 'use strict';
7
-
8
- var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');
9
-
10
- const link = () => /(?:[A-Za-z][A-Za-z\d.+-]{0,14}:\/\/(?:[-.~*+=!&;:'%@?^${}(),\w]+@)?|www\.|[-;:&=+$,.\w]+@)[A-Za-z\d-]+(?:\.[A-Za-z\d-]+)*(?::\d+)?(?:\/(?:[-.~*+=!;:'%@$(),\/\w]*[-~*+=%@$()\/\w])?)?(?:\?(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?/g;
11
-
12
- const option = name => editor => editor.options.get(name);
13
- const register = editor => {
14
- const registerOption = editor.options.register;
15
- registerOption('autolink_pattern', {
16
- processor: 'regexp',
17
- default: new RegExp('^' + link().source + '$', 'i')
18
- });
19
- registerOption('link_default_target', { processor: 'string' });
20
- registerOption('link_default_protocol', {
21
- processor: 'string',
22
- default: 'https'
23
- });
24
- };
25
- const getAutoLinkPattern = option('autolink_pattern');
26
- const getDefaultLinkTarget = option('link_default_target');
27
- const getDefaultLinkProtocol = option('link_default_protocol');
28
- const allowUnsafeLinkTarget = option('allow_unsafe_link_target');
29
-
30
- const hasProto = (v, constructor, predicate) => {
31
- var _a;
32
- if (predicate(v, constructor.prototype)) {
33
- return true;
34
- } else {
35
- return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;
36
- }
37
- };
38
- const typeOf = x => {
39
- const t = typeof x;
40
- if (x === null) {
41
- return 'null';
42
- } else if (t === 'object' && Array.isArray(x)) {
43
- return 'array';
44
- } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {
45
- return 'string';
46
- } else {
47
- return t;
48
- }
49
- };
50
- const isType = type => value => typeOf(value) === type;
51
- const eq = t => a => t === a;
52
- const isString = isType('string');
53
- const isUndefined = eq(undefined);
54
- const isNullable = a => a === null || a === undefined;
55
- const isNonNullable = a => !isNullable(a);
56
-
57
- const not = f => t => !f(t);
58
-
59
- const hasOwnProperty = Object.hasOwnProperty;
60
- const has = (obj, key) => hasOwnProperty.call(obj, key);
61
-
62
- const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;
63
- const contains = (str, substr, start = 0, end) => {
64
- const idx = str.indexOf(substr, start);
65
- if (idx !== -1) {
66
- return isUndefined(end) ? true : idx + substr.length <= end;
67
- } else {
68
- return false;
69
- }
70
- };
71
- const startsWith = (str, prefix) => {
72
- return checkRange(str, prefix, 0);
73
- };
74
-
75
- const zeroWidth = '\uFEFF';
76
- const isZwsp = char => char === zeroWidth;
77
- const removeZwsp = s => s.replace(/\uFEFF/g, '');
78
-
79
- var global = tinymce.util.Tools.resolve('tinymce.dom.TextSeeker');
80
-
81
- const isTextNode = node => node.nodeType === 3;
82
- const isElement = node => node.nodeType === 1;
83
- const isBracketOrSpace = char => /^[(\[{ \u00a0]$/.test(char);
84
- const hasProtocol = url => /^([A-Za-z][A-Za-z\d.+-]*:\/\/)|mailto:/.test(url);
85
- const isPunctuation = char => /[?!,.;:]/.test(char);
86
- const findChar = (text, index, predicate) => {
87
- for (let i = index - 1; i >= 0; i--) {
88
- const char = text.charAt(i);
89
- if (!isZwsp(char) && predicate(char)) {
90
- return i;
91
- }
92
- }
93
- return -1;
94
- };
95
- const freefallRtl = (container, offset) => {
96
- let tempNode = container;
97
- let tempOffset = offset;
98
- while (isElement(tempNode) && tempNode.childNodes[tempOffset]) {
99
- tempNode = tempNode.childNodes[tempOffset];
100
- tempOffset = isTextNode(tempNode) ? tempNode.data.length : tempNode.childNodes.length;
101
- }
102
- return {
103
- container: tempNode,
104
- offset: tempOffset
105
- };
106
- };
107
-
108
- const parseCurrentLine = (editor, offset) => {
109
- var _a;
110
- const voidElements = editor.schema.getVoidElements();
111
- const autoLinkPattern = getAutoLinkPattern(editor);
112
- const {dom, selection} = editor;
113
- if (dom.getParent(selection.getNode(), 'a[href]') !== null) {
114
- return null;
115
- }
116
- const rng = selection.getRng();
117
- const textSeeker = global(dom, node => {
118
- return dom.isBlock(node) || has(voidElements, node.nodeName.toLowerCase()) || dom.getContentEditable(node) === 'false';
119
- });
120
- const {
121
- container: endContainer,
122
- offset: endOffset
123
- } = freefallRtl(rng.endContainer, rng.endOffset);
124
- const root = (_a = dom.getParent(endContainer, dom.isBlock)) !== null && _a !== void 0 ? _a : dom.getRoot();
125
- const endSpot = textSeeker.backwards(endContainer, endOffset + offset, (node, offset) => {
126
- const text = node.data;
127
- const idx = findChar(text, offset, not(isBracketOrSpace));
128
- return idx === -1 || isPunctuation(text[idx]) ? idx : idx + 1;
129
- }, root);
130
- if (!endSpot) {
131
- return null;
132
- }
133
- let lastTextNode = endSpot.container;
134
- const startSpot = textSeeker.backwards(endSpot.container, endSpot.offset, (node, offset) => {
135
- lastTextNode = node;
136
- const idx = findChar(node.data, offset, isBracketOrSpace);
137
- return idx === -1 ? idx : idx + 1;
138
- }, root);
139
- const newRng = dom.createRng();
140
- if (!startSpot) {
141
- newRng.setStart(lastTextNode, 0);
142
- } else {
143
- newRng.setStart(startSpot.container, startSpot.offset);
144
- }
145
- newRng.setEnd(endSpot.container, endSpot.offset);
146
- const rngText = removeZwsp(newRng.toString());
147
- const matches = rngText.match(autoLinkPattern);
148
- if (matches) {
149
- let url = matches[0];
150
- if (startsWith(url, 'www.')) {
151
- const protocol = getDefaultLinkProtocol(editor);
152
- url = protocol + '://' + url;
153
- } else if (contains(url, '@') && !hasProtocol(url)) {
154
- url = 'mailto:' + url;
155
- }
156
- return {
157
- rng: newRng,
158
- url
159
- };
160
- } else {
161
- return null;
162
- }
163
- };
164
- const convertToLink = (editor, result) => {
165
- const {dom, selection} = editor;
166
- const {rng, url} = result;
167
- const bookmark = selection.getBookmark();
168
- selection.setRng(rng);
169
- const command = 'createlink';
170
- const args = {
171
- command,
172
- ui: false,
173
- value: url
174
- };
175
- const beforeExecEvent = editor.dispatch('BeforeExecCommand', args);
176
- if (!beforeExecEvent.isDefaultPrevented()) {
177
- editor.getDoc().execCommand(command, false, url);
178
- editor.dispatch('ExecCommand', args);
179
- const defaultLinkTarget = getDefaultLinkTarget(editor);
180
- if (isString(defaultLinkTarget)) {
181
- const anchor = selection.getNode();
182
- dom.setAttrib(anchor, 'target', defaultLinkTarget);
183
- if (defaultLinkTarget === '_blank' && !allowUnsafeLinkTarget(editor)) {
184
- dom.setAttrib(anchor, 'rel', 'noopener');
185
- }
186
- }
187
- }
188
- selection.moveToBookmark(bookmark);
189
- editor.nodeChanged();
190
- };
191
- const handleSpacebar = editor => {
192
- const result = parseCurrentLine(editor, -1);
193
- if (isNonNullable(result)) {
194
- convertToLink(editor, result);
195
- }
196
- };
197
- const handleBracket = handleSpacebar;
198
- const handleEnter = editor => {
199
- const result = parseCurrentLine(editor, 0);
200
- if (isNonNullable(result)) {
201
- convertToLink(editor, result);
202
- }
203
- };
204
- const setup = editor => {
205
- editor.on('keydown', e => {
206
- if (e.keyCode === 13 && !e.isDefaultPrevented()) {
207
- handleEnter(editor);
208
- }
209
- });
210
- editor.on('keyup', e => {
211
- if (e.keyCode === 32) {
212
- handleSpacebar(editor);
213
- } else if (e.keyCode === 48 && e.shiftKey || e.keyCode === 221) {
214
- handleBracket(editor);
215
- }
216
- });
217
- };
218
-
219
- var Plugin = () => {
220
- global$1.add('autolink', editor => {
221
- register(editor);
222
- setup(editor);
223
- });
224
- };
225
-
226
- Plugin();
227
-
228
- })();
@@ -1,4 +0,0 @@
1
- /**
2
- * TinyMCE version 6.8.5 (TBD)
3
- */
4
- !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>t.options.get(e),n=t("autolink_pattern"),o=t("link_default_target"),r=t("link_default_protocol"),a=t("allow_unsafe_link_target"),s=("string",e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(a=o.constructor)||void 0===a?void 0:a.name)===r.name)?"string":t;var n,o,r,a})(e));const l=(void 0,e=>undefined===e);const i=e=>!(e=>null==e)(e),c=Object.hasOwnProperty,d=e=>"\ufeff"===e;var u=tinymce.util.Tools.resolve("tinymce.dom.TextSeeker");const f=e=>/^[(\[{ \u00a0]$/.test(e),g=(e,t,n)=>{for(let o=t-1;o>=0;o--){const t=e.charAt(o);if(!d(t)&&n(t))return o}return-1},m=(e,t)=>{var o;const a=e.schema.getVoidElements(),s=n(e),{dom:i,selection:d}=e;if(null!==i.getParent(d.getNode(),"a[href]"))return null;const m=d.getRng(),k=u(i,(e=>{return i.isBlock(e)||(t=a,n=e.nodeName.toLowerCase(),c.call(t,n))||"false"===i.getContentEditable(e);var t,n})),{container:p,offset:y}=((e,t)=>{let n=e,o=t;for(;1===n.nodeType&&n.childNodes[o];)n=n.childNodes[o],o=3===n.nodeType?n.data.length:n.childNodes.length;return{container:n,offset:o}})(m.endContainer,m.endOffset),w=null!==(o=i.getParent(p,i.isBlock))&&void 0!==o?o:i.getRoot(),h=k.backwards(p,y+t,((e,t)=>{const n=e.data,o=g(n,t,(r=f,e=>!r(e)));var r,a;return-1===o||(a=n[o],/[?!,.;:]/.test(a))?o:o+1}),w);if(!h)return null;let v=h.container;const _=k.backwards(h.container,h.offset,((e,t)=>{v=e;const n=g(e.data,t,f);return-1===n?n:n+1}),w),A=i.createRng();_?A.setStart(_.container,_.offset):A.setStart(v,0),A.setEnd(h.container,h.offset);const C=A.toString().replace(/\uFEFF/g,"").match(s);if(C){let t=C[0];return $="www.",(b=t).length>=4&&b.substr(0,4)===$?t=r(e)+"://"+t:((e,t,n=0,o)=>{const r=e.indexOf(t,n);return-1!==r&&(!!l(o)||r+t.length<=o)})(t,"@")&&!(e=>/^([A-Za-z][A-Za-z\d.+-]*:\/\/)|mailto:/.test(e))(t)&&(t="mailto:"+t),{rng:A,url:t}}var b,$;return null},k=(e,t)=>{const{dom:n,selection:r}=e,{rng:l,url:i}=t,c=r.getBookmark();r.setRng(l);const d="createlink",u={command:d,ui:!1,value:i};if(!e.dispatch("BeforeExecCommand",u).isDefaultPrevented()){e.getDoc().execCommand(d,!1,i),e.dispatch("ExecCommand",u);const t=o(e);if(s(t)){const o=r.getNode();n.setAttrib(o,"target",t),"_blank"!==t||a(e)||n.setAttrib(o,"rel","noopener")}}r.moveToBookmark(c),e.nodeChanged()},p=e=>{const t=m(e,-1);i(t)&&k(e,t)},y=p;e.add("autolink",(e=>{(e=>{const t=e.options.register;t("autolink_pattern",{processor:"regexp",default:new RegExp("^"+/(?:[A-Za-z][A-Za-z\d.+-]{0,14}:\/\/(?:[-.~*+=!&;:'%@?^${}(),\w]+@)?|www\.|[-;:&=+$,.\w]+@)[A-Za-z\d-]+(?:\.[A-Za-z\d-]+)*(?::\d+)?(?:\/(?:[-.~*+=!;:'%@$(),\/\w]*[-~*+=%@$()\/\w])?)?(?:\?(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?(?:#(?:[-.~*+=!&;:'%@?^${}(),\/\w]+))?/g.source+"$","i")}),t("link_default_target",{processor:"string"}),t("link_default_protocol",{processor:"string",default:"https"})})(e),(e=>{e.on("keydown",(t=>{13!==t.keyCode||t.isDefaultPrevented()||(e=>{const t=m(e,0);i(t)&&k(e,t)})(e)})),e.on("keyup",(t=>{32===t.keyCode?p(e):(48===t.keyCode&&t.shiftKey||221===t.keyCode)&&y(e)}))})(e)}))}();
@@ -1,7 +0,0 @@
1
- // Exports the "code" plugin for usage with module loaders
2
- // Usage:
3
- // CommonJS:
4
- // require('tinymce/plugins/code')
5
- // ES2015:
6
- // import 'tinymce/plugins/code'
7
- require('./plugin.js');
@@ -1,85 +0,0 @@
1
- /**
2
- * TinyMCE version 6.8.5 (TBD)
3
- */
4
-
5
- (function () {
6
- 'use strict';
7
-
8
- var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
9
-
10
- const setContent = (editor, html) => {
11
- editor.focus();
12
- editor.undoManager.transact(() => {
13
- editor.setContent(html);
14
- });
15
- editor.selection.setCursorLocation();
16
- editor.nodeChanged();
17
- };
18
- const getContent = editor => {
19
- return editor.getContent({ source_view: true });
20
- };
21
-
22
- const open = editor => {
23
- const editorContent = getContent(editor);
24
- editor.windowManager.open({
25
- title: 'Source Code',
26
- size: 'large',
27
- body: {
28
- type: 'panel',
29
- items: [{
30
- type: 'textarea',
31
- name: 'code'
32
- }]
33
- },
34
- buttons: [
35
- {
36
- type: 'cancel',
37
- name: 'cancel',
38
- text: 'Cancel'
39
- },
40
- {
41
- type: 'submit',
42
- name: 'save',
43
- text: 'Save',
44
- primary: true
45
- }
46
- ],
47
- initialData: { code: editorContent },
48
- onSubmit: api => {
49
- setContent(editor, api.getData().code);
50
- api.close();
51
- }
52
- });
53
- };
54
-
55
- const register$1 = editor => {
56
- editor.addCommand('mceCodeEditor', () => {
57
- open(editor);
58
- });
59
- };
60
-
61
- const register = editor => {
62
- const onAction = () => editor.execCommand('mceCodeEditor');
63
- editor.ui.registry.addButton('code', {
64
- icon: 'sourcecode',
65
- tooltip: 'Source code',
66
- onAction
67
- });
68
- editor.ui.registry.addMenuItem('code', {
69
- icon: 'sourcecode',
70
- text: 'Source code',
71
- onAction
72
- });
73
- };
74
-
75
- var Plugin = () => {
76
- global.add('code', editor => {
77
- register$1(editor);
78
- register(editor);
79
- return {};
80
- });
81
- };
82
-
83
- Plugin();
84
-
85
- })();
@@ -1,4 +0,0 @@
1
- /**
2
- * TinyMCE version 6.8.5 (TBD)
3
- */
4
- !function(){"use strict";tinymce.util.Tools.resolve("tinymce.PluginManager").add("code",(e=>((e=>{e.addCommand("mceCodeEditor",(()=>{(e=>{const o=(e=>e.getContent({source_view:!0}))(e);e.windowManager.open({title:"Source Code",size:"large",body:{type:"panel",items:[{type:"textarea",name:"code"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{code:o},onSubmit:o=>{((e,o)=>{e.focus(),e.undoManager.transact((()=>{e.setContent(o)})),e.selection.setCursorLocation(),e.nodeChanged()})(e,o.getData().code),o.close()}})})(e)}))})(e),(e=>{const o=()=>e.execCommand("mceCodeEditor");e.ui.registry.addButton("code",{icon:"sourcecode",tooltip:"Source code",onAction:o}),e.ui.registry.addMenuItem("code",{icon:"sourcecode",text:"Source code",onAction:o})})(e),{})))}();
@@ -1,7 +0,0 @@
1
- // Exports the "codesample" plugin for usage with module loaders
2
- // Usage:
3
- // CommonJS:
4
- // require('tinymce/plugins/codesample')
5
- // ES2015:
6
- // import 'tinymce/plugins/codesample'
7
- require('./plugin.js');