From df4ba619e9a5b758a6bf2d21e1195ace45538eb4 Mon Sep 17 00:00:00 2001 From: Neyunse Date: Fri, 25 Jul 2025 16:40:52 -0300 Subject: [PATCH 01/13] chore(release): 1.2.1 --- CHANGELOG.md | 1 + package.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ca9b3a4..c34931a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog +### [1.2.1](https://github.com/UnSetSoft/Ryunixjs/compare/v1.2.0-canary.74...v1.2.1) (2025-07-25) ## [1.2.0-canary.74](https://github.com/UnSetSoft/Ryunixjs/compare/v1.2.0-canary.73...v1.2.0-canary.74) (2025-07-25) diff --git a/package.json b/package.json index 540b76bf..557fbc87 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "RyunixJS", - "version": "1.2.0-canary.74", + "version": "1.2.1", "private": true, "homepage": "./", "workspaces": [ From ee04b385be082dfc01a25e66488823f3e37a97e1 Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 05:09:21 -0300 Subject: [PATCH 02/13] delete 16 files and update 1 file up --- extensions/ryunix/.gitattributes | 2 - extensions/ryunix/.gitignore | 2 - extensions/ryunix/.vscode/launch.json | 16 -- extensions/ryunix/.vscodeignore | 8 - extensions/ryunix/CHANGELOG.md | 13 - extensions/ryunix/README.md | 0 extensions/ryunix/eslint.config.mjs | 60 ----- extensions/ryunix/icon.png | Bin 207655 -> 0 bytes extensions/ryunix/jsconfig.json | 10 - extensions/ryunix/language-configuration.json | 148 ------------ extensions/ryunix/logo-dark.svg | 1 - extensions/ryunix/logo-light.svg | 1 - extensions/ryunix/package.json | 149 ------------ extensions/ryunix/snippets/ryx-snippets.json | 52 ---- .../ryunix/syntaxes/ryx.tmLanguage.json | 222 ------------------ .../ryunix/tags-language-configuration.json | 100 -------- packages/cra/src/cli.js | 11 +- 17 files changed, 1 insertion(+), 794 deletions(-) delete mode 100644 extensions/ryunix/.gitattributes delete mode 100644 extensions/ryunix/.gitignore delete mode 100644 extensions/ryunix/.vscode/launch.json delete mode 100644 extensions/ryunix/.vscodeignore delete mode 100644 extensions/ryunix/CHANGELOG.md delete mode 100644 extensions/ryunix/README.md delete mode 100644 extensions/ryunix/eslint.config.mjs delete mode 100644 extensions/ryunix/icon.png delete mode 100644 extensions/ryunix/jsconfig.json delete mode 100644 extensions/ryunix/language-configuration.json delete mode 100644 extensions/ryunix/logo-dark.svg delete mode 100644 extensions/ryunix/logo-light.svg delete mode 100644 extensions/ryunix/package.json delete mode 100644 extensions/ryunix/snippets/ryx-snippets.json delete mode 100644 extensions/ryunix/syntaxes/ryx.tmLanguage.json delete mode 100644 extensions/ryunix/tags-language-configuration.json diff --git a/extensions/ryunix/.gitattributes b/extensions/ryunix/.gitattributes deleted file mode 100644 index 70e63fff..00000000 --- a/extensions/ryunix/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Set default behavior to automatically normalize line endings. -* text=auto diff --git a/extensions/ryunix/.gitignore b/extensions/ryunix/.gitignore deleted file mode 100644 index aeee7322..00000000 --- a/extensions/ryunix/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -*.vsix diff --git a/extensions/ryunix/.vscode/launch.json b/extensions/ryunix/.vscode/launch.json deleted file mode 100644 index 7c83ea6b..00000000 --- a/extensions/ryunix/.vscode/launch.json +++ /dev/null @@ -1,16 +0,0 @@ -// A launch configuration that launches the extension inside a new window -// Use IntelliSense to learn about possible attributes. -// Hover to view descriptions of existing attributes. -// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Extension", - "type": "extensionHost", - "request": "launch", - "runtimeExecutable": "${execPath}", - "args": ["--extensionDevelopmentPath=${workspaceFolder}"] - } - ] -} diff --git a/extensions/ryunix/.vscodeignore b/extensions/ryunix/.vscodeignore deleted file mode 100644 index fc5f1e19..00000000 --- a/extensions/ryunix/.vscodeignore +++ /dev/null @@ -1,8 +0,0 @@ -# .vscodeignore - -.vscode/ -.git/ -node_modules/ -out/ -*.log -*.tmp \ No newline at end of file diff --git a/extensions/ryunix/CHANGELOG.md b/extensions/ryunix/CHANGELOG.md deleted file mode 100644 index c71d9886..00000000 --- a/extensions/ryunix/CHANGELOG.md +++ /dev/null @@ -1,13 +0,0 @@ -# Change Log - -## [1.1.4] - -- fixed minor bug - -## [1.1.3] - -- fixed Readme.md - -## [1.0.0] - -- Initial release diff --git a/extensions/ryunix/README.md b/extensions/ryunix/README.md deleted file mode 100644 index e69de29b..00000000 diff --git a/extensions/ryunix/eslint.config.mjs b/extensions/ryunix/eslint.config.mjs deleted file mode 100644 index 10919a22..00000000 --- a/extensions/ryunix/eslint.config.mjs +++ /dev/null @@ -1,60 +0,0 @@ -import globals from 'globals' -import path from 'node:path' -import { fileURLToPath } from 'node:url' -import js from '@eslint/js' -import { FlatCompat } from '@eslint/eslintrc' - -const __filename = fileURLToPath(import.meta.url) -const __dirname = path.dirname(__filename) -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, - allConfig: js.configs.all, -}) - -export default [ - ...compat.extends('eslint:recommended'), - { - plugins: {}, - - languageOptions: { - globals: { - ...globals.browser, - ...globals.node, - }, - - ecmaVersion: 2021, - sourceType: 'module', - - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - }, - }, - - rules: {}, - }, - ...compat.extends('eslint:recommended').map((config) => ({ - ...config, - files: ['**/*.ryx'], - })), - { - files: ['**/*.ryx'], - - languageOptions: { - ecmaVersion: 2021, - sourceType: 'module', - - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - }, - }, - - rules: { - 'no-unused-vars': 'off', - }, - }, -] diff --git a/extensions/ryunix/icon.png b/extensions/ryunix/icon.png deleted file mode 100644 index b8ec312cc2ade470a59132a4ff5086caa784d7ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207655 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 =f1im1XM;()oL_9u=jgh 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σ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ª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 diff --git a/extensions/ryunix/jsconfig.json b/extensions/ryunix/jsconfig.json deleted file mode 100644 index 2f58685a..00000000 --- a/extensions/ryunix/jsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "ES6", - "outDir": "out", - "noLib": true, - "sourceMap": true - }, - "exclude": ["node_modules"] -} diff --git a/extensions/ryunix/language-configuration.json b/extensions/ryunix/language-configuration.json deleted file mode 100644 index ddf95d17..00000000 --- a/extensions/ryunix/language-configuration.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "comments": { - "lineComment": "//", - "blockComment": ["/*", "*/"] - }, - "brackets": [ - ["${", "}"], - ["{", "}"], - ["[", "]"], - ["(", ")"] - ], - "autoClosingPairs": [ - { - "open": "{", - "close": "}" - }, - { - "open": "[", - "close": "]" - }, - { - "open": "(", - "close": ")" - }, - { - "open": "'", - "close": "'", - "notIn": ["string", "comment"] - }, - { - "open": "\"", - "close": "\"", - "notIn": ["string"] - }, - { - "open": "`", - "close": "`", - "notIn": ["string", "comment"] - }, - { - "open": "/**", - "close": " */", - "notIn": ["string"] - } - ], - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["'", "'"], - ["\"", "\""], - ["`", "`"], - ["<", ">"] - ], - "autoCloseBefore": ";:.,=}])>` \n\t", - "folding": { - "markers": { - "start": "^\\s*//\\s*#?region\\b", - "end": "^\\s*//\\s*#?endregion\\b" - } - }, - "wordPattern": { - "pattern": "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\@\\!\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>/\\?\\s]+)" - }, - "indentationRules": { - "decreaseIndentPattern": { - "pattern": "^((?!.*?/\\*).*\\*/)?\\s*[\\}\\]].*$" - }, - "increaseIndentPattern": { - "pattern": "^((?!//).)*(\\{([^}\"'`/]*|(\\t|[ ])*//.*)|\\([^)\"'`/]*|\\[[^\\]\"'`/]*)$" - }, - - "unIndentedLinePattern": { - "pattern": "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$|^(\\t|[ ])*[ ]\\*/\\s*$|^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$" - } - }, - "onEnterRules": [ - { - "beforeText": { - "pattern": "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$" - }, - "afterText": { - "pattern": "^\\s*\\*/$" - }, - "action": { - "indent": "indentOutdent", - "appendText": " * " - } - }, - { - "beforeText": { - "pattern": "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$" - }, - "action": { - "indent": "none", - "appendText": " * " - } - }, - { - "beforeText": { - "pattern": "^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$" - }, - "previousLineText": { - "pattern": "(?=^(\\s*(/\\*\\*|\\*)).*)(?=(?!(\\s*\\*/)))" - }, - "action": { - "indent": "none", - "appendText": "* " - } - }, - { - "beforeText": { - "pattern": "^(\\t|[ ])*[ ]\\*/\\s*$" - }, - "action": { - "indent": "none", - "removeText": 1 - } - }, - { - "beforeText": { - "pattern": "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$" - }, - "action": { - "indent": "none", - "removeText": 1 - } - }, - { - "beforeText": { - "pattern": "^\\s*(\\bcase\\s.+:|\\bdefault:)$" - }, - "afterText": { - "pattern": "^(?!\\s*(\\bcase\\b|\\bdefault\\b))" - }, - "action": { - "indent": "indent" - } - }, - { - "previousLineText": "^\\s*(((else ?)?if|for|while)\\s*\\(.*\\)\\s*|else\\s*)$", - "beforeText": "^\\s+([^{i\\s]|i(?!f\\b))", - "action": { - "indent": "outdent" - } - } - ] -} diff --git a/extensions/ryunix/logo-dark.svg b/extensions/ryunix/logo-dark.svg deleted file mode 100644 index bf92ff6e..00000000 --- a/extensions/ryunix/logo-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/extensions/ryunix/logo-light.svg b/extensions/ryunix/logo-light.svg deleted file mode 100644 index 7c600980..00000000 --- a/extensions/ryunix/logo-light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/extensions/ryunix/package.json b/extensions/ryunix/package.json deleted file mode 100644 index 397a1b7c..00000000 --- a/extensions/ryunix/package.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "name": "ryunixjs", - "displayName": "RyunixJS", - "description": "Ryunix language support", - "publisher": "unsetsoft", - "version": "1.0.4", - "license": "MIT", - "homepage": "https://github.com/UnSetSoft/Ryunixjs", - "bugs": { - "url": "https://github.com/UnSetSoft/Ryunixjs/issues/new/choose" - }, - "repository": { - "type": "git", - "url": "https://github.com/UnSetSoft/Ryunixjs" - }, - "icon": "icon.png", - "engines": { - "vscode": "^1.60.0" - }, - "categories": [ - "Programming Languages", - "Snippets" - ], - "scripts": { - "build": "vsce package", - "pb": "vsce publish" - }, - "contributes": { - "configurationDefaults": { - "[ryx]": { - "editor.maxTokenizationLineLength": 2500, - "editor.formatOnSave": true, - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true - } - } - }, - "languages": [ - { - "id": "ryx", - "aliases": [ - "JavaScript RYX", - "JavaScript Ryunix", - "ryx" - ], - "extensions": [ - ".ryx", - "ryunix.config.js" - ], - "configuration": "./language-configuration.json", - "firstLine": "^#!\\s*/?.*\\bryunix\\b", - "icon": { - "light": "./logo-light.svg", - "dark": "./logo-dark.svg" - } - }, - { - "id": "ryx-tags", - "aliases": [], - "configuration": "./tags-language-configuration.json" - } - ], - "grammars": [ - { - "language": "ryx", - "scopeName": "source.js.ryx", - "path": "./syntaxes/ryx.tmLanguage.json", - "embeddedLanguages": { - "meta.tag.js": "ryx-tags", - "meta.tag.without-attributes.js": "ryx-tags", - "meta.tag.attributes.js.ryx": "ryx", - "meta.embedded.expression.js": "ryx" - }, - "tokenTypes": { - "meta.template.expression": "other", - "meta.template.expression string": "string", - "meta.template.expression comment": "comment", - "entity.name.type.instance.jsdoc": "other", - "entity.name.function.tagged-template": "other", - "meta.import string.quoted": "other", - "variable.other.jsdoc": "other" - }, - "injectTo": [ - "source.js" - ] - } - ], - "semanticTokenScopes": [ - { - "language": "ryx", - "scopes": { - "property": [ - "variable.other.property.ryx" - ], - "property.readonly": [ - "variable.other.constant.property.ryx" - ], - "variable": [ - "variable.other.readwrite.ryx" - ], - "variable.readonly": [ - "variable.other.constant.object.ryx" - ], - "function": [ - "entity.name.function.ryx" - ], - "namespace": [ - "entity.name.type.module.ryx" - ], - "variable.defaultLibrary": [ - "support.variable.js" - ], - "function.defaultLibrary": [ - "support.function.js" - ] - } - } - ], - "snippets": [ - { - "language": "ryx", - "path": "./snippets/ryx-snippets.json" - } - ], - "configuration": { - "eslint.validate": [ - "javascript", - "javascriptreact", - "typescript", - "typescriptreact", - "ryx" - ], - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true - }, - "emmet.includeLanguages": { - "ryx": "html,javascript,javascriptreact" - } - } - }, - "devDependencies": { - "typescript": "^4.0.0", - "vscode": "^1.1.33", - "eslint": "^7.32.0", - "prettier": "^2.3.2", - "@vscode/vsce": "^2.27.0" - } -} diff --git a/extensions/ryunix/snippets/ryx-snippets.json b/extensions/ryunix/snippets/ryx-snippets.json deleted file mode 100644 index e3bf7637..00000000 --- a/extensions/ryunix/snippets/ryx-snippets.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Return Fragment": { - "prefix": "r:rfra", - "body": [" return (", " <>", " $1", " ", " );"], - "description": "Create a Fragment with return" - }, - "Fragment": { - "prefix": "r:fra", - "body": ["<>$1"], - "description": "Create a Fragment" - }, - "Component": { - "prefix": "r:afc", - "body": [ - "const ${1:ComponentName} = () => {", - " return (", - " <>", - " $2", - " ", - " );", - "};", - "", - "export default ${1:ComponentName};" - ], - "description": "Create a arrow function component" - }, - "useStore": { - "prefix": "r:us", - "body": ["const [${1:storeName}, ${2:setName}] = useStore()"], - "description": "Create a useStore state" - }, - "useEffect": { - "prefix": "r:ue", - "body": ["useEffect(() => {", " $1", "}, []);"], - "description": "Create a useEffect" - }, - "Import Ryunix": { - "prefix": "r:imp", - "body": ["import Ryunix from '@unsetsoft/ryunix'"], - "description": "Import Ryunix lib" - }, - "Import useStore": { - "prefix": "r:store", - "body": ["import { useStore } from '@unsetsoft/ryunix'"], - "description": "Import useStore" - }, - "Import useEffect": { - "prefix": "r:effect", - "body": ["import { useEffect } from '@unsetsoft/ryunix'"], - "description": "Import useEffect from Ryunix lib" - } -} diff --git a/extensions/ryunix/syntaxes/ryx.tmLanguage.json b/extensions/ryunix/syntaxes/ryx.tmLanguage.json deleted file mode 100644 index 79813251..00000000 --- a/extensions/ryunix/syntaxes/ryx.tmLanguage.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", - "name": "RYX", - "scopeName": "source.js.ryx", - "fileTypes": ["ryx"], - "patterns": [ - { - "include": "#directives" - }, - { - "include": "#statements" - }, - { - "include": "#shebang" - }, - { - "include": "text.html.basic" - }, - { - "include": "source.js" - } - ], - "repository": { - "directives": { - "patterns": [ - { - "match": "^\\s*#\\w+", - "name": "keyword.control.directive.ryx" - } - ] - }, - "statements": { - "patterns": [ - { - "include": "#jsx" - }, - { - "include": "#function_call" - }, - { - "include": "#variable_declaration" - }, - { - "include": "#object_literal" - }, - { - "include": "#array_literal" - }, - { - "include": "#string_literal" - }, - { - "include": "#number_literal" - }, - { - "include": "#comment" - } - ] - }, - "shebang": { - "patterns": [ - { - "match": "^#!.*$", - "name": "comment.line.shebang.ryx" - } - ] - }, - "jsx": { - "begin": "<", - "end": ">", - "captures": { - "0": { - "name": "punctuation.definition.tag.ryx" - }, - "1": { - "patterns": [ - { - "include": "#tag_name" - }, - { - "include": "#attribute" - }, - { - "include": "#tag_end" - } - ] - } - } - }, - "function_call": { - "match": "\\b\\w+\\(", - "name": "entity.name.function.call.ryx", - "captures": { - "0": { - "name": "entity.name.function.ryx" - } - } - }, - "variable_declaration": { - "match": "\\b(let|const|var)\\s+\\w+\\b", - "name": "variable.declaration.ryx", - "captures": { - "1": { - "name": "storage.type.ryx" - }, - "2": { - "name": "variable.other.readwrite.ryx" - } - } - }, - "object_literal": { - "begin": "{", - "end": "}", - "captures": { - "0": { - "name": "punctuation.section.object.ryx" - }, - "1": { - "patterns": [ - { - "include": "#object_key_value_pair" - } - ] - }, - "2": { - "name": "punctuation.section.object.ryx" - } - } - }, - "object_key_value_pair": { - "patterns": [ - { - "match": "\\b\\w+\\b\\s*:", - "name": "entity.name.tag.ryx", - "captures": { - "0": { - "name": "entity.name.tag.ryx" - } - } - } - ] - }, - "array_literal": { - "begin": "\\[", - "end": "\\]", - "captures": { - "0": { - "name": "punctuation.section.array.ryx" - }, - "1": { - "patterns": [ - { - "include": "#array_value" - } - ] - }, - "2": { - "name": "punctuation.section.array.ryx" - } - } - }, - "array_value": { - "patterns": [ - { - "match": "\\b\\w+\\b", - "name": "variable.other.readwrite.ryx" - } - ] - }, - "string_literal": { - "match": "\"(\\\\\\\\|\\\\\"|[^\"])*\"", - "name": "string.quoted.double.ryx" - }, - "number_literal": { - "match": "\\b\\d+\\b", - "name": "constant.numeric.ryx" - }, - "comment": { - "match": "//.*$", - "name": "comment.line.double-slash.ryx" - }, - "tag_name": { - "match": "\\b\\w+", - "name": "entity.name.tag.ryx" - }, - "attribute": { - "match": "\\b\\w+\\b(?=\\s*=\\s*)", - "name": "entity.other.attribute-name.ryx" - }, - "tag_end": { - "match": ">", - "name": "punctuation.definition.tag.ryx" - }, - "text.html.basic": { - "patterns": [ - { - "include": "#tag" - } - ] - }, - "tag": { - "patterns": [ - { - "include": "#comment" - }, - { - "include": "#tag_name" - }, - { - "include": "#attribute" - }, - { - "include": "#string" - } - ] - }, - "string": { - "match": "\"(\\\\\\\\|\\\\\"|[^\"])*\"", - "name": "string.quoted.double.html" - } - } -} diff --git a/extensions/ryunix/tags-language-configuration.json b/extensions/ryunix/tags-language-configuration.json deleted file mode 100644 index d5fd603f..00000000 --- a/extensions/ryunix/tags-language-configuration.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "comments": { - "blockComment": ["{/*", "*/}"] - }, - "brackets": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["<", ">"] - ], - "colorizedBracketPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"] - ], - "autoClosingPairs": [ - { - "open": "{", - "close": "}" - }, - { - "open": "[", - "close": "]" - }, - { - "open": "(", - "close": ")" - }, - { - "open": "'", - "close": "'", - "notIn": ["string", "comment"] - }, - { - "open": "\"", - "close": "\"", - "notIn": ["string"] - }, - { - "open": "/**", - "close": " */", - "notIn": ["string"] - } - ], - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["<", ">"], - ["'", "'"], - ["\"", "\""] - ], - "wordPattern": { - "pattern": "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:'\"\\,\\.\\<\\>\\/\\s]+)" - }, - "onEnterRules": [ - { - "beforeText": { - "pattern": "<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w\\-.\\d]*)([^/>]*(?!/)>)[^<]*$", - "flags": "i" - }, - "afterText": { - "pattern": "^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>$", - "flags": "i" - }, - "action": { - "indent": "indentOutdent" - } - }, - { - "beforeText": { - "pattern": "<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w\\-.\\d]*)([^/>]*(?!/)>)[^<]*$", - "flags": "i" - }, - "action": { - "indent": "indent" - } - }, - { - "beforeText": { - "pattern": "^>$" - }, - "afterText": { - "pattern": "^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>$", - "flags": "i" - }, - "action": { - "indent": "indentOutdent" - } - }, - { - "beforeText": { - "pattern": "^>$" - }, - "action": { - "indent": "indent" - } - } - ] -} diff --git a/packages/cra/src/cli.js b/packages/cra/src/cli.js index c7440691..921ddc93 100755 --- a/packages/cra/src/cli.js +++ b/packages/cra/src/cli.js @@ -19,18 +19,9 @@ create('create-cra', { describe: 'Which Ryunix channel do you want to use?', choices: ['Latest', 'Canary'], prompt: 'if-no-arg', - }, - vscode: { - type: 'confirm', - default: false, - describe: 'Do you whant to add Ryunix VScode addon? (Experimental)', - prompt: hasVscode ? 'if-no-arg' : 'never', - }, + } }, after: async ({ answers, template, installNpmPackage }) => { - if (answers.vscode) { - await InstallVsocodeAddon() - } if (template === 'Rspack') { if (answers.channel === 'Latest') { From 3bee29419a1501f24458813faf67910840d4330b Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 05:10:08 -0300 Subject: [PATCH 03/13] delete 16 files and update 1 file --- extensions/ryunix/.gitattributes | 2 - extensions/ryunix/.gitignore | 2 - extensions/ryunix/.vscode/launch.json | 16 -- extensions/ryunix/.vscodeignore | 8 - extensions/ryunix/CHANGELOG.md | 13 - extensions/ryunix/README.md | 0 extensions/ryunix/eslint.config.mjs | 60 ----- extensions/ryunix/icon.png | Bin 207655 -> 0 bytes extensions/ryunix/jsconfig.json | 10 - extensions/ryunix/language-configuration.json | 148 ------------ extensions/ryunix/logo-dark.svg | 1 - extensions/ryunix/logo-light.svg | 1 - extensions/ryunix/package.json | 149 ------------ extensions/ryunix/snippets/ryx-snippets.json | 52 ---- .../ryunix/syntaxes/ryx.tmLanguage.json | 222 ------------------ .../ryunix/tags-language-configuration.json | 100 -------- packages/cra/src/cli.js | 10 +- 17 files changed, 1 insertion(+), 793 deletions(-) delete mode 100644 extensions/ryunix/.gitattributes delete mode 100644 extensions/ryunix/.gitignore delete mode 100644 extensions/ryunix/.vscode/launch.json delete mode 100644 extensions/ryunix/.vscodeignore delete mode 100644 extensions/ryunix/CHANGELOG.md delete mode 100644 extensions/ryunix/README.md delete mode 100644 extensions/ryunix/eslint.config.mjs delete mode 100644 extensions/ryunix/icon.png delete mode 100644 extensions/ryunix/jsconfig.json delete mode 100644 extensions/ryunix/language-configuration.json delete mode 100644 extensions/ryunix/logo-dark.svg delete mode 100644 extensions/ryunix/logo-light.svg delete mode 100644 extensions/ryunix/package.json delete mode 100644 extensions/ryunix/snippets/ryx-snippets.json delete mode 100644 extensions/ryunix/syntaxes/ryx.tmLanguage.json delete mode 100644 extensions/ryunix/tags-language-configuration.json diff --git a/extensions/ryunix/.gitattributes b/extensions/ryunix/.gitattributes deleted file mode 100644 index 70e63fff..00000000 --- a/extensions/ryunix/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Set default behavior to automatically normalize line endings. -* text=auto diff --git a/extensions/ryunix/.gitignore b/extensions/ryunix/.gitignore deleted file mode 100644 index aeee7322..00000000 --- a/extensions/ryunix/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -*.vsix diff --git a/extensions/ryunix/.vscode/launch.json b/extensions/ryunix/.vscode/launch.json deleted file mode 100644 index 7c83ea6b..00000000 --- a/extensions/ryunix/.vscode/launch.json +++ /dev/null @@ -1,16 +0,0 @@ -// A launch configuration that launches the extension inside a new window -// Use IntelliSense to learn about possible attributes. -// Hover to view descriptions of existing attributes. -// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Extension", - "type": "extensionHost", - "request": "launch", - "runtimeExecutable": "${execPath}", - "args": ["--extensionDevelopmentPath=${workspaceFolder}"] - } - ] -} diff --git a/extensions/ryunix/.vscodeignore b/extensions/ryunix/.vscodeignore deleted file mode 100644 index fc5f1e19..00000000 --- a/extensions/ryunix/.vscodeignore +++ /dev/null @@ -1,8 +0,0 @@ -# .vscodeignore - -.vscode/ -.git/ -node_modules/ -out/ -*.log -*.tmp \ No newline at end of file diff --git a/extensions/ryunix/CHANGELOG.md b/extensions/ryunix/CHANGELOG.md deleted file mode 100644 index c71d9886..00000000 --- a/extensions/ryunix/CHANGELOG.md +++ /dev/null @@ -1,13 +0,0 @@ -# Change Log - -## [1.1.4] - -- fixed minor bug - -## [1.1.3] - -- fixed Readme.md - -## [1.0.0] - -- Initial release diff --git a/extensions/ryunix/README.md b/extensions/ryunix/README.md deleted file mode 100644 index e69de29b..00000000 diff --git a/extensions/ryunix/eslint.config.mjs b/extensions/ryunix/eslint.config.mjs deleted file mode 100644 index 10919a22..00000000 --- a/extensions/ryunix/eslint.config.mjs +++ /dev/null @@ -1,60 +0,0 @@ -import globals from 'globals' -import path from 'node:path' -import { fileURLToPath } from 'node:url' -import js from '@eslint/js' -import { FlatCompat } from '@eslint/eslintrc' - -const __filename = fileURLToPath(import.meta.url) -const __dirname = path.dirname(__filename) -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, - allConfig: js.configs.all, -}) - -export default [ - ...compat.extends('eslint:recommended'), - { - plugins: {}, - - languageOptions: { - globals: { - ...globals.browser, - ...globals.node, - }, - - ecmaVersion: 2021, - sourceType: 'module', - - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - }, - }, - - rules: {}, - }, - ...compat.extends('eslint:recommended').map((config) => ({ - ...config, - files: ['**/*.ryx'], - })), - { - files: ['**/*.ryx'], - - languageOptions: { - ecmaVersion: 2021, - sourceType: 'module', - - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - }, - }, - - rules: { - 'no-unused-vars': 'off', - }, - }, -] diff --git a/extensions/ryunix/icon.png b/extensions/ryunix/icon.png deleted file mode 100644 index b8ec312cc2ade470a59132a4ff5086caa784d7ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207655 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 =f1im1XM;()oL_9u=jgh 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σ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ª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 diff --git a/extensions/ryunix/jsconfig.json b/extensions/ryunix/jsconfig.json deleted file mode 100644 index 2f58685a..00000000 --- a/extensions/ryunix/jsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "ES6", - "outDir": "out", - "noLib": true, - "sourceMap": true - }, - "exclude": ["node_modules"] -} diff --git a/extensions/ryunix/language-configuration.json b/extensions/ryunix/language-configuration.json deleted file mode 100644 index ddf95d17..00000000 --- a/extensions/ryunix/language-configuration.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "comments": { - "lineComment": "//", - "blockComment": ["/*", "*/"] - }, - "brackets": [ - ["${", "}"], - ["{", "}"], - ["[", "]"], - ["(", ")"] - ], - "autoClosingPairs": [ - { - "open": "{", - "close": "}" - }, - { - "open": "[", - "close": "]" - }, - { - "open": "(", - "close": ")" - }, - { - "open": "'", - "close": "'", - "notIn": ["string", "comment"] - }, - { - "open": "\"", - "close": "\"", - "notIn": ["string"] - }, - { - "open": "`", - "close": "`", - "notIn": ["string", "comment"] - }, - { - "open": "/**", - "close": " */", - "notIn": ["string"] - } - ], - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["'", "'"], - ["\"", "\""], - ["`", "`"], - ["<", ">"] - ], - "autoCloseBefore": ";:.,=}])>` \n\t", - "folding": { - "markers": { - "start": "^\\s*//\\s*#?region\\b", - "end": "^\\s*//\\s*#?endregion\\b" - } - }, - "wordPattern": { - "pattern": "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\@\\!\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>/\\?\\s]+)" - }, - "indentationRules": { - "decreaseIndentPattern": { - "pattern": "^((?!.*?/\\*).*\\*/)?\\s*[\\}\\]].*$" - }, - "increaseIndentPattern": { - "pattern": "^((?!//).)*(\\{([^}\"'`/]*|(\\t|[ ])*//.*)|\\([^)\"'`/]*|\\[[^\\]\"'`/]*)$" - }, - - "unIndentedLinePattern": { - "pattern": "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$|^(\\t|[ ])*[ ]\\*/\\s*$|^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$" - } - }, - "onEnterRules": [ - { - "beforeText": { - "pattern": "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$" - }, - "afterText": { - "pattern": "^\\s*\\*/$" - }, - "action": { - "indent": "indentOutdent", - "appendText": " * " - } - }, - { - "beforeText": { - "pattern": "^\\s*/\\*\\*(?!/)([^\\*]|\\*(?!/))*$" - }, - "action": { - "indent": "none", - "appendText": " * " - } - }, - { - "beforeText": { - "pattern": "^(\\t|[ ])*[ ]\\*([ ]([^\\*]|\\*(?!/))*)?$" - }, - "previousLineText": { - "pattern": "(?=^(\\s*(/\\*\\*|\\*)).*)(?=(?!(\\s*\\*/)))" - }, - "action": { - "indent": "none", - "appendText": "* " - } - }, - { - "beforeText": { - "pattern": "^(\\t|[ ])*[ ]\\*/\\s*$" - }, - "action": { - "indent": "none", - "removeText": 1 - } - }, - { - "beforeText": { - "pattern": "^(\\t|[ ])*[ ]\\*[^/]*\\*/\\s*$" - }, - "action": { - "indent": "none", - "removeText": 1 - } - }, - { - "beforeText": { - "pattern": "^\\s*(\\bcase\\s.+:|\\bdefault:)$" - }, - "afterText": { - "pattern": "^(?!\\s*(\\bcase\\b|\\bdefault\\b))" - }, - "action": { - "indent": "indent" - } - }, - { - "previousLineText": "^\\s*(((else ?)?if|for|while)\\s*\\(.*\\)\\s*|else\\s*)$", - "beforeText": "^\\s+([^{i\\s]|i(?!f\\b))", - "action": { - "indent": "outdent" - } - } - ] -} diff --git a/extensions/ryunix/logo-dark.svg b/extensions/ryunix/logo-dark.svg deleted file mode 100644 index bf92ff6e..00000000 --- a/extensions/ryunix/logo-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/extensions/ryunix/logo-light.svg b/extensions/ryunix/logo-light.svg deleted file mode 100644 index 7c600980..00000000 --- a/extensions/ryunix/logo-light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/extensions/ryunix/package.json b/extensions/ryunix/package.json deleted file mode 100644 index 397a1b7c..00000000 --- a/extensions/ryunix/package.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "name": "ryunixjs", - "displayName": "RyunixJS", - "description": "Ryunix language support", - "publisher": "unsetsoft", - "version": "1.0.4", - "license": "MIT", - "homepage": "https://github.com/UnSetSoft/Ryunixjs", - "bugs": { - "url": "https://github.com/UnSetSoft/Ryunixjs/issues/new/choose" - }, - "repository": { - "type": "git", - "url": "https://github.com/UnSetSoft/Ryunixjs" - }, - "icon": "icon.png", - "engines": { - "vscode": "^1.60.0" - }, - "categories": [ - "Programming Languages", - "Snippets" - ], - "scripts": { - "build": "vsce package", - "pb": "vsce publish" - }, - "contributes": { - "configurationDefaults": { - "[ryx]": { - "editor.maxTokenizationLineLength": 2500, - "editor.formatOnSave": true, - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true - } - } - }, - "languages": [ - { - "id": "ryx", - "aliases": [ - "JavaScript RYX", - "JavaScript Ryunix", - "ryx" - ], - "extensions": [ - ".ryx", - "ryunix.config.js" - ], - "configuration": "./language-configuration.json", - "firstLine": "^#!\\s*/?.*\\bryunix\\b", - "icon": { - "light": "./logo-light.svg", - "dark": "./logo-dark.svg" - } - }, - { - "id": "ryx-tags", - "aliases": [], - "configuration": "./tags-language-configuration.json" - } - ], - "grammars": [ - { - "language": "ryx", - "scopeName": "source.js.ryx", - "path": "./syntaxes/ryx.tmLanguage.json", - "embeddedLanguages": { - "meta.tag.js": "ryx-tags", - "meta.tag.without-attributes.js": "ryx-tags", - "meta.tag.attributes.js.ryx": "ryx", - "meta.embedded.expression.js": "ryx" - }, - "tokenTypes": { - "meta.template.expression": "other", - "meta.template.expression string": "string", - "meta.template.expression comment": "comment", - "entity.name.type.instance.jsdoc": "other", - "entity.name.function.tagged-template": "other", - "meta.import string.quoted": "other", - "variable.other.jsdoc": "other" - }, - "injectTo": [ - "source.js" - ] - } - ], - "semanticTokenScopes": [ - { - "language": "ryx", - "scopes": { - "property": [ - "variable.other.property.ryx" - ], - "property.readonly": [ - "variable.other.constant.property.ryx" - ], - "variable": [ - "variable.other.readwrite.ryx" - ], - "variable.readonly": [ - "variable.other.constant.object.ryx" - ], - "function": [ - "entity.name.function.ryx" - ], - "namespace": [ - "entity.name.type.module.ryx" - ], - "variable.defaultLibrary": [ - "support.variable.js" - ], - "function.defaultLibrary": [ - "support.function.js" - ] - } - } - ], - "snippets": [ - { - "language": "ryx", - "path": "./snippets/ryx-snippets.json" - } - ], - "configuration": { - "eslint.validate": [ - "javascript", - "javascriptreact", - "typescript", - "typescriptreact", - "ryx" - ], - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true - }, - "emmet.includeLanguages": { - "ryx": "html,javascript,javascriptreact" - } - } - }, - "devDependencies": { - "typescript": "^4.0.0", - "vscode": "^1.1.33", - "eslint": "^7.32.0", - "prettier": "^2.3.2", - "@vscode/vsce": "^2.27.0" - } -} diff --git a/extensions/ryunix/snippets/ryx-snippets.json b/extensions/ryunix/snippets/ryx-snippets.json deleted file mode 100644 index e3bf7637..00000000 --- a/extensions/ryunix/snippets/ryx-snippets.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Return Fragment": { - "prefix": "r:rfra", - "body": [" return (", " <>", " $1", " ", " );"], - "description": "Create a Fragment with return" - }, - "Fragment": { - "prefix": "r:fra", - "body": ["<>$1"], - "description": "Create a Fragment" - }, - "Component": { - "prefix": "r:afc", - "body": [ - "const ${1:ComponentName} = () => {", - " return (", - " <>", - " $2", - " ", - " );", - "};", - "", - "export default ${1:ComponentName};" - ], - "description": "Create a arrow function component" - }, - "useStore": { - "prefix": "r:us", - "body": ["const [${1:storeName}, ${2:setName}] = useStore()"], - "description": "Create a useStore state" - }, - "useEffect": { - "prefix": "r:ue", - "body": ["useEffect(() => {", " $1", "}, []);"], - "description": "Create a useEffect" - }, - "Import Ryunix": { - "prefix": "r:imp", - "body": ["import Ryunix from '@unsetsoft/ryunix'"], - "description": "Import Ryunix lib" - }, - "Import useStore": { - "prefix": "r:store", - "body": ["import { useStore } from '@unsetsoft/ryunix'"], - "description": "Import useStore" - }, - "Import useEffect": { - "prefix": "r:effect", - "body": ["import { useEffect } from '@unsetsoft/ryunix'"], - "description": "Import useEffect from Ryunix lib" - } -} diff --git a/extensions/ryunix/syntaxes/ryx.tmLanguage.json b/extensions/ryunix/syntaxes/ryx.tmLanguage.json deleted file mode 100644 index 79813251..00000000 --- a/extensions/ryunix/syntaxes/ryx.tmLanguage.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", - "name": "RYX", - "scopeName": "source.js.ryx", - "fileTypes": ["ryx"], - "patterns": [ - { - "include": "#directives" - }, - { - "include": "#statements" - }, - { - "include": "#shebang" - }, - { - "include": "text.html.basic" - }, - { - "include": "source.js" - } - ], - "repository": { - "directives": { - "patterns": [ - { - "match": "^\\s*#\\w+", - "name": "keyword.control.directive.ryx" - } - ] - }, - "statements": { - "patterns": [ - { - "include": "#jsx" - }, - { - "include": "#function_call" - }, - { - "include": "#variable_declaration" - }, - { - "include": "#object_literal" - }, - { - "include": "#array_literal" - }, - { - "include": "#string_literal" - }, - { - "include": "#number_literal" - }, - { - "include": "#comment" - } - ] - }, - "shebang": { - "patterns": [ - { - "match": "^#!.*$", - "name": "comment.line.shebang.ryx" - } - ] - }, - "jsx": { - "begin": "<", - "end": ">", - "captures": { - "0": { - "name": "punctuation.definition.tag.ryx" - }, - "1": { - "patterns": [ - { - "include": "#tag_name" - }, - { - "include": "#attribute" - }, - { - "include": "#tag_end" - } - ] - } - } - }, - "function_call": { - "match": "\\b\\w+\\(", - "name": "entity.name.function.call.ryx", - "captures": { - "0": { - "name": "entity.name.function.ryx" - } - } - }, - "variable_declaration": { - "match": "\\b(let|const|var)\\s+\\w+\\b", - "name": "variable.declaration.ryx", - "captures": { - "1": { - "name": "storage.type.ryx" - }, - "2": { - "name": "variable.other.readwrite.ryx" - } - } - }, - "object_literal": { - "begin": "{", - "end": "}", - "captures": { - "0": { - "name": "punctuation.section.object.ryx" - }, - "1": { - "patterns": [ - { - "include": "#object_key_value_pair" - } - ] - }, - "2": { - "name": "punctuation.section.object.ryx" - } - } - }, - "object_key_value_pair": { - "patterns": [ - { - "match": "\\b\\w+\\b\\s*:", - "name": "entity.name.tag.ryx", - "captures": { - "0": { - "name": "entity.name.tag.ryx" - } - } - } - ] - }, - "array_literal": { - "begin": "\\[", - "end": "\\]", - "captures": { - "0": { - "name": "punctuation.section.array.ryx" - }, - "1": { - "patterns": [ - { - "include": "#array_value" - } - ] - }, - "2": { - "name": "punctuation.section.array.ryx" - } - } - }, - "array_value": { - "patterns": [ - { - "match": "\\b\\w+\\b", - "name": "variable.other.readwrite.ryx" - } - ] - }, - "string_literal": { - "match": "\"(\\\\\\\\|\\\\\"|[^\"])*\"", - "name": "string.quoted.double.ryx" - }, - "number_literal": { - "match": "\\b\\d+\\b", - "name": "constant.numeric.ryx" - }, - "comment": { - "match": "//.*$", - "name": "comment.line.double-slash.ryx" - }, - "tag_name": { - "match": "\\b\\w+", - "name": "entity.name.tag.ryx" - }, - "attribute": { - "match": "\\b\\w+\\b(?=\\s*=\\s*)", - "name": "entity.other.attribute-name.ryx" - }, - "tag_end": { - "match": ">", - "name": "punctuation.definition.tag.ryx" - }, - "text.html.basic": { - "patterns": [ - { - "include": "#tag" - } - ] - }, - "tag": { - "patterns": [ - { - "include": "#comment" - }, - { - "include": "#tag_name" - }, - { - "include": "#attribute" - }, - { - "include": "#string" - } - ] - }, - "string": { - "match": "\"(\\\\\\\\|\\\\\"|[^\"])*\"", - "name": "string.quoted.double.html" - } - } -} diff --git a/extensions/ryunix/tags-language-configuration.json b/extensions/ryunix/tags-language-configuration.json deleted file mode 100644 index d5fd603f..00000000 --- a/extensions/ryunix/tags-language-configuration.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "comments": { - "blockComment": ["{/*", "*/}"] - }, - "brackets": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["<", ">"] - ], - "colorizedBracketPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"] - ], - "autoClosingPairs": [ - { - "open": "{", - "close": "}" - }, - { - "open": "[", - "close": "]" - }, - { - "open": "(", - "close": ")" - }, - { - "open": "'", - "close": "'", - "notIn": ["string", "comment"] - }, - { - "open": "\"", - "close": "\"", - "notIn": ["string"] - }, - { - "open": "/**", - "close": " */", - "notIn": ["string"] - } - ], - "surroundingPairs": [ - ["{", "}"], - ["[", "]"], - ["(", ")"], - ["<", ">"], - ["'", "'"], - ["\"", "\""] - ], - "wordPattern": { - "pattern": "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:'\"\\,\\.\\<\\>\\/\\s]+)" - }, - "onEnterRules": [ - { - "beforeText": { - "pattern": "<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w\\-.\\d]*)([^/>]*(?!/)>)[^<]*$", - "flags": "i" - }, - "afterText": { - "pattern": "^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>$", - "flags": "i" - }, - "action": { - "indent": "indentOutdent" - } - }, - { - "beforeText": { - "pattern": "<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w\\-.\\d]*)([^/>]*(?!/)>)[^<]*$", - "flags": "i" - }, - "action": { - "indent": "indent" - } - }, - { - "beforeText": { - "pattern": "^>$" - }, - "afterText": { - "pattern": "^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>$", - "flags": "i" - }, - "action": { - "indent": "indentOutdent" - } - }, - { - "beforeText": { - "pattern": "^>$" - }, - "action": { - "indent": "indent" - } - } - ] -} diff --git a/packages/cra/src/cli.js b/packages/cra/src/cli.js index c7440691..d2bc954e 100755 --- a/packages/cra/src/cli.js +++ b/packages/cra/src/cli.js @@ -20,17 +20,9 @@ create('create-cra', { choices: ['Latest', 'Canary'], prompt: 'if-no-arg', }, - vscode: { - type: 'confirm', - default: false, - describe: 'Do you whant to add Ryunix VScode addon? (Experimental)', - prompt: hasVscode ? 'if-no-arg' : 'never', - }, + }, after: async ({ answers, template, installNpmPackage }) => { - if (answers.vscode) { - await InstallVsocodeAddon() - } if (template === 'Rspack') { if (answers.channel === 'Latest') { From f115f6b03f987a69d5272c8edfa3e170b87dadd6 Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 18:39:58 -0300 Subject: [PATCH 04/13] update cli.js, package.json and webpack.config.mjs --- packages/ryunix-presets/package.json | 58 +++- .../ryunix-presets/webpack/bin/compiler.mjs | 6 + packages/ryunix-presets/webpack/bin/index.mjs | 115 ++++++++ .../ryunix-presets/webpack/bin/prerender.mjs | 138 +++++++++ packages/ryunix-presets/webpack/bin/serve.mjs | 107 +++++++ packages/ryunix-presets/webpack/config.d.ts | 85 ++++++ .../ryunix-presets/webpack/eslint.config.mjs | 31 ++ packages/ryunix-presets/webpack/index.js | 6 + .../webpack/template/index.html | 19 ++ .../ryunix-presets/webpack/utils/config.cjs | 190 ++++++++++++ .../ryunix-presets/webpack/utils/envExist.cjs | 14 + .../ryunix-presets/webpack/utils/index.mjs | 203 +++++++++++++ .../webpack/utils/settingfile.cjs | 33 +++ .../ryunix-presets/webpack/webpack.config.mjs | 279 ++++++++++++++++++ packages/ryunix-webpack/webpack.config.mjs | 10 +- 15 files changed, 1289 insertions(+), 5 deletions(-) create mode 100644 packages/ryunix-presets/webpack/bin/compiler.mjs create mode 100644 packages/ryunix-presets/webpack/bin/index.mjs create mode 100644 packages/ryunix-presets/webpack/bin/prerender.mjs create mode 100644 packages/ryunix-presets/webpack/bin/serve.mjs create mode 100644 packages/ryunix-presets/webpack/config.d.ts create mode 100644 packages/ryunix-presets/webpack/eslint.config.mjs create mode 100644 packages/ryunix-presets/webpack/index.js create mode 100644 packages/ryunix-presets/webpack/template/index.html create mode 100644 packages/ryunix-presets/webpack/utils/config.cjs create mode 100644 packages/ryunix-presets/webpack/utils/envExist.cjs create mode 100644 packages/ryunix-presets/webpack/utils/index.mjs create mode 100644 packages/ryunix-presets/webpack/utils/settingfile.cjs create mode 100644 packages/ryunix-presets/webpack/webpack.config.mjs diff --git a/packages/ryunix-presets/package.json b/packages/ryunix-presets/package.json index 1dfab51d..eb4f36c1 100644 --- a/packages/ryunix-presets/package.json +++ b/packages/ryunix-presets/package.json @@ -1,7 +1,7 @@ { "name": "@unsetsoft/ryunix-presets", "description": "Package with presets for different development environments.", - "version": "1.0.0", + "version": "1.0.11", "author": "Neyunse", "type": "module", "repository": "https://github.com/UnSetSoft/Ryunixjs", @@ -11,16 +11,66 @@ ], "files": [ "vite/", - "rspack/" + "rspack/", + "webpack/" ], + "peerDependencies": { + "@unsetsoft/ryunixjs": "^1.2.1" + }, "publishConfig": { "registry": "https://registry.npmjs.org" }, "exports": { "./vite": "./vite/index.js", - "./rspack": "./rspack/index.js" + "./rspack": "./rspack/index.js", + "./webpack": "./webpack/index.js" + }, + "types": "./webpack/config.d.ts", + "bin": { + "ryunix": "./webpack/bin/index.mjs" }, "engines": { - "node": "^20 || ^22" + "node": "^18 || ^20 || ^22" + }, + "dependencies": { + "@babel/cli": "7.27.2", + "@babel/core": "7.27.4", + "@babel/plugin-proposal-class-properties": "7.18.6", + "@babel/plugin-transform-react-jsx": "7.27.1", + "@babel/preset-env": "7.27.2", + "@babel/preset-react": "7.27.1", + "@eslint/eslintrc": "3.3.1", + "@eslint/js": "9.31.0", + "@rollup/plugin-terser": "0.4.4", + "@swc/core": "1.12.6", + "babel-loader": "10.0.0", + "chalk": "5.4.1", + "copy-webpack-plugin": "13.0.0", + "css-loader": "7.1.2", + "css-minimizer-webpack-plugin": "7.0.2", + "dotenv-webpack": "8.1.0", + "eslint": "9.31.0", + "eslint-plugin-react": "^7.37.5", + "eslint-webpack-plugin": "5.0.2", + "file-loader": "6.2.0", + "glob": "11.0.3", + "globals": "16.2.0", + "html-loader": "5.1.0", + "html-webpack-plugin": "5.6.3", + "image-webpack-loader": "8.1.0", + "lodash": "4.17.21", + "mini-css-extract-plugin": "2.9.2", + "rollup": "4.44.0", + "sass": "1.89.2", + "sass-loader": "16.0.5", + "style-loader": "4.0.0", + "terminal-log": "1.0.1", + "terser-webpack-plugin": "5.3.14", + "thread-loader": "4.0.4", + "url-loader": "4.1.1", + "webpack": "5.99.9", + "webpack-cli": "6.0.1", + "webpack-dev-server": "5.2.2", + "yargs": "18.0.0" } } diff --git a/packages/ryunix-presets/webpack/bin/compiler.mjs b/packages/ryunix-presets/webpack/bin/compiler.mjs new file mode 100644 index 00000000..34dd1e63 --- /dev/null +++ b/packages/ryunix-presets/webpack/bin/compiler.mjs @@ -0,0 +1,6 @@ +import webpack from 'webpack' +import webpackConfig from '../webpack.config.mjs' +webpackConfig.mode = 'production' +const compiler = webpack(webpackConfig) + +export { compiler } diff --git a/packages/ryunix-presets/webpack/bin/index.mjs b/packages/ryunix-presets/webpack/bin/index.mjs new file mode 100644 index 00000000..8a8e083f --- /dev/null +++ b/packages/ryunix-presets/webpack/bin/index.mjs @@ -0,0 +1,115 @@ +#! /usr/bin/env node +import yargs from 'yargs' +import { hideBin } from 'yargs/helpers' +import { StartServer } from './serve.mjs' +import { compiler } from './compiler.mjs' +import logger from 'terminal-log' +import chalk from 'chalk' +import defaultSettings from '../utils/config.cjs' +import Prerender from './prerender.mjs' +import { + cleanBuildDirectory, + convertFlatToClassic, + resolveApp, +} from '../utils/index.mjs' +import { ESLint } from 'eslint' +import eslintConfig from '../eslint.config.mjs' +const lint = { + command: 'lint', + describe: 'Lint code', + builder: { + fix: { + alias: 'f', + type: 'boolean', + default: false, + describe: 'Automatically fix problems', + }, + }, + handler: async (arg) => { + const classicConfig = eslintConfig[0] + + const fix = arg.fix + const eslint = new ESLint({ + cwd: process.cwd(), + overrideConfigFile: true, + overrideConfig: classicConfig, + fix, + }) + + const results = await eslint.lintFiles(defaultSettings.eslint.files) + + await ESLint.outputFixes(results) + + const formatter = await eslint.loadFormatter('stylish') + const report = formatter.format(results) + console.log(report) + }, +} + +const serv = { + command: 'server', + describe: 'Run server', + handler: async (arg) => { + const open = Boolean(arg.browser) || false + const settings = { + open, + } + + StartServer(settings) + }, +} + +const build = { + command: 'build', + describe: 'Run builder', + handler: async (arg) => { + if (!defaultSettings.webpack.production) { + logger.error( + chalk.red( + 'The compilation cannot complete because you are trying to compile in developer mode. remember update ryunix.config.js.', + ), + ) + return + } + + if (defaultSettings.experimental.ssg.prerender.length > 0) { + await cleanBuildDirectory( + resolveApp( + process.cwd(), + `${defaultSettings.webpack.output.buildDirectory}/static`, + ), + ) + } + + compiler.run(async (err, stats) => { + if (err || stats.hasErrors()) { + logger.error(chalk.red('Error during compilation:')) + logger.error(err || stats.toString('errors-only')) + return + } + + const buildTimeMs = stats.endTime - stats.startTime + + const minutes = Math.floor(buildTimeMs / 60000) + const seconds = ((buildTimeMs % 60000) / 1000).toFixed(1) + + const formattedTime = + minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s` + + if (defaultSettings.experimental.ssg.prerender.length > 0) { + await Prerender() + } + + logger.info(chalk.green('Compilation successful! 🎉')) + logger.info(`Done in ${formattedTime}`) + + compiler.close((closeErr) => { + if (closeErr) { + logger.error(chalk.red('Error closing the compiler:'), closeErr) + } + }) + }) + }, +} + +yargs(hideBin(process.argv)).command(serv).command(build).command(lint).parse() diff --git a/packages/ryunix-presets/webpack/bin/prerender.mjs b/packages/ryunix-presets/webpack/bin/prerender.mjs new file mode 100644 index 00000000..d35562de --- /dev/null +++ b/packages/ryunix-presets/webpack/bin/prerender.mjs @@ -0,0 +1,138 @@ +/** + * prerender metadata + * + */ +import { configFileExist } from '../utils/settingfile.cjs' +import defaultSettings from '../utils/config.cjs' +import { resolveApp } from '../utils/index.mjs' +import fs from 'fs' +import path from 'path' + +// proyect/.ryunix/static +const buildDirectory = resolveApp(process.cwd(), '.ryunix/static') +const indexFile = path.join(buildDirectory, 'index.html') + +const siteMap = async (routes) => { + if (!defaultSettings.experimental.ssg.sitemap.baseURL) { + console.error( + '❌ Base URL is not defined in the configuration file. Please set `experimental.ssg.sitemap.baseURL`.', + ) + process.exit(1) + } + + const sitemap = ` + +${routes + .map((route) => { + const url = `${defaultSettings.experimental.ssg.sitemap.baseURL}${route.path === '/' ? '' : route.path}` + const meta = route.meta || {} + const sitemap_settings = route.sitemap || {} + const lastmod = meta.lastmod || new Date().toISOString().split('T')[0] + + // sitemap settings + const changefreq = + sitemap_settings.changefreq || + meta.changefreq || // TODO: Remove meta.changefreq + defaultSettings.experimental.ssg.sitemap.settings.changefreq + const priority = + sitemap_settings.priority || + meta.priority || // TODO: Remove meta.priority + defaultSettings.experimental.ssg.sitemap.settings.priority + + return ` + ${url} + ${lastmod} + ${changefreq} + ${priority} +` + }) + .join('\n')} +` + + await fs.writeFileSync( + path.resolve(buildDirectory, 'sitemap.xml'), + sitemap, + 'utf-8', + ) + + console.log('✅ Sitemap created') +} + +const Prerender = async () => { + if (!configFileExist()) { + console.error('❌ No configuration file found.') + process.exit(1) + } + + const template = fs.readFileSync(indexFile, 'utf-8') + + for (const route of defaultSettings.experimental.ssg.prerender) { + if (route.path === '/') continue // Exclude root path, handled by defaultSettings.static.seo.meta + let html = template + const meta = route?.meta || defaultSettings.static.seo.meta + + // title + if (meta.title) { + html = html.replace(/.*<\/title>/, `<title>${meta.title}<\/title>`) + } + + // Helper to add or replace metatag + function upsertMetaTag(html, name, value) { + if (value === undefined || value === null) return html + + const isProperty = name.startsWith('og:') || name.startsWith('twitter:') + const attr = isProperty ? 'property' : 'name' + const regex = new RegExp(`<meta ${attr}=["']${name}["'][^>]*>`, 'i') + const tag = `<meta ${attr}="${name}" content="${value}">` + + if (regex.test(html)) { + return html.replace(regex, tag) + } else { + return html.replace(/<\/head>/i, `${tag}\n<\/head>`) + } + } + + // Description + html = upsertMetaTag(html, 'description', meta.description) + // Keywords + html = upsertMetaTag(html, 'keywords', meta.keywords) + + // dynamic metatags (excluding title, description, keywords, framework, mode) + for (const [key, value] of Object.entries(meta)) { + if ( + [ + 'title', + 'description', + 'keywords', + 'framework', + 'mode', + 'viewport', + ].includes(key) + ) + continue + html = upsertMetaTag(html, key, value) + } + + const outputDir = + route.path === '/' + ? buildDirectory + : path.join(buildDirectory, route.path) + + if (!fs.existsSync(outputDir)) { + await fs.mkdirSync(outputDir, { recursive: true, force: true }) + } + + await fs.writeFileSync(path.join(outputDir, 'index.html'), html) + console.log(`✅ Prerendered ${route.path}`) + } + + // need base url and enable + if ( + defaultSettings.experimental.ssg.sitemap.enable && + defaultSettings.experimental.ssg.sitemap.baseURL + ) { + await siteMap(defaultSettings.experimental.ssg.prerender) + } +} + +export default Prerender diff --git a/packages/ryunix-presets/webpack/bin/serve.mjs b/packages/ryunix-presets/webpack/bin/serve.mjs new file mode 100644 index 00000000..593867ed --- /dev/null +++ b/packages/ryunix-presets/webpack/bin/serve.mjs @@ -0,0 +1,107 @@ +import Webpack from 'webpack' +import WebpackDevServer from 'webpack-dev-server' +import webpackConfig from '../webpack.config.mjs' +import { configFileExist } from '../utils/settingfile.cjs' +import envPath from '../utils/envExist.cjs' +import { + getPackageVersion, + resolveApp, + cleanCacheDir, +} from '../utils/index.mjs' +import logger from 'terminal-log' +import chalk from 'chalk' +import net from 'net' // Para verificar si el puerto está disponible +import defaultSettings from '../utils/config.cjs' + +const checkPortInUse = (port) => { + return new Promise((resolve, reject) => { + const server = net.createServer() + server.once('error', (err) => { + if (err.code === 'EADDRINUSE') { + resolve(true) // Puerto en uso + } else { + reject(err) + } + }) + server.once('listening', () => { + server.close() + resolve(false) // Puerto libre + }) + server.listen(port) + }) +} + +const findAvailablePort = async (port) => { + let isPortInUse = await checkPortInUse(port) + while (isPortInUse) { + logger.warn( + chalk.yellow(`Port ${port} is in use, trying port ${port + 1}...`), + ) + port += 1 + isPortInUse = await checkPortInUse(port) + } + return port +} + +const StartServer = async (cliSettings) => { + const cacheDir = resolveApp( + process.cwd(), + `${defaultSettings.webpack.output.buildDirectory}/cache`, + ) + + if (!defaultSettings.webpack.production) { + cleanCacheDir(cacheDir) + } + + webpackConfig.mode = 'development' + const compiler = Webpack(webpackConfig) + let port = webpackConfig.devServer.port || 3000 + + // Encontrar un puerto disponible + port = await findAvailablePort(port) + + // Modificamos el puerto en la configuración + webpackConfig.devServer.port = port + const devServerOptions = { ...webpackConfig.devServer, ...cliSettings } + const server = new WebpackDevServer(devServerOptions, compiler) + + const devMode = Boolean(!defaultSettings.webpack.production) + + const { version } = await getPackageVersion() + + const startServer = async () => { + try { + await server.start() // Iniciar el servidor con el nuevo puerto + + logger.info(`\n + ${chalk.bold(chalk.cyanBright(`<Ryunix/> ${version}`))}\n + - Running at: http://localhost:${port}\n + - Config file: ${ + configFileExist() + ? chalk.green(`loaded`) + : chalk.red(`404 Not Found`) + }\n + - Environment file: ${ + envPath() ? chalk.green(`loaded`) : chalk.red(`404 Not Found`) + }\n + - Mode: ${ + defaultSettings.webpack.production + ? chalk.green(`production`) + : chalk.yellow(`development`) + }\n + ${ + devMode + ? chalk.yellow( + `⚠️ You are in development mode, remember update ryunix.config.js for production!`, + ) + : '' // prevent false in the terminal + }\n `) + } catch (err) { + logger.error(`[error] ${err.message}`) + } + } + + await startServer() +} + +export { StartServer } diff --git a/packages/ryunix-presets/webpack/config.d.ts b/packages/ryunix-presets/webpack/config.d.ts new file mode 100644 index 00000000..8f76ecd4 --- /dev/null +++ b/packages/ryunix-presets/webpack/config.d.ts @@ -0,0 +1,85 @@ +export interface Settings { + static: { + favicon: boolean + customTemplate: string | false + seo: { + pageLang: string + title: string + meta: { + description?: string + keywords?: string + subject?: string + copyright?: string + language?: string + robots?: string + revised?: string + abstract?: string + topic?: string + summary?: string + classification?: string + author?: string + designer?: string + replyTo?: string + owner?: string + url?: string + identifierURL?: string + directory?: string + pageName?: string + category?: string + coverage?: string + distribution?: string + rating?: string + revisitAfter?: string + subtitle?: string + target?: string + handheldFriendly?: string + mobileOptimized?: string + date?: string + searchDate?: string + dcTitle?: string + resourceLoaderDynamicStyles?: string + medium?: string + syndicationSource?: string + originalSource?: string + verifyV1?: string + yKey?: string + pageKey?: string + itemPropName?: string + [key: string]: any + } + } + } + + eslint: { + files: string[] + plugins: Record<string, any> + rules: Record<string, any> + } + + webpack: { + production: boolean + root: string + output: { + buildDirectory: string + } + target: string + resolve: { + alias: Record<string, any> + fallback: Record<string, any> + extensions: string[] + } + plugins: object[] + devServer: { + port: number + proxy: Record<string, any> + allowedHosts: 'auto' | 'all' | string[] + } + externals: object[] + module: { + rules: object[] + } + experiments: { + lazyCompilation: boolean + } + } +} diff --git a/packages/ryunix-presets/webpack/eslint.config.mjs b/packages/ryunix-presets/webpack/eslint.config.mjs new file mode 100644 index 00000000..030eefa4 --- /dev/null +++ b/packages/ryunix-presets/webpack/eslint.config.mjs @@ -0,0 +1,31 @@ +import config from './utils/config.cjs' +import { resolveApp } from './utils/index.mjs' +import { defineConfig } from 'eslint/config' +const dir = process.cwd() + +const eslintConfig = defineConfig([ + { + files: ['**/*.ryx', ...config?.eslint?.files], + languageOptions: { + ecmaVersion: 2021, + sourceType: 'module', + + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + extraFileExtensions: ['.ryx'], + }, + }, + settings: { + react: { + pragma: 'Ryunix.createElement', // Para JSX transpile a Ryunix.createElement + fragment: 'Ryunix.Fragment', // Para fragmentos JSX + }, + }, + plugins: config?.eslint?.plugins, + rules: config?.eslint?.rules, + }, +]) + +export default eslintConfig diff --git a/packages/ryunix-presets/webpack/index.js b/packages/ryunix-presets/webpack/index.js new file mode 100644 index 00000000..e9a15296 --- /dev/null +++ b/packages/ryunix-presets/webpack/index.js @@ -0,0 +1,6 @@ +import webpackConfig from './webpack.config.mjs' + +const ryunixWebpack = () => webpackConfig + +export default ryunixWebpack +export { ryunixWebpack } diff --git a/packages/ryunix-presets/webpack/template/index.html b/packages/ryunix-presets/webpack/template/index.html new file mode 100644 index 00000000..823d6ece --- /dev/null +++ b/packages/ryunix-presets/webpack/template/index.html @@ -0,0 +1,19 @@ +<!doctype html> +<html lang="<%= htmlWebpackPlugin.options.pageLang %>"> + <head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <meta + name="framework" + content="<%= htmlWebpackPlugin.options.info.framework %>" + version="<%= htmlWebpackPlugin.options.info.version %>" + /> + <meta name="mode" content="<%= htmlWebpackPlugin.options.info.mode %>" /> + <link rel="icon" href="/favicon.png" /> + <title><%= htmlWebpackPlugin.options.title %> + + + +
+ + diff --git a/packages/ryunix-presets/webpack/utils/config.cjs b/packages/ryunix-presets/webpack/utils/config.cjs new file mode 100644 index 00000000..03d4f145 --- /dev/null +++ b/packages/ryunix-presets/webpack/utils/config.cjs @@ -0,0 +1,190 @@ +'use strict' +const { getConfig } = require('./settingfile.cjs') +const reactPlugin = require('eslint-plugin-react') +const config = getConfig() + +const defaultSettings = { + experimental: { + ssg: { + sitemap: { + // allow sitemap generation + enable: config?.experimental?.ssg?.sitemap?.enable + ? config.experimental.ssg.sitemap.enable + : false, + // base url. ex: https://example.com + baseURL: config?.experimental?.ssg?.sitemap?.baseURL + ? config.experimental.ssg.sitemap.baseURL + : false, + // global settings for the sitemap. + settings: config?.experimental?.ssg?.sitemap?.settings + ? { + changefreq: config.experimental.ssg.sitemap.settings.changefreq + ? config.experimental.ssg.sitemap.settings.changefreq + : 'weekly', + priority: config.experimental.ssg.sitemap.settings.priority + ? config.experimental.ssg.sitemap.settings.priority + : '0.7', + } + : { + // default values + changefreq: 'weekly', + priority: '0.7', + }, + }, + // prerendered pages + // TODO: better form to import from routing system. but for now is the best method. + // NEXT: rename this! :) + prerender: config?.experimental?.ssg?.prerender + ? config.experimental.ssg.prerender + : [], + }, + env: config?.experimental?.env ? config.experimental.env : {}, + }, + static: { + favicon: config?.static?.favicon ? config.static.favicon : false, + // if is true, public/index.html are required. + customTemplate: config?.static?.customTemplate + ? config.static.customTemplate + : false, + + // global SEO. + seo: { + pageLang: config?.static?.seo?.pageLang + ? config.static.seo.pageLang + : 'en', + title: config?.static?.seo?.title + ? config.static.seo.title + : 'Ryunix App', + meta: config?.static?.seo?.meta ? config.static.seo.meta : {}, + }, + ssg: {}, // TODO: Move experimental.ssg here. + }, + + eslint: { + files: config?.eslint?.files ? config.eslint.files : ['**/*.ryx'], + plugins: config?.eslint?.plugins + ? { + react: reactPlugin, + ...config.eslint.plugins, + } + : { + react: reactPlugin, + }, + rules: config?.eslint?.rules + ? { + 'max-len': config.eslint.rules['max-len'] + ? config.eslint.rules['max-len'] + : ['error', { code: 400 }], + camelcase: config.eslint.rules.camelcase + ? config.eslint.rules.camelcase + : 'off', + 'no-unused-vars': config.eslint.rules['no-unused-vars'] + ? config.eslint.rules['no-unused-vars'] + : 'warn', + 'no-console': config.eslint.rules['no-console'] + ? config.eslint.rules['no-console'] + : 'off', + 'no-underscore-dangle': config.eslint.rules['no-underscore-dangle'] + ? config.eslint.rules['no-underscore-dangle'] + : ['error', { allow: ['id_', '_id'] }], + 'arrow-body-style': config.eslint.rules['arrow-body-style'] + ? config.eslint.rules['arrow-body-style'] + : 'off', + indent: config.eslint.rules.indent + ? config.eslint.rules.indent + : 'warn', + 'consistent-return': config.eslint.rules['consistent-return'] + ? config.eslint.rules['consistent-return'] + : 'off', + 'no-else-return': config.eslint.rules['no-else-return'] + ? config.eslint.rules['no-else-return'] + : 'off', + 'global-require': config.eslint.rules['global-require'] + ? config.eslint.rules['global-require'] + : 'off', + 'no-param-reassign': config.eslint.rules['no-param-reassign'] + ? config.eslint.rules['no-param-reassign'] + : ['error', { props: false }], + 'new-cap': config.eslint.rules['new-cap'] + ? config.eslint.rules['new-cap'] + : 'off', + 'arrow-parens': config.eslint.rules['arrow-parens'] + ? config.eslint.rules['arrow-parens'] + : 'off', + 'prefer-destructuring': config.eslint.rules['prefer-destructuring'] + ? config.eslint.rules['prefer-destructuring'] + : 'warn', + 'no-nested-ternary': config.eslint.rules['no-nested-ternary'] + ? config.eslint.rules['no-nested-ternary'] + : 'off', + 'react/jsx-uses-vars': config.eslint.rules['react/jsx-uses-vars'] + ? config.eslint.rules['react/jsx-uses-vars'] + : 'warn', + // by default only this + 'react/jsx-uses-react': 'off', + 'react/react-in-jsx-scope': 'off', + ...config.eslint.rules, + } + : { + 'max-len': ['error', { code: 400 }], + camelcase: 'off', + 'no-unused-vars': 'warn', + 'no-console': 'off', + 'no-underscore-dangle': ['error', { allow: ['id_', '_id'] }], + 'arrow-body-style': 'off', + indent: 'warn', + 'consistent-return': 'off', + 'no-else-return': 'off', + 'global-require': 'off', + 'no-param-reassign': ['error', { props: false }], + 'new-cap': 'off', + 'arrow-parens': 'off', + 'prefer-destructuring': 'warn', + 'no-nested-ternary': 'off', + 'react/jsx-uses-vars': 'warn', + 'react/jsx-uses-react': 'off', + 'react/react-in-jsx-scope': 'off', + }, + }, + + webpack: { + production: config?.webpack?.production ?? false, + root: config?.webpack?.root ? config.webpack.root : 'src', + output: { + buildDirectory: config?.webpack?.output?.buildDirectory + ? config.webpack.output.buildDirectory + : '.ryunix', + }, + target: config?.webpack?.target ? config.webpack.target : 'web', + resolve: { + alias: config?.webpack?.resolve?.alias + ? config.webpack.resolve.alias + : {}, + fallback: config?.webpack?.resolve?.fallback + ? config.webpack.resolve.fallback + : {}, + extensions: config?.webpack?.resolve?.extensions + ? config.webpack.resolve.extensions + : [], + }, + plugins: config?.webpack?.plugins ? config.webpack.plugins : [], + devServer: { + port: config?.webpack?.server?.port ? config.webpack.server.port : 3000, + proxy: config?.webpack?.server?.proxy ? config.webpack.server.proxy : [], + allowedHosts: config?.webpack?.server?.allowedHosts + ? config.webpack.server.allowedHosts + : 'auto', + }, + externals: config?.webpack?.externals ? config.webpack.externals : [{}], + module: { + rules: config?.webpack?.module?.rules ? config.webpack.module.rules : [], + }, + experiments: { + lazyCompilation: config?.webpack?.experiments?.lazyCompilation + ? config.webpack.experiments.lazyCompilation + : false, + }, + }, +} + +module.exports = defaultSettings diff --git a/packages/ryunix-presets/webpack/utils/envExist.cjs b/packages/ryunix-presets/webpack/utils/envExist.cjs new file mode 100644 index 00000000..f27b83a2 --- /dev/null +++ b/packages/ryunix-presets/webpack/utils/envExist.cjs @@ -0,0 +1,14 @@ +'use strict' +const fs = require('fs') +const path = require('path') + +const envPath = path.join(process.cwd(), '.env') + +const envExist = () => { + if (fs.existsSync(envPath)) { + return true + } + + return false +} +module.exports = envExist diff --git a/packages/ryunix-presets/webpack/utils/index.mjs b/packages/ryunix-presets/webpack/utils/index.mjs new file mode 100644 index 00000000..a872e6b1 --- /dev/null +++ b/packages/ryunix-presets/webpack/utils/index.mjs @@ -0,0 +1,203 @@ +import { createHash } from 'node:crypto' +import { resolve } from 'path' + +import { promises as fs } from 'fs' +import { join, dirname } from 'path' +import { fileURLToPath } from 'url' +import logger from 'terminal-log' +import chalk from 'chalk' + +const resolveApp = (appDirectory, relativePath) => + resolve(appDirectory, relativePath) + +function getPackageManager() { + const agent = process.env.npm_config_user_agent + + if (!agent) { + const parent = process.env._ + + if (!parent) { + return 'npm' + } + + if (parent.endsWith('pnpx') || parent.endsWith('pnpm')) return 'pnpm' + if (parent.endsWith('bunx') || parent.endsWith('bun')) return 'bun' + if (parent.endsWith('yarn')) return 'yarn' + + return 'npm' + } + + const [program] = agent.split('/') + + if (program === 'yarn') return 'yarn' + if (program === 'pnpm') return 'pnpm' + if (program === 'bun') return 'bun' + + return 'npm' +} + +const ENV_HASH = (env) => { + const hash = createHash('md5') + hash.update(JSON.stringify(env)) + + return hash.digest('hex') +} + +const RYUNIX_APP = /^RYUNIX_APP_/i + +const getEnviroment = () => + Object.keys(process.env) + .filter((key) => RYUNIX_APP.test(key)) + .reduce( + (env, key) => { + env[key] = process.env[key] + return env + }, + { + NODE_ENV: process.env.NODE_ENV || 'development', + }, + ) + +const getPackageVersion = async () => { + const __dirname = dirname(fileURLToPath(import.meta.url)) // Para obtener el directorio actual + const packageJsonPath = join(__dirname, '..', '..', '..', 'ryunixjs', 'package.json') + const data = await fs.readFile(packageJsonPath, 'utf-8') + const packageJson = JSON.parse(data) + return packageJson +} + +async function cleanCacheDir(dirPath) { + try { + await fs.access(dirPath) + await fs.rm(dirPath, { recursive: true, force: true }) + logger.info( + `webpack cache cleaned ${chalk.bold(chalk.green('successfully'))}`, + ) + } catch (err) { + // Directory does not exist or some error occurred + if (err.code === 'ENOENT') { + logger.info(`webpack cache cleaned ${chalk.red('failed')}`) + } else { + throw err // or handle error accordingly + } + } +} + +async function cleanBuildDirectory(dirPath) { + try { + await fs.access(dirPath) + await fs.rm(dirPath, { recursive: true, force: true }) + logger.info( + `static folder cleaned ${chalk.bold(chalk.green('successfully'))}`, + ) + } catch (err) { + // Directory does not exist or some error occurred + + if (err.code === 'ENOENT') { + logger.info(`static folder cleaned ${chalk.red('failed')}`) + } else { + throw err // or handle error accordingly + } + } +} + +// utils/convertFlatToClassic.js +export function convertFlatToClassic(configArray) { + const combined = { + env: {}, + globals: {}, + parserOptions: {}, + plugins: new Set(), + extends: new Set(), + rules: {}, + parser: undefined, + } + + const invalidKeys = new Set() + + for (const cfg of configArray) { + // Detectar keys inválidas + for (const key of Object.keys(cfg)) { + if ( + ![ + 'env', + 'globals', + 'parserOptions', + 'plugins', + 'extends', + 'rules', + 'parser', + 'languageOptions', + ].includes(key) + ) { + invalidKeys.add(key) + } + } + + // Combinar env + if (cfg.env) Object.assign(combined.env, cfg.env) + + // Combinar globals + if (cfg.globals) Object.assign(combined.globals, cfg.globals) + + // Combinar parserOptions + if (cfg.languageOptions?.parserOptions) { + Object.assign(combined.parserOptions, cfg.languageOptions.parserOptions) + } else if (cfg.parserOptions) { + Object.assign(combined.parserOptions, cfg.parserOptions) + } + + // Combinar plugins + if (cfg.plugins) { + if (Array.isArray(cfg.plugins)) { + cfg.plugins.forEach((p) => combined.plugins.add(p)) + } else if (typeof cfg.plugins === 'object' && cfg.plugins !== null) { + Object.keys(cfg.plugins).forEach((p) => combined.plugins.add(p)) + } + } + + // Combinar extends + if (cfg.extends) { + if (Array.isArray(cfg.extends)) { + cfg.extends.forEach((e) => combined.extends.add(e)) + } else if (typeof cfg.extends === 'string') { + combined.extends.add(cfg.extends) + } + } + + // Combinar reglas + if (cfg.rules) Object.assign(combined.rules, cfg.rules) + + // Parser + if (cfg.languageOptions?.parser) { + combined.parser = cfg.languageOptions.parser + } else if (cfg.parser) { + combined.parser = cfg.parser + } + } + + return { + env: Object.keys(combined.env).length ? combined.env : undefined, + globals: Object.keys(combined.globals).length + ? combined.globals + : undefined, + parserOptions: Object.keys(combined.parserOptions).length + ? combined.parserOptions + : undefined, + plugins: combined.plugins.size ? Array.from(combined.plugins) : undefined, + extends: combined.extends.size ? Array.from(combined.extends) : undefined, + rules: combined.rules, + parser: combined.parser, + } +} + +export { + getPackageManager, + ENV_HASH, + getEnviroment, + resolveApp, + RYUNIX_APP, + getPackageVersion, + cleanCacheDir, + cleanBuildDirectory, +} diff --git a/packages/ryunix-presets/webpack/utils/settingfile.cjs b/packages/ryunix-presets/webpack/utils/settingfile.cjs new file mode 100644 index 00000000..4a1d7939 --- /dev/null +++ b/packages/ryunix-presets/webpack/utils/settingfile.cjs @@ -0,0 +1,33 @@ +'use strict' + +const fs = require('fs') +const path = require('path') + +const defaultConfigFile = path.join(process.cwd(), 'ryunix.config.js') +const commonConfigFile = path.join(process.cwd(), 'ryunix.config.cjs') + +const configFileExist = () => { + return fs.existsSync(defaultConfigFile) || fs.existsSync(commonConfigFile) +} + +const getConfig = () => { + try { + if (fs.existsSync(defaultConfigFile)) { + const { default: config } = require(defaultConfigFile) + + return config + } else if (fs.existsSync(commonConfigFile)) { + const config = require(commonConfigFile) + return config + } + + return {} + } catch (error) { + console.error(error) + } +} + +module.exports = { + getConfig, + configFileExist, +} diff --git a/packages/ryunix-presets/webpack/webpack.config.mjs b/packages/ryunix-presets/webpack/webpack.config.mjs new file mode 100644 index 00000000..a169df4d --- /dev/null +++ b/packages/ryunix-presets/webpack/webpack.config.mjs @@ -0,0 +1,279 @@ +import { fileURLToPath } from 'url' +import { dirname, join } from 'path' +import HtmlWebpackPlugin from 'html-webpack-plugin' +import TerserPlugin from 'terser-webpack-plugin' +import webpack from 'webpack' +import CssMinimizerPlugin from 'css-minimizer-webpack-plugin' +import MiniCssExtractPlugin from 'mini-css-extract-plugin' +import CopyWebpackPlugin from 'copy-webpack-plugin' +import ESLintPlugin from 'eslint-webpack-plugin' +import eslintConfig from './eslint.config.mjs' +import { + getPackageManager, + ENV_HASH, + getEnviroment, + resolveApp, + RYUNIX_APP, +} from './utils/index.mjs' +import fs from 'fs' +import config from './utils/config.cjs' +import Dotenv from 'dotenv-webpack' +import { getPackageVersion } from './utils/index.mjs' + +const __filename = fileURLToPath(import.meta.url) + +const __dirname = dirname(__filename) + +let dir + +const manager = getPackageManager() +if (manager === 'yarn' || manager === 'npm' || manager === 'bun') { + dir = process.cwd() +} else if (manager === 'pnpm') { + throw new Error(`The manager ${manager} is not supported.`) +} + +function getAlias(object) { + const output = Object.entries(object) + .filter(([k, v]) => { + return true // some irrelevant conditions here + }) + .reduce((accum, [k, v]) => { + accum[k] = resolveApp(dir, v) + return accum + }, {}) + return output +} + +const { version } = await getPackageVersion() + +export default { + // context: src + experiments: { + lazyCompilation: config.webpack.experiments.lazyCompilation, + }, + context: resolveApp(dir, config.webpack.root), + entry: './main.ryx', + devtool: config.webpack.production ? 'source-map' : false, + output: { + // path: .ryunix + path: resolveApp(dir, `${config.webpack.output.buildDirectory}/static`), + publicPath: '/', + chunkFilename: './assets/js/[name].[fullhash:8].bundle.js', + assetModuleFilename: './assets/media/[name].[hash][ext]', + filename: './assets/js/[name].[fullhash:8].bundle.js', + devtoolModuleFilenameTemplate: 'ryunix/[resource-path]', + clean: config.experimental.ssg.prerender.length > 0 ? false : true, + }, + target: config.webpack.target, + devServer: { + watchFiles: [resolveApp(dir, 'src/**/*')], + hot: true, + historyApiFallback: { + index: '/', + disableDotRule: true, + }, + liveReload: false, + headers: { + 'Access-Control-Allow-Origin': '*', + 'Access-Control-Allow-Methods': '*', + 'Access-Control-Allow-Headers': '*', + }, + allowedHosts: config.webpack.devServer.allowedHosts, + port: config.webpack.devServer.port, + proxy: config.webpack.devServer.proxy, + }, + optimization: { + moduleIds: 'deterministic', + runtimeChunk: 'single', + splitChunks: { + chunks: 'all', + minSize: 20000, + maxSize: 70000, + }, + minimize: config.webpack.production === true, + minimizer: config.webpack.production + ? [ + new TerserPlugin({ + parallel: true, + terserOptions: { + compress: { + dead_code: true, + passes: 2, + }, + }, + }), + new CssMinimizerPlugin(), + ] + : [], + }, + cache: { + type: 'filesystem', + version: ENV_HASH(getEnviroment()), + cacheDirectory: resolveApp( + dir, + `${config.webpack.output.buildDirectory}/cache/webpack`, + ), + store: 'pack', + buildDependencies: { + defaultWebpack: ['webpack/lib/'], + config: [__filename], + }, + }, + infrastructureLogging: { + level: 'none', + }, + stats: 'errors-warnings', + module: { + rules: [ + { + test: /\.(js|jsx|ryx)$/, + exclude: /node_modules/, + use: [ + 'thread-loader', + { + loader: 'babel-loader', + options: { + presets: [ + [ + '@babel/preset-env', + { + targets: 'defaults and not IE 11', + useBuiltIns: false, + modules: false, + bugfixes: true, + }, + ], + '@babel/preset-react', + ], + cacheDirectory: resolveApp( + dir, + `${config.webpack.output.buildDirectory}/cache/babel`, + ), + plugins: [ + [ + '@babel/plugin-transform-react-jsx', + { + pragma: 'Ryunix.createElement', + pragmaFrag: 'Ryunix.Fragment', + }, + ], + ], + }, + }, + ], + }, + { + test: /\.s[ac]ss|css$/i, + exclude: /node_modules/, + use: [ + config.webpack.production ? MiniCssExtractPlugin.loader : 'style-loader', + 'css-loader', + 'sass-loader', + ], + }, + { + test: /\.(jpg|jpeg|png|gif|svg|ico)$/, + exclude: /node_modules/, + type: 'asset/resource', + generator: { + filename: 'assets/images/[name].[hash][ext]', + }, + }, + { + test: /\.(mp3|mp4|pdf)$/, + exclude: /node_modules/, + type: 'asset/resource', + generator: { + filename: 'assets/files/[name].[hash][ext]', + }, + }, + ...config.webpack.module.rules, + ], + }, + resolve: { + alias: + config.webpack.resolve.alias && getAlias(config.webpack.resolve.alias), + extensions: [ + '.*', + '.js', + '.jsx', + '.ryx', + ...config.webpack.resolve.extensions, + ], + fallback: config.webpack.resolve.fallback, + }, + + plugins: [ + new webpack.HotModuleReplacementPlugin(), + fs.existsSync(resolveApp(dir, '.env')) && + new Dotenv({ + path: resolveApp(dir, '.env'), + prefix: 'ryunix.env.RYUNIX_APP_', + systemvars: false, + ignoreStub: true, + }), + new webpack.DefinePlugin({ + 'ryunix.config.env': JSON.stringify(config.experimental.env), + }), + new ESLintPlugin({ + cwd: dir, + files: ['**/*.ryx', ...config.eslint.files], + extensions: ['js', 'ryx', 'jsx'], + emitError: true, + emitWarning: true, + failOnWarning: false, + failOnError: false, + overrideConfigFile: true, + overrideConfig: eslintConfig[0], + }), + new HtmlWebpackPlugin({ + pageLang: config.static.seo.pageLang, + title: config.static.seo.title, + favicon: config.static.favicon + ? join(dir, 'public', 'favicon.png') + : false, + meta: config.static.seo.meta, + template: config.static.customTemplate + ? join(dir, 'public', 'index.html') + : join(__dirname, 'template', 'index.html'), + info: { + framework: 'Ryunix', + version, + mode: config.webpack.production ? 'production' : 'dev', + }, + }), + config.webpack.production && + new MiniCssExtractPlugin({ + filename: 'assets/css/[name].[contenthash].css', + }), + new CopyWebpackPlugin({ + patterns: [ + { + from: resolveApp(dir, 'public'), + to: resolveApp(dir, `${config.webpack.output.buildDirectory}/static`), + // Exclude any html files (index.html or others) to avoid duplicate emission + // when HtmlWebpackPlugin also generates index.html from a template. + globOptions: { + ignore: ['**/template.html', '**/index.html', '**/*.html', '**/favicon.png'], + }, + filter: (resourcePath) => { + try { + return !resourcePath.toLowerCase().endsWith('.html') + } catch (e) { + return true + } + }, + noErrorOnMissing: true, + }, + ], + }), + ...config.webpack.plugins, + ].filter(Boolean), + externals: [ + { + ryunix: '@unsetsoft/ryunixjs', + }, + ...config.webpack.externals, + ], +} diff --git a/packages/ryunix-webpack/webpack.config.mjs b/packages/ryunix-webpack/webpack.config.mjs index eb8a3595..5611967a 100644 --- a/packages/ryunix-webpack/webpack.config.mjs +++ b/packages/ryunix-webpack/webpack.config.mjs @@ -254,8 +254,16 @@ export default { { from: resolveApp(dir, 'public'), to: resolveApp(dir, `${config.webpack.output.buildDirectory}/static`), + // Exclude HTML files to avoid emitting a second index.html when HtmlWebpackPlugin generates it globOptions: { - ignore: ['**/index.html', '**/favicon.png'], + ignore: ['**/*.html', '**/favicon.png'], + }, + filter: (resourcePath) => { + try { + return !resourcePath.toLowerCase().endsWith('.html') + } catch (e) { + return true + } }, noErrorOnMissing: true, }, From 9660d142bb196710f6b5b6804fe0086cf6420c34 Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 18:47:57 -0300 Subject: [PATCH 05/13] update 15 files --- packages/ryunix-presets/package.json | 2 +- packages/ryunix-presets/webpack/bin/serve.mjs | 40 ++++++++----------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/packages/ryunix-presets/package.json b/packages/ryunix-presets/package.json index eb4f36c1..32ae020e 100644 --- a/packages/ryunix-presets/package.json +++ b/packages/ryunix-presets/package.json @@ -1,7 +1,7 @@ { "name": "@unsetsoft/ryunix-presets", "description": "Package with presets for different development environments.", - "version": "1.0.11", + "version": "1.0.14", "author": "Neyunse", "type": "module", "repository": "https://github.com/UnSetSoft/Ryunixjs", diff --git a/packages/ryunix-presets/webpack/bin/serve.mjs b/packages/ryunix-presets/webpack/bin/serve.mjs index 593867ed..2eb12c81 100644 --- a/packages/ryunix-presets/webpack/bin/serve.mjs +++ b/packages/ryunix-presets/webpack/bin/serve.mjs @@ -73,29 +73,23 @@ const StartServer = async (cliSettings) => { try { await server.start() // Iniciar el servidor con el nuevo puerto - logger.info(`\n - ${chalk.bold(chalk.cyanBright(` ${version}`))}\n - - Running at: http://localhost:${port}\n - - Config file: ${ - configFileExist() - ? chalk.green(`loaded`) - : chalk.red(`404 Not Found`) - }\n - - Environment file: ${ - envPath() ? chalk.green(`loaded`) : chalk.red(`404 Not Found`) - }\n - - Mode: ${ - defaultSettings.webpack.production - ? chalk.green(`production`) - : chalk.yellow(`development`) - }\n - ${ - devMode - ? chalk.yellow( - `⚠️ You are in development mode, remember update ryunix.config.js for production!`, - ) - : '' // prevent false in the terminal - }\n `) + // Mejor formato de información para el servidor + const url = `http://localhost:${port}` + const cfgStatus = configFileExist() ? chalk.green('loaded') : chalk.red('not found') + const envStatus = envPath() ? chalk.green('loaded') : chalk.yellow('not found') + const modeLabel = defaultSettings.webpack.production ? chalk.green('production') : chalk.yellow('development') + + const lines = [] + lines.push(chalk.bold(chalk.cyanBright(` ${version}`))) + lines.push('') + lines.push(`${chalk.gray('-')} Running at: ${chalk.underline(url)}`) + lines.push(`${chalk.gray('-')} Config file: ${cfgStatus}`) + lines.push(`${chalk.gray('-')} Environment file: ${envStatus}`) + lines.push(`${chalk.gray('-')} Mode: ${modeLabel}`) + if (devMode) lines.push(chalk.yellow('⚠️ You are in development mode — update ryunix.config.js for production')) + + lines.push('---------------------------') + logger.info(lines.join('\n')) } catch (err) { logger.error(`[error] ${err.message}`) } From a5193e9ff642f21811f81f2339c6916f77efad17 Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 18:50:26 -0300 Subject: [PATCH 06/13] update cli.js --- packages/cra/src/cli.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cra/src/cli.js b/packages/cra/src/cli.js index d2bc954e..506b77c4 100755 --- a/packages/cra/src/cli.js +++ b/packages/cra/src/cli.js @@ -46,10 +46,10 @@ create('create-cra', { if (answers.channel === 'Latest') { await installNpmPackage('@unsetsoft/ryunixjs@latest') - await installNpmPackage('@unsetsoft/ryunix-webpack@latest', true) + await installNpmPackage('@unsetsoft/ryunix-presets@latest', true) } else if (answers.channel === 'Canary') { await installNpmPackage('@unsetsoft/ryunixjs@canary') - await installNpmPackage('@unsetsoft/ryunix-webpack@canary', true) + await installNpmPackage('@unsetsoft/ryunix-presets@canary', true) } } else if (template === 'Vite') { // Ryunix From 4eb3839f963499e7fd21f0a07d9e84506da8dd7e Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 18:53:36 -0300 Subject: [PATCH 07/13] build: update package.json and package.json --- packages/cra/package.json | 2 +- packages/ryunix-presets/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cra/package.json b/packages/cra/package.json index d1568e81..3af8bd87 100644 --- a/packages/cra/package.json +++ b/packages/cra/package.json @@ -1,7 +1,7 @@ { "name": "@unsetsoft/cra", "description": "Create Ryunix app", - "version": "1.1.17", + "version": "1.1.18", "author": "Neyunse", "repository": "https://github.com/UnSetSoft/Ryunixjs", "license": "MIT", diff --git a/packages/ryunix-presets/package.json b/packages/ryunix-presets/package.json index 32ae020e..4a59bf71 100644 --- a/packages/ryunix-presets/package.json +++ b/packages/ryunix-presets/package.json @@ -1,7 +1,7 @@ { "name": "@unsetsoft/ryunix-presets", "description": "Package with presets for different development environments.", - "version": "1.0.14", + "version": "1.0.15", "author": "Neyunse", "type": "module", "repository": "https://github.com/UnSetSoft/Ryunixjs", From 5f404c88e12cffba8ce302e69b8771afc0c33da4 Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 18:54:52 -0300 Subject: [PATCH 08/13] build: update package.json --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 557fbc87..7e2c850c 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,8 @@ "prettier-fix": "prettier -w .", "kg:init": "gmvu init", "kg:bump": "gmvu bump", - "r:c": "yarn log --prerelease canary && yarn kg:bump && yarn prettier-fix && npm run canary:release --workspace=@unsetsoft/ryunix-webpack --workspace=@unsetsoft/ryunixjs && yarn git canary", - "r:r": "yarn log main && yarn kg:bump && yarn prettier-fix && npm run release --workspace=@unsetsoft/ryunix-webpack --workspace=@unsetsoft/ryunixjs && yarn git main", + "r:c": "yarn log --prerelease canary && yarn kg:bump && yarn prettier-fix && npm run canary:release --workspace=@unsetsoft/ryunixjs && yarn git canary", + "r:r": "yarn log main && yarn kg:bump && yarn prettier-fix && npm run release --workspace=@unsetsoft/ryunixjs && yarn git main", "cra:r": "npm run release --workspace=@unsetsoft/cra", "cra:n": "npm run nightly:release --workspace=@unsetsoft/cra", "log": "standard-version --header '# Changelog'", From dc9ea3ba143343831bfa2e417fec8135187f92e4 Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 19:09:51 -0300 Subject: [PATCH 09/13] delete 16 files and update 4 files --- .npmrc | 1 - package.json | 2 +- packages/ryunix-presets/package.json | 38 +-- packages/ryunix-webpack/.npmignore | 6 - packages/ryunix-webpack/.npmrc | 1 - packages/ryunix-webpack/bin/compiler.mjs | 6 - packages/ryunix-webpack/bin/index.mjs | 115 ------- packages/ryunix-webpack/bin/prerender.mjs | 141 --------- packages/ryunix-webpack/bin/serve.mjs | 109 ------- packages/ryunix-webpack/config.d.ts | 85 ------ packages/ryunix-webpack/eslint.config.mjs | 31 -- packages/ryunix-webpack/package.json | 67 ----- packages/ryunix-webpack/template/index.html | 19 -- packages/ryunix-webpack/utils/config.cjs | 190 ------------ packages/ryunix-webpack/utils/envExist.cjs | 14 - packages/ryunix-webpack/utils/index.mjs | 203 ------------- packages/ryunix-webpack/utils/settingfile.cjs | 33 --- packages/ryunix-webpack/webpack.config.mjs | 280 ------------------ 18 files changed, 20 insertions(+), 1321 deletions(-) delete mode 100644 .npmrc delete mode 100644 packages/ryunix-webpack/.npmignore delete mode 100644 packages/ryunix-webpack/.npmrc delete mode 100644 packages/ryunix-webpack/bin/compiler.mjs delete mode 100755 packages/ryunix-webpack/bin/index.mjs delete mode 100644 packages/ryunix-webpack/bin/prerender.mjs delete mode 100644 packages/ryunix-webpack/bin/serve.mjs delete mode 100644 packages/ryunix-webpack/config.d.ts delete mode 100644 packages/ryunix-webpack/eslint.config.mjs delete mode 100644 packages/ryunix-webpack/package.json delete mode 100644 packages/ryunix-webpack/template/index.html delete mode 100644 packages/ryunix-webpack/utils/config.cjs delete mode 100644 packages/ryunix-webpack/utils/envExist.cjs delete mode 100644 packages/ryunix-webpack/utils/index.mjs delete mode 100644 packages/ryunix-webpack/utils/settingfile.cjs delete mode 100644 packages/ryunix-webpack/webpack.config.mjs diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 38f11c64..00000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -registry=https://registry.npmjs.org diff --git a/package.json b/package.json index 7e2c850c..5c724b85 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "globals": "16.2.0", "html-loader": "5.1.0", "html-webpack-plugin": "5.6.3", - "image-webpack-loader": "8.1.0", + "image-webpack-loader": "^8.0.1", "lodash": "4.17.21", "mini-css-extract-plugin": "2.9.2", "prettier": "3.6.0", diff --git a/packages/ryunix-presets/package.json b/packages/ryunix-presets/package.json index 4a59bf71..a0140a6a 100644 --- a/packages/ryunix-presets/package.json +++ b/packages/ryunix-presets/package.json @@ -1,7 +1,7 @@ { "name": "@unsetsoft/ryunix-presets", "description": "Package with presets for different development environments.", - "version": "1.0.15", + "version": "1.0.16", "author": "Neyunse", "type": "module", "repository": "https://github.com/UnSetSoft/Ryunixjs", @@ -33,42 +33,42 @@ "node": "^18 || ^20 || ^22" }, "dependencies": { - "@babel/cli": "7.27.2", - "@babel/core": "7.27.4", + "@babel/cli": "7.28.3", + "@babel/core": "7.28.5", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/plugin-transform-react-jsx": "7.27.1", - "@babel/preset-env": "7.27.2", - "@babel/preset-react": "7.27.1", + "@babel/preset-env": "7.28.5", + "@babel/preset-react": "7.28.5", "@eslint/eslintrc": "3.3.1", - "@eslint/js": "9.31.0", + "@eslint/js": "9.38.0", "@rollup/plugin-terser": "0.4.4", - "@swc/core": "1.12.6", + "@swc/core": "1.12.14", "babel-loader": "10.0.0", - "chalk": "5.4.1", - "copy-webpack-plugin": "13.0.0", + "chalk": "5.6.2", + "copy-webpack-plugin": "13.0.1", "css-loader": "7.1.2", "css-minimizer-webpack-plugin": "7.0.2", - "dotenv-webpack": "8.1.0", - "eslint": "9.31.0", + "dotenv-webpack": "8.1.1", + "eslint": "9.38.0", "eslint-plugin-react": "^7.37.5", "eslint-webpack-plugin": "5.0.2", "file-loader": "6.2.0", "glob": "11.0.3", - "globals": "16.2.0", + "globals": "16.4.0", "html-loader": "5.1.0", - "html-webpack-plugin": "5.6.3", - "image-webpack-loader": "8.1.0", + "html-webpack-plugin": "5.6.4", + "image-webpack-loader": "^8.1.0", "lodash": "4.17.21", - "mini-css-extract-plugin": "2.9.2", - "rollup": "4.44.0", - "sass": "1.89.2", - "sass-loader": "16.0.5", + "mini-css-extract-plugin": "2.9.4", + "rollup": "4.52.5", + "sass": "1.93.2", + "sass-loader": "16.0.6", "style-loader": "4.0.0", "terminal-log": "1.0.1", "terser-webpack-plugin": "5.3.14", "thread-loader": "4.0.4", "url-loader": "4.1.1", - "webpack": "5.99.9", + "webpack": "5.102.1", "webpack-cli": "6.0.1", "webpack-dev-server": "5.2.2", "yargs": "18.0.0" diff --git a/packages/ryunix-webpack/.npmignore b/packages/ryunix-webpack/.npmignore deleted file mode 100644 index 8f4f0038..00000000 --- a/packages/ryunix-webpack/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -node_modules -yarn.lock -.npmrc -old_lib - - \ No newline at end of file diff --git a/packages/ryunix-webpack/.npmrc b/packages/ryunix-webpack/.npmrc deleted file mode 100644 index 38f11c64..00000000 --- a/packages/ryunix-webpack/.npmrc +++ /dev/null @@ -1 +0,0 @@ -registry=https://registry.npmjs.org diff --git a/packages/ryunix-webpack/bin/compiler.mjs b/packages/ryunix-webpack/bin/compiler.mjs deleted file mode 100644 index 34dd1e63..00000000 --- a/packages/ryunix-webpack/bin/compiler.mjs +++ /dev/null @@ -1,6 +0,0 @@ -import webpack from 'webpack' -import webpackConfig from '../webpack.config.mjs' -webpackConfig.mode = 'production' -const compiler = webpack(webpackConfig) - -export { compiler } diff --git a/packages/ryunix-webpack/bin/index.mjs b/packages/ryunix-webpack/bin/index.mjs deleted file mode 100755 index 8a8e083f..00000000 --- a/packages/ryunix-webpack/bin/index.mjs +++ /dev/null @@ -1,115 +0,0 @@ -#! /usr/bin/env node -import yargs from 'yargs' -import { hideBin } from 'yargs/helpers' -import { StartServer } from './serve.mjs' -import { compiler } from './compiler.mjs' -import logger from 'terminal-log' -import chalk from 'chalk' -import defaultSettings from '../utils/config.cjs' -import Prerender from './prerender.mjs' -import { - cleanBuildDirectory, - convertFlatToClassic, - resolveApp, -} from '../utils/index.mjs' -import { ESLint } from 'eslint' -import eslintConfig from '../eslint.config.mjs' -const lint = { - command: 'lint', - describe: 'Lint code', - builder: { - fix: { - alias: 'f', - type: 'boolean', - default: false, - describe: 'Automatically fix problems', - }, - }, - handler: async (arg) => { - const classicConfig = eslintConfig[0] - - const fix = arg.fix - const eslint = new ESLint({ - cwd: process.cwd(), - overrideConfigFile: true, - overrideConfig: classicConfig, - fix, - }) - - const results = await eslint.lintFiles(defaultSettings.eslint.files) - - await ESLint.outputFixes(results) - - const formatter = await eslint.loadFormatter('stylish') - const report = formatter.format(results) - console.log(report) - }, -} - -const serv = { - command: 'server', - describe: 'Run server', - handler: async (arg) => { - const open = Boolean(arg.browser) || false - const settings = { - open, - } - - StartServer(settings) - }, -} - -const build = { - command: 'build', - describe: 'Run builder', - handler: async (arg) => { - if (!defaultSettings.webpack.production) { - logger.error( - chalk.red( - 'The compilation cannot complete because you are trying to compile in developer mode. remember update ryunix.config.js.', - ), - ) - return - } - - if (defaultSettings.experimental.ssg.prerender.length > 0) { - await cleanBuildDirectory( - resolveApp( - process.cwd(), - `${defaultSettings.webpack.output.buildDirectory}/static`, - ), - ) - } - - compiler.run(async (err, stats) => { - if (err || stats.hasErrors()) { - logger.error(chalk.red('Error during compilation:')) - logger.error(err || stats.toString('errors-only')) - return - } - - const buildTimeMs = stats.endTime - stats.startTime - - const minutes = Math.floor(buildTimeMs / 60000) - const seconds = ((buildTimeMs % 60000) / 1000).toFixed(1) - - const formattedTime = - minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s` - - if (defaultSettings.experimental.ssg.prerender.length > 0) { - await Prerender() - } - - logger.info(chalk.green('Compilation successful! 🎉')) - logger.info(`Done in ${formattedTime}`) - - compiler.close((closeErr) => { - if (closeErr) { - logger.error(chalk.red('Error closing the compiler:'), closeErr) - } - }) - }) - }, -} - -yargs(hideBin(process.argv)).command(serv).command(build).command(lint).parse() diff --git a/packages/ryunix-webpack/bin/prerender.mjs b/packages/ryunix-webpack/bin/prerender.mjs deleted file mode 100644 index b8886410..00000000 --- a/packages/ryunix-webpack/bin/prerender.mjs +++ /dev/null @@ -1,141 +0,0 @@ -/** - * prerender metadata - * - */ -import { configFileExist } from '../utils/settingfile.cjs' -import defaultSettings from '../utils/config.cjs' -import { resolveApp } from '../utils/index.mjs' -import fs from 'fs' -import path from 'path' - -// proyect/.ryunix/static -const buildDirectory = resolveApp(process.cwd(), '.ryunix/static') -const indexFile = path.join(buildDirectory, 'index.html') - -const siteMap = async (routes) => { - if (!defaultSettings.experimental.ssg.sitemap.baseURL) { - console.error( - '❌ Base URL is not defined in the configuration file. Please set `experimental.ssg.sitemap.baseURL`.', - ) - process.exit(1) - } - - const sitemap = ` - -${routes - .map((route) => { - const url = `${defaultSettings.experimental.ssg.sitemap.baseURL}${route.path === '/' ? '' : route.path}` - const meta = route.meta || {} - const sitemap_settings = route.sitemap || {} - const lastmod = meta.lastmod || new Date().toISOString().split('T')[0] - - // sitemap settings - const changefreq = - sitemap_settings.changefreq || - meta.changefreq || // TODO: Remove meta.changefreq - defaultSettings.experimental.ssg.sitemap.settings.changefreq - const priority = - sitemap_settings.priority || - meta.priority || // TODO: Remove meta.priority - defaultSettings.experimental.ssg.sitemap.settings.priority - - return ` - ${url} - ${lastmod} - ${changefreq} - ${priority} -` - }) - .join('\n')} -` - - await fs.writeFileSync( - path.resolve(buildDirectory, 'sitemap.xml'), - sitemap, - 'utf-8', - ) - - console.log('✅ Sitemap created') -} - -const Prerender = async () => { - if (!configFileExist()) { - console.error('❌ No configuration file found.') - process.exit(1) - } - - const template = fs.readFileSync(indexFile, 'utf-8') - - for (const route of defaultSettings.experimental.ssg.prerender) { - if (route.path === '/') continue // Exclude root path, handled by defaultSettings.static.seo.meta - let html = template - const meta = route?.meta || defaultSettings.static.seo.meta - - // title - if (meta.title) { - html = html.replace(/.*<\/title>/, `<title>${meta.title}`) - } - - // Helper to add or replace metatag - function upsertMetaTag(html, name, value) { - if (value === undefined || value === null) return html - - const isProperty = name.startsWith('og:') || name.startsWith('twitter:') - const attr = isProperty ? 'property' : 'name' - const regex = new RegExp( - ``, - 'i', - ) - const tag = `` - - if (regex.test(html)) { - return html.replace(regex, tag) - } else { - return html.replace(/<\/head>/i, `${tag}\n`) - } - } - - // Description - html = upsertMetaTag(html, 'description', meta.description) - // Keywords - html = upsertMetaTag(html, 'keywords', meta.keywords) - - // dynamic metatags (excluding title, description, keywords, framework, mode) - for (const [key, value] of Object.entries(meta)) { - if ( - [ - 'title', - 'description', - 'keywords', - 'framework', - 'mode', - 'viewport', - ].includes(key) - ) - continue - html = upsertMetaTag(html, key, value) - } - - const outputDir = - route.path === '/' - ? buildDirectory - : path.join(buildDirectory, route.path) - - if (!fs.existsSync(outputDir)) { - await fs.mkdirSync(outputDir, { recursive: true, force: true }) - } - - await fs.writeFileSync(path.join(outputDir, 'index.html'), html) - console.log(`✅ Prerendered ${route.path}`) - } - - // need base url and enable - if ( - defaultSettings.experimental.ssg.sitemap.enable && - defaultSettings.experimental.ssg.sitemap.baseURL - ) { - await siteMap(defaultSettings.experimental.ssg.prerender) - } -} - -export default Prerender diff --git a/packages/ryunix-webpack/bin/serve.mjs b/packages/ryunix-webpack/bin/serve.mjs deleted file mode 100644 index 8a915bab..00000000 --- a/packages/ryunix-webpack/bin/serve.mjs +++ /dev/null @@ -1,109 +0,0 @@ -import Webpack from 'webpack' -import WebpackDevServer from 'webpack-dev-server' -import webpackConfig from '../webpack.config.mjs' -import { configFileExist } from '../utils/settingfile.cjs' -import envPath from '../utils/envExist.cjs' -import { - getPackageVersion, - resolveApp, - cleanCacheDir, -} from '../utils/index.mjs' -import logger from 'terminal-log' -import chalk from 'chalk' -import net from 'net' // Para verificar si el puerto está disponible -import defaultSettings from '../utils/config.cjs' - -const checkPortInUse = (port) => { - return new Promise((resolve, reject) => { - const server = net.createServer() - server.once('error', (err) => { - if (err.code === 'EADDRINUSE') { - resolve(true) // Puerto en uso - } else { - reject(err) - } - }) - server.once('listening', () => { - server.close() - resolve(false) // Puerto libre - }) - server.listen(port) - }) -} - -const findAvailablePort = async (port) => { - let isPortInUse = await checkPortInUse(port) - while (isPortInUse) { - logger.warn( - chalk.yellow(`Port ${port} is in use, trying port ${port + 1}...`), - ) - port += 1 - isPortInUse = await checkPortInUse(port) - } - return port -} - -const StartServer = async (cliSettings) => { - const cacheDir = resolveApp( - process.cwd(), - `${defaultSettings.webpack.output.buildDirectory}/cache`, - ) - - if (!defaultSettings.webpack.production) { - cleanCacheDir(cacheDir) - } - - webpackConfig.mode = 'development' - const compiler = Webpack(webpackConfig) - let port = webpackConfig.devServer.port || 3000 - - // Encontrar un puerto disponible - port = await findAvailablePort(port) - - // Modificamos el puerto en la configuración - webpackConfig.devServer.port = port - const devServerOptions = { ...webpackConfig.devServer, ...cliSettings } - const server = new WebpackDevServer(devServerOptions, compiler) - - const devMode = Boolean(!defaultSettings.webpack.production) - - const { version } = await getPackageVersion() - - const startServer = async () => { - try { - await server.start() // Iniciar el servidor con el nuevo puerto - - logger.info(`\n - ${chalk.bold(chalk.cyanBright(` ${version}`))} - - - Running at: http://localhost:${port} - - Config file: ${ - configFileExist() - ? chalk.green(`loaded`) - : chalk.red(`404 Not Found`) - } - - Environment file: ${ - envPath() ? chalk.green(`loaded`) : chalk.red(`404 Not Found`) - } - - Mode: ${ - defaultSettings.webpack.production - ? chalk.green(`production`) - : chalk.yellow(`development`) - } - ${ - devMode - ? chalk.yellow( - `⚠️ You are in development mode, remember update ryunix.config.js for production!`, - ) - : '' // prevent false in the terminal - } - `) - } catch (err) { - logger.error(`[error] ${err.message}`) - } - } - - await startServer() -} - -export { StartServer } diff --git a/packages/ryunix-webpack/config.d.ts b/packages/ryunix-webpack/config.d.ts deleted file mode 100644 index 8f76ecd4..00000000 --- a/packages/ryunix-webpack/config.d.ts +++ /dev/null @@ -1,85 +0,0 @@ -export interface Settings { - static: { - favicon: boolean - customTemplate: string | false - seo: { - pageLang: string - title: string - meta: { - description?: string - keywords?: string - subject?: string - copyright?: string - language?: string - robots?: string - revised?: string - abstract?: string - topic?: string - summary?: string - classification?: string - author?: string - designer?: string - replyTo?: string - owner?: string - url?: string - identifierURL?: string - directory?: string - pageName?: string - category?: string - coverage?: string - distribution?: string - rating?: string - revisitAfter?: string - subtitle?: string - target?: string - handheldFriendly?: string - mobileOptimized?: string - date?: string - searchDate?: string - dcTitle?: string - resourceLoaderDynamicStyles?: string - medium?: string - syndicationSource?: string - originalSource?: string - verifyV1?: string - yKey?: string - pageKey?: string - itemPropName?: string - [key: string]: any - } - } - } - - eslint: { - files: string[] - plugins: Record - rules: Record - } - - webpack: { - production: boolean - root: string - output: { - buildDirectory: string - } - target: string - resolve: { - alias: Record - fallback: Record - extensions: string[] - } - plugins: object[] - devServer: { - port: number - proxy: Record - allowedHosts: 'auto' | 'all' | string[] - } - externals: object[] - module: { - rules: object[] - } - experiments: { - lazyCompilation: boolean - } - } -} diff --git a/packages/ryunix-webpack/eslint.config.mjs b/packages/ryunix-webpack/eslint.config.mjs deleted file mode 100644 index 030eefa4..00000000 --- a/packages/ryunix-webpack/eslint.config.mjs +++ /dev/null @@ -1,31 +0,0 @@ -import config from './utils/config.cjs' -import { resolveApp } from './utils/index.mjs' -import { defineConfig } from 'eslint/config' -const dir = process.cwd() - -const eslintConfig = defineConfig([ - { - files: ['**/*.ryx', ...config?.eslint?.files], - languageOptions: { - ecmaVersion: 2021, - sourceType: 'module', - - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - extraFileExtensions: ['.ryx'], - }, - }, - settings: { - react: { - pragma: 'Ryunix.createElement', // Para JSX transpile a Ryunix.createElement - fragment: 'Ryunix.Fragment', // Para fragmentos JSX - }, - }, - plugins: config?.eslint?.plugins, - rules: config?.eslint?.rules, - }, -]) - -export default eslintConfig diff --git a/packages/ryunix-webpack/package.json b/packages/ryunix-webpack/package.json deleted file mode 100644 index befecdce..00000000 --- a/packages/ryunix-webpack/package.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "name": "@unsetsoft/ryunix-webpack", - "version": "1.2.1", - "license": "MIT", - "bugs": { - "url": "https://github.com/UnSetSoft/Ryunixjs/issues" - }, - "homepage": "https://github.com/UnSetSoft/Ryunixjs#readme", - "scripts": { - "canary:release": "npm publish --tag canary", - "release": "npm publish" - }, - "bin": { - "ryunix": "./bin/index.mjs" - }, - "types": "./config.d.ts", - "dependencies": { - "@babel/cli": "7.27.2", - "@babel/core": "7.27.4", - "@babel/plugin-proposal-class-properties": "7.18.6", - "@babel/plugin-transform-react-jsx": "7.27.1", - "@babel/preset-env": "7.27.2", - "@babel/preset-react": "7.27.1", - "@eslint/eslintrc": "3.3.1", - "@eslint/js": "9.31.0", - "@rollup/plugin-terser": "0.4.4", - "@swc/core": "1.12.6", - "babel-loader": "10.0.0", - "chalk": "5.4.1", - "copy-webpack-plugin": "13.0.0", - "css-loader": "7.1.2", - "css-minimizer-webpack-plugin": "7.0.2", - "dotenv-webpack": "8.1.0", - "eslint": "9.31.0", - "eslint-plugin-react": "^7.37.5", - "eslint-webpack-plugin": "5.0.2", - "file-loader": "6.2.0", - "glob": "11.0.3", - "globals": "16.2.0", - "html-loader": "5.1.0", - "html-webpack-plugin": "5.6.3", - "image-webpack-loader": "8.1.0", - "lodash": "4.17.21", - "mini-css-extract-plugin": "2.9.2", - "rollup": "4.44.0", - "sass": "1.89.2", - "sass-loader": "16.0.5", - "style-loader": "4.0.0", - "terminal-log": "1.0.1", - "terser-webpack-plugin": "5.3.14", - "thread-loader": "4.0.4", - "url-loader": "4.1.1", - "webpack": "5.99.9", - "webpack-cli": "6.0.1", - "webpack-dev-server": "5.2.2", - "yargs": "18.0.0" - }, - "engines": { - "node": "^18 || ^20 || ^22" - }, - "keywords": [ - "ryunixjs" - ], - "publishConfig": { - "registry": "https://registry.npmjs.org" - } -} diff --git a/packages/ryunix-webpack/template/index.html b/packages/ryunix-webpack/template/index.html deleted file mode 100644 index 823d6ece..00000000 --- a/packages/ryunix-webpack/template/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - <%= htmlWebpackPlugin.options.title %> - - - -
- - diff --git a/packages/ryunix-webpack/utils/config.cjs b/packages/ryunix-webpack/utils/config.cjs deleted file mode 100644 index 03d4f145..00000000 --- a/packages/ryunix-webpack/utils/config.cjs +++ /dev/null @@ -1,190 +0,0 @@ -'use strict' -const { getConfig } = require('./settingfile.cjs') -const reactPlugin = require('eslint-plugin-react') -const config = getConfig() - -const defaultSettings = { - experimental: { - ssg: { - sitemap: { - // allow sitemap generation - enable: config?.experimental?.ssg?.sitemap?.enable - ? config.experimental.ssg.sitemap.enable - : false, - // base url. ex: https://example.com - baseURL: config?.experimental?.ssg?.sitemap?.baseURL - ? config.experimental.ssg.sitemap.baseURL - : false, - // global settings for the sitemap. - settings: config?.experimental?.ssg?.sitemap?.settings - ? { - changefreq: config.experimental.ssg.sitemap.settings.changefreq - ? config.experimental.ssg.sitemap.settings.changefreq - : 'weekly', - priority: config.experimental.ssg.sitemap.settings.priority - ? config.experimental.ssg.sitemap.settings.priority - : '0.7', - } - : { - // default values - changefreq: 'weekly', - priority: '0.7', - }, - }, - // prerendered pages - // TODO: better form to import from routing system. but for now is the best method. - // NEXT: rename this! :) - prerender: config?.experimental?.ssg?.prerender - ? config.experimental.ssg.prerender - : [], - }, - env: config?.experimental?.env ? config.experimental.env : {}, - }, - static: { - favicon: config?.static?.favicon ? config.static.favicon : false, - // if is true, public/index.html are required. - customTemplate: config?.static?.customTemplate - ? config.static.customTemplate - : false, - - // global SEO. - seo: { - pageLang: config?.static?.seo?.pageLang - ? config.static.seo.pageLang - : 'en', - title: config?.static?.seo?.title - ? config.static.seo.title - : 'Ryunix App', - meta: config?.static?.seo?.meta ? config.static.seo.meta : {}, - }, - ssg: {}, // TODO: Move experimental.ssg here. - }, - - eslint: { - files: config?.eslint?.files ? config.eslint.files : ['**/*.ryx'], - plugins: config?.eslint?.plugins - ? { - react: reactPlugin, - ...config.eslint.plugins, - } - : { - react: reactPlugin, - }, - rules: config?.eslint?.rules - ? { - 'max-len': config.eslint.rules['max-len'] - ? config.eslint.rules['max-len'] - : ['error', { code: 400 }], - camelcase: config.eslint.rules.camelcase - ? config.eslint.rules.camelcase - : 'off', - 'no-unused-vars': config.eslint.rules['no-unused-vars'] - ? config.eslint.rules['no-unused-vars'] - : 'warn', - 'no-console': config.eslint.rules['no-console'] - ? config.eslint.rules['no-console'] - : 'off', - 'no-underscore-dangle': config.eslint.rules['no-underscore-dangle'] - ? config.eslint.rules['no-underscore-dangle'] - : ['error', { allow: ['id_', '_id'] }], - 'arrow-body-style': config.eslint.rules['arrow-body-style'] - ? config.eslint.rules['arrow-body-style'] - : 'off', - indent: config.eslint.rules.indent - ? config.eslint.rules.indent - : 'warn', - 'consistent-return': config.eslint.rules['consistent-return'] - ? config.eslint.rules['consistent-return'] - : 'off', - 'no-else-return': config.eslint.rules['no-else-return'] - ? config.eslint.rules['no-else-return'] - : 'off', - 'global-require': config.eslint.rules['global-require'] - ? config.eslint.rules['global-require'] - : 'off', - 'no-param-reassign': config.eslint.rules['no-param-reassign'] - ? config.eslint.rules['no-param-reassign'] - : ['error', { props: false }], - 'new-cap': config.eslint.rules['new-cap'] - ? config.eslint.rules['new-cap'] - : 'off', - 'arrow-parens': config.eslint.rules['arrow-parens'] - ? config.eslint.rules['arrow-parens'] - : 'off', - 'prefer-destructuring': config.eslint.rules['prefer-destructuring'] - ? config.eslint.rules['prefer-destructuring'] - : 'warn', - 'no-nested-ternary': config.eslint.rules['no-nested-ternary'] - ? config.eslint.rules['no-nested-ternary'] - : 'off', - 'react/jsx-uses-vars': config.eslint.rules['react/jsx-uses-vars'] - ? config.eslint.rules['react/jsx-uses-vars'] - : 'warn', - // by default only this - 'react/jsx-uses-react': 'off', - 'react/react-in-jsx-scope': 'off', - ...config.eslint.rules, - } - : { - 'max-len': ['error', { code: 400 }], - camelcase: 'off', - 'no-unused-vars': 'warn', - 'no-console': 'off', - 'no-underscore-dangle': ['error', { allow: ['id_', '_id'] }], - 'arrow-body-style': 'off', - indent: 'warn', - 'consistent-return': 'off', - 'no-else-return': 'off', - 'global-require': 'off', - 'no-param-reassign': ['error', { props: false }], - 'new-cap': 'off', - 'arrow-parens': 'off', - 'prefer-destructuring': 'warn', - 'no-nested-ternary': 'off', - 'react/jsx-uses-vars': 'warn', - 'react/jsx-uses-react': 'off', - 'react/react-in-jsx-scope': 'off', - }, - }, - - webpack: { - production: config?.webpack?.production ?? false, - root: config?.webpack?.root ? config.webpack.root : 'src', - output: { - buildDirectory: config?.webpack?.output?.buildDirectory - ? config.webpack.output.buildDirectory - : '.ryunix', - }, - target: config?.webpack?.target ? config.webpack.target : 'web', - resolve: { - alias: config?.webpack?.resolve?.alias - ? config.webpack.resolve.alias - : {}, - fallback: config?.webpack?.resolve?.fallback - ? config.webpack.resolve.fallback - : {}, - extensions: config?.webpack?.resolve?.extensions - ? config.webpack.resolve.extensions - : [], - }, - plugins: config?.webpack?.plugins ? config.webpack.plugins : [], - devServer: { - port: config?.webpack?.server?.port ? config.webpack.server.port : 3000, - proxy: config?.webpack?.server?.proxy ? config.webpack.server.proxy : [], - allowedHosts: config?.webpack?.server?.allowedHosts - ? config.webpack.server.allowedHosts - : 'auto', - }, - externals: config?.webpack?.externals ? config.webpack.externals : [{}], - module: { - rules: config?.webpack?.module?.rules ? config.webpack.module.rules : [], - }, - experiments: { - lazyCompilation: config?.webpack?.experiments?.lazyCompilation - ? config.webpack.experiments.lazyCompilation - : false, - }, - }, -} - -module.exports = defaultSettings diff --git a/packages/ryunix-webpack/utils/envExist.cjs b/packages/ryunix-webpack/utils/envExist.cjs deleted file mode 100644 index f27b83a2..00000000 --- a/packages/ryunix-webpack/utils/envExist.cjs +++ /dev/null @@ -1,14 +0,0 @@ -'use strict' -const fs = require('fs') -const path = require('path') - -const envPath = path.join(process.cwd(), '.env') - -const envExist = () => { - if (fs.existsSync(envPath)) { - return true - } - - return false -} -module.exports = envExist diff --git a/packages/ryunix-webpack/utils/index.mjs b/packages/ryunix-webpack/utils/index.mjs deleted file mode 100644 index fe451611..00000000 --- a/packages/ryunix-webpack/utils/index.mjs +++ /dev/null @@ -1,203 +0,0 @@ -import { createHash } from 'node:crypto' -import { resolve } from 'path' - -import { promises as fs } from 'fs' -import { join, dirname } from 'path' -import { fileURLToPath } from 'url' -import logger from 'terminal-log' -import chalk from 'chalk' - -const resolveApp = (appDirectory, relativePath) => - resolve(appDirectory, relativePath) - -function getPackageManager() { - const agent = process.env.npm_config_user_agent - - if (!agent) { - const parent = process.env._ - - if (!parent) { - return 'npm' - } - - if (parent.endsWith('pnpx') || parent.endsWith('pnpm')) return 'pnpm' - if (parent.endsWith('bunx') || parent.endsWith('bun')) return 'bun' - if (parent.endsWith('yarn')) return 'yarn' - - return 'npm' - } - - const [program] = agent.split('/') - - if (program === 'yarn') return 'yarn' - if (program === 'pnpm') return 'pnpm' - if (program === 'bun') return 'bun' - - return 'npm' -} - -const ENV_HASH = (env) => { - const hash = createHash('md5') - hash.update(JSON.stringify(env)) - - return hash.digest('hex') -} - -const RYUNIX_APP = /^RYUNIX_APP_/i - -const getEnviroment = () => - Object.keys(process.env) - .filter((key) => RYUNIX_APP.test(key)) - .reduce( - (env, key) => { - env[key] = process.env[key] - return env - }, - { - NODE_ENV: process.env.NODE_ENV || 'development', - }, - ) - -const getPackageVersion = async () => { - const __dirname = dirname(fileURLToPath(import.meta.url)) // Para obtener el directorio actual - const packageJsonPath = join(__dirname, '../package.json') - const data = await fs.readFile(packageJsonPath, 'utf-8') - const packageJson = JSON.parse(data) - return packageJson -} - -async function cleanCacheDir(dirPath) { - try { - await fs.access(dirPath) - await fs.rm(dirPath, { recursive: true, force: true }) - logger.info( - `webpack cache cleaned ${chalk.bold(chalk.green('successfully'))}`, - ) - } catch (err) { - // Directory does not exist or some error occurred - if (err.code === 'ENOENT') { - logger.info(`webpack cache cleaned ${chalk.red('failed')}`) - } else { - throw err // or handle error accordingly - } - } -} - -async function cleanBuildDirectory(dirPath) { - try { - await fs.access(dirPath) - await fs.rm(dirPath, { recursive: true, force: true }) - logger.info( - `static folder cleaned ${chalk.bold(chalk.green('successfully'))}`, - ) - } catch (err) { - // Directory does not exist or some error occurred - - if (err.code === 'ENOENT') { - logger.info(`static folder cleaned ${chalk.red('failed')}`) - } else { - throw err // or handle error accordingly - } - } -} - -// utils/convertFlatToClassic.js -export function convertFlatToClassic(configArray) { - const combined = { - env: {}, - globals: {}, - parserOptions: {}, - plugins: new Set(), - extends: new Set(), - rules: {}, - parser: undefined, - } - - const invalidKeys = new Set() - - for (const cfg of configArray) { - // Detectar keys inválidas - for (const key of Object.keys(cfg)) { - if ( - ![ - 'env', - 'globals', - 'parserOptions', - 'plugins', - 'extends', - 'rules', - 'parser', - 'languageOptions', - ].includes(key) - ) { - invalidKeys.add(key) - } - } - - // Combinar env - if (cfg.env) Object.assign(combined.env, cfg.env) - - // Combinar globals - if (cfg.globals) Object.assign(combined.globals, cfg.globals) - - // Combinar parserOptions - if (cfg.languageOptions?.parserOptions) { - Object.assign(combined.parserOptions, cfg.languageOptions.parserOptions) - } else if (cfg.parserOptions) { - Object.assign(combined.parserOptions, cfg.parserOptions) - } - - // Combinar plugins - if (cfg.plugins) { - if (Array.isArray(cfg.plugins)) { - cfg.plugins.forEach((p) => combined.plugins.add(p)) - } else if (typeof cfg.plugins === 'object' && cfg.plugins !== null) { - Object.keys(cfg.plugins).forEach((p) => combined.plugins.add(p)) - } - } - - // Combinar extends - if (cfg.extends) { - if (Array.isArray(cfg.extends)) { - cfg.extends.forEach((e) => combined.extends.add(e)) - } else if (typeof cfg.extends === 'string') { - combined.extends.add(cfg.extends) - } - } - - // Combinar reglas - if (cfg.rules) Object.assign(combined.rules, cfg.rules) - - // Parser - if (cfg.languageOptions?.parser) { - combined.parser = cfg.languageOptions.parser - } else if (cfg.parser) { - combined.parser = cfg.parser - } - } - - return { - env: Object.keys(combined.env).length ? combined.env : undefined, - globals: Object.keys(combined.globals).length - ? combined.globals - : undefined, - parserOptions: Object.keys(combined.parserOptions).length - ? combined.parserOptions - : undefined, - plugins: combined.plugins.size ? Array.from(combined.plugins) : undefined, - extends: combined.extends.size ? Array.from(combined.extends) : undefined, - rules: combined.rules, - parser: combined.parser, - } -} - -export { - getPackageManager, - ENV_HASH, - getEnviroment, - resolveApp, - RYUNIX_APP, - getPackageVersion, - cleanCacheDir, - cleanBuildDirectory, -} diff --git a/packages/ryunix-webpack/utils/settingfile.cjs b/packages/ryunix-webpack/utils/settingfile.cjs deleted file mode 100644 index 4a1d7939..00000000 --- a/packages/ryunix-webpack/utils/settingfile.cjs +++ /dev/null @@ -1,33 +0,0 @@ -'use strict' - -const fs = require('fs') -const path = require('path') - -const defaultConfigFile = path.join(process.cwd(), 'ryunix.config.js') -const commonConfigFile = path.join(process.cwd(), 'ryunix.config.cjs') - -const configFileExist = () => { - return fs.existsSync(defaultConfigFile) || fs.existsSync(commonConfigFile) -} - -const getConfig = () => { - try { - if (fs.existsSync(defaultConfigFile)) { - const { default: config } = require(defaultConfigFile) - - return config - } else if (fs.existsSync(commonConfigFile)) { - const config = require(commonConfigFile) - return config - } - - return {} - } catch (error) { - console.error(error) - } -} - -module.exports = { - getConfig, - configFileExist, -} diff --git a/packages/ryunix-webpack/webpack.config.mjs b/packages/ryunix-webpack/webpack.config.mjs deleted file mode 100644 index 5611967a..00000000 --- a/packages/ryunix-webpack/webpack.config.mjs +++ /dev/null @@ -1,280 +0,0 @@ -import { fileURLToPath } from 'url' -import { dirname, join } from 'path' -import HtmlWebpackPlugin from 'html-webpack-plugin' -import TerserPlugin from 'terser-webpack-plugin' -import webpack from 'webpack' -import CssMinimizerPlugin from 'css-minimizer-webpack-plugin' -import MiniCssExtractPlugin from 'mini-css-extract-plugin' -import CopyWebpackPlugin from 'copy-webpack-plugin' -import ESLintPlugin from 'eslint-webpack-plugin' -import eslintConfig from './eslint.config.mjs' -import { - getPackageManager, - ENV_HASH, - getEnviroment, - resolveApp, - RYUNIX_APP, -} from './utils/index.mjs' -import fs from 'fs' -import config from './utils/config.cjs' -import Dotenv from 'dotenv-webpack' -import { getPackageVersion } from './utils/index.mjs' - -const __filename = fileURLToPath(import.meta.url) - -const __dirname = dirname(__filename) - -let dir - -const manager = getPackageManager() -if (manager === 'yarn' || manager === 'npm' || manager === 'bun') { - dir = process.cwd() -} else if (manager === 'pnpm') { - throw new Error(`The manager ${manager} is not supported.`) -} - -function getAlias(object) { - const output = Object.entries(object) - .filter(([k, v]) => { - return true // some irrelevant conditions here - }) - .reduce((accum, [k, v]) => { - accum[k] = resolveApp(dir, v) - return accum - }, {}) - return output -} - -const { version } = await getPackageVersion() - -export default { - // context: src - experiments: { - lazyCompilation: config.webpack.experiments.lazyCompilation, - }, - context: resolveApp(dir, config.webpack.root), - entry: './main.ryx', - devtool: config.webpack.production ? 'source-map' : false, - output: { - // path: .ryunix - path: resolveApp(dir, `${config.webpack.output.buildDirectory}/static`), - publicPath: '/', - chunkFilename: './assets/js/[name].[fullhash:8].bundle.js', - assetModuleFilename: './assets/media/[name].[hash][ext]', - filename: './assets/js/[name].[fullhash:8].bundle.js', - devtoolModuleFilenameTemplate: 'ryunix/[resource-path]', - clean: config.experimental.ssg.prerender.length > 0 ? false : true, - }, - target: config.webpack.target, - devServer: { - watchFiles: [resolveApp(dir, 'src/**/*')], - hot: true, - historyApiFallback: { - index: '/', - disableDotRule: true, - }, - liveReload: false, - headers: { - 'Access-Control-Allow-Origin': '*', - 'Access-Control-Allow-Methods': '*', - 'Access-Control-Allow-Headers': '*', - }, - allowedHosts: config.webpack.devServer.allowedHosts, - port: config.webpack.devServer.port, - proxy: config.webpack.devServer.proxy, - }, - optimization: { - moduleIds: 'deterministic', - runtimeChunk: 'single', - splitChunks: { - chunks: 'all', - minSize: 20000, - maxSize: 70000, - }, - minimize: config.webpack.production === true, - minimizer: config.webpack.production - ? [ - new TerserPlugin({ - parallel: true, - terserOptions: { - compress: { - dead_code: true, - passes: 2, - }, - }, - }), - new CssMinimizerPlugin(), - ] - : [], - }, - cache: { - type: 'filesystem', - version: ENV_HASH(getEnviroment()), - cacheDirectory: resolveApp( - dir, - `${config.webpack.output.buildDirectory}/cache/webpack`, - ), - store: 'pack', - buildDependencies: { - defaultWebpack: ['webpack/lib/'], - config: [__filename], - }, - }, - infrastructureLogging: { - level: 'none', - }, - stats: 'errors-warnings', - module: { - rules: [ - { - test: /\.(js|jsx|ryx)$/, - exclude: /node_modules/, - use: [ - 'thread-loader', - { - loader: 'babel-loader', - options: { - presets: [ - [ - '@babel/preset-env', - { - targets: 'defaults and not IE 11', - useBuiltIns: false, - modules: false, - bugfixes: true, - }, - ], - '@babel/preset-react', - ], - cacheDirectory: resolveApp( - dir, - `${config.webpack.output.buildDirectory}/cache/babel`, - ), - plugins: [ - [ - '@babel/plugin-transform-react-jsx', - { - pragma: 'Ryunix.createElement', - pragmaFrag: 'Ryunix.Fragment', - }, - ], - ], - }, - }, - ], - }, - { - test: /\.s[ac]ss|css$/, - exclude: /node_modules/, - use: [ - config.webpack.production - ? MiniCssExtractPlugin.loader - : 'style-loader', - 'css-loader', - 'sass-loader', - ], - }, - { - test: /\.(jpg|jpeg|png|gif|svg|ico)$/, - exclude: /node_modules/, - type: 'asset/resource', - generator: { - filename: 'assets/images/[name].[hash][ext]', - }, - }, - { - test: /\.(mp3|mp4|pdf)$/, - exclude: /node_modules/, - type: 'asset/resource', - generator: { - filename: 'assets/files/[name].[hash][ext]', - }, - }, - ...config.webpack.module.rules, - ], - }, - resolve: { - alias: - config.webpack.resolve.alias && getAlias(config.webpack.resolve.alias), - extensions: [ - '.*', - '.js', - '.jsx', - '.ryx', - ...config.webpack.resolve.extensions, - ], - fallback: config.webpack.resolve.fallback, - }, - - plugins: [ - new webpack.HotModuleReplacementPlugin(), - fs.existsSync(resolveApp(dir, '.env')) && - new Dotenv({ - path: resolveApp(dir, '.env'), - prefix: 'ryunix.env.RYUNIX_APP_', - systemvars: false, - ignoreStub: true, - }), - new webpack.DefinePlugin({ - 'ryunix.config.env': JSON.stringify(config.experimental.env), - }), - new ESLintPlugin({ - cwd: dir, - files: ['**/*.ryx', ...config.eslint.files], - extensions: ['js', 'ryx', 'jsx'], - emitError: true, - emitWarning: true, - failOnWarning: false, - failOnError: false, - overrideConfigFile: true, - overrideConfig: eslintConfig[0], - }), - new HtmlWebpackPlugin({ - pageLang: config.static.seo.pageLang, - title: config.static.seo.title, - favicon: config.static.favicon - ? join(dir, 'public', 'favicon.png') - : false, - meta: config.static.seo.meta, - template: config.static.customTemplate - ? join(dir, 'public', 'index.html') - : join(__dirname, 'template', 'index.html'), - info: { - framework: 'Ryunix', - version, - mode: config.webpack.production ? 'production' : 'dev', - }, - }), - config.webpack.production && - new MiniCssExtractPlugin({ - filename: 'assets/css/[name].[contenthash].css', - }), - new CopyWebpackPlugin({ - patterns: [ - { - from: resolveApp(dir, 'public'), - to: resolveApp(dir, `${config.webpack.output.buildDirectory}/static`), - // Exclude HTML files to avoid emitting a second index.html when HtmlWebpackPlugin generates it - globOptions: { - ignore: ['**/*.html', '**/favicon.png'], - }, - filter: (resourcePath) => { - try { - return !resourcePath.toLowerCase().endsWith('.html') - } catch (e) { - return true - } - }, - noErrorOnMissing: true, - }, - ], - }), - ...config.webpack.plugins, - ].filter(Boolean), - externals: [ - { - ryunix: '@unsetsoft/ryunixjs', - }, - ...config.webpack.externals, - ], -} From bef3cb01c6bf59f510bcc02a4d91b869889b47d3 Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 19:10:47 -0300 Subject: [PATCH 10/13] build: update package.json --- packages/ryunix-presets/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ryunix-presets/package.json b/packages/ryunix-presets/package.json index a0140a6a..e1621551 100644 --- a/packages/ryunix-presets/package.json +++ b/packages/ryunix-presets/package.json @@ -1,7 +1,7 @@ { "name": "@unsetsoft/ryunix-presets", "description": "Package with presets for different development environments.", - "version": "1.0.16", + "version": "1.0.17", "author": "Neyunse", "type": "module", "repository": "https://github.com/UnSetSoft/Ryunixjs", From 577522fbe86ce4f6f9d2c5de8b79cb47d7095033 Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 19:12:15 -0300 Subject: [PATCH 11/13] update package.json and components.js --- packages/ryunix/package.json | 2 +- packages/ryunix/src/lib/components.js | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/ryunix/package.json b/packages/ryunix/package.json index 9f0c7c43..b3517915 100644 --- a/packages/ryunix/package.json +++ b/packages/ryunix/package.json @@ -1,6 +1,6 @@ { "name": "@unsetsoft/ryunixjs", - "version": "1.2.1", + "version": "1.2.2", "license": "MIT", "main": "./dist/Ryunix.min.js", "types": "./dist/Ryunix.d.ts", diff --git a/packages/ryunix/src/lib/components.js b/packages/ryunix/src/lib/components.js index 5473c597..2f1fe570 100644 --- a/packages/ryunix/src/lib/components.js +++ b/packages/ryunix/src/lib/components.js @@ -96,12 +96,7 @@ const optimizationImageApi = ({ src, props }) => { const Image = ({ src, ...props }) => { const optimization = props.optimization === 'true' ? true : false - const url = optimization - ? optimizationImageApi({ - src, - props, - }) - : src + const url = src const ImageProps = { src: url, From 3408d1052c5ffd89ef505d275aafcb7d86ab976a Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 19:15:52 -0300 Subject: [PATCH 12/13] build: update package.json --- packages/ryunix/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ryunix/package.json b/packages/ryunix/package.json index b3517915..9f0c7c43 100644 --- a/packages/ryunix/package.json +++ b/packages/ryunix/package.json @@ -1,6 +1,6 @@ { "name": "@unsetsoft/ryunixjs", - "version": "1.2.2", + "version": "1.2.1", "license": "MIT", "main": "./dist/Ryunix.min.js", "types": "./dist/Ryunix.d.ts", From 7c33848c3118c03cd0f3cd628e94da79353dd79b Mon Sep 17 00:00:00 2001 From: Neyunse Date: Wed, 29 Oct 2025 19:24:24 -0300 Subject: [PATCH 13/13] update 21 files --- kgmono.config.js | 5 +- package.json | 14 +++--- packages/cra/src/cli.js | 2 - packages/ryunix-presets/webpack/bin/serve.mjs | 19 +++++-- .../ryunix-presets/webpack/utils/index.mjs | 9 +++- .../ryunix-presets/webpack/webpack.config.mjs | 49 +++++++++++-------- packages/ryunix/package.json | 2 +- pnpm-workspace.yaml | 2 + 8 files changed, 62 insertions(+), 40 deletions(-) create mode 100644 pnpm-workspace.yaml diff --git a/kgmono.config.js b/kgmono.config.js index 3af43087..dc4a80ba 100644 --- a/kgmono.config.js +++ b/kgmono.config.js @@ -6,7 +6,4 @@ Include a list of package.json, for example: "packages/test2/package.json" ] */ -module.exports = [ - 'packages/ryunix/package.json', - 'packages/ryunix-webpack/package.json', -] +module.exports = ['packages/ryunix/package.json'] diff --git a/package.json b/package.json index 5c724b85..d40d4d82 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "RyunixJS", - "version": "1.2.1", + "version": "1.2.2", "private": true, "homepage": "./", "workspaces": [ @@ -9,19 +9,19 @@ "license": "MIT", "scripts": { "lint": "eslint . --max-warnings=0 --config eslint.config.mjs ", - "lint:fix": "yarn prettier-fix && eslint . --fix --max-warnings=0 --config eslint.config.mjs ", + "lint:fix": "pnpm run prettier-fix && eslint . --fix --max-warnings=0 --config eslint.config.mjs ", "prettier-check": "prettier -c .", "prettier-fix": "prettier -w .", "kg:init": "gmvu init", "kg:bump": "gmvu bump", - "r:c": "yarn log --prerelease canary && yarn kg:bump && yarn prettier-fix && npm run canary:release --workspace=@unsetsoft/ryunixjs && yarn git canary", - "r:r": "yarn log main && yarn kg:bump && yarn prettier-fix && npm run release --workspace=@unsetsoft/ryunixjs && yarn git main", + "r:c": "pnpm run kg:bump && pnpm run prettier-fix && npm run canary:release --workspace=@unsetsoft/ryunixjs && pnpm run git canary", + "r:r": "pnpm run kg:bump && pnpm run prettier-fix && npm run release --workspace=@unsetsoft/ryunixjs && pnpm run git main", "cra:r": "npm run release --workspace=@unsetsoft/cra", "cra:n": "npm run nightly:release --workspace=@unsetsoft/cra", "log": "standard-version --header '# Changelog'", "git": "git push --follow-tags origin", - "ryunixjs:build": "yarn build:test --workspace=@unsetsoft/ryunixjs", - "build": "yarn lint-fix && yarn build:test" + "ryunixjs:build": "pnpm run build:test --workspace=@unsetsoft/ryunixjs", + "build": "pnpm run lint-fix && pnpm run build:test" }, "dependencies": { "@babel/cli": "7.27.2", @@ -81,5 +81,5 @@ "standard-version": "9.5.0", "typescript": "5.8.3" }, - "packageManager": "yarn@4.9.2" + "packageManager": "pnpm@10.20.0" } diff --git a/packages/cra/src/cli.js b/packages/cra/src/cli.js index 506b77c4..72b8e996 100755 --- a/packages/cra/src/cli.js +++ b/packages/cra/src/cli.js @@ -20,10 +20,8 @@ create('create-cra', { choices: ['Latest', 'Canary'], prompt: 'if-no-arg', }, - }, after: async ({ answers, template, installNpmPackage }) => { - if (template === 'Rspack') { if (answers.channel === 'Latest') { await installNpmPackage('@unsetsoft/ryunixjs@latest') diff --git a/packages/ryunix-presets/webpack/bin/serve.mjs b/packages/ryunix-presets/webpack/bin/serve.mjs index 2eb12c81..0d64331c 100644 --- a/packages/ryunix-presets/webpack/bin/serve.mjs +++ b/packages/ryunix-presets/webpack/bin/serve.mjs @@ -75,9 +75,15 @@ const StartServer = async (cliSettings) => { // Mejor formato de información para el servidor const url = `http://localhost:${port}` - const cfgStatus = configFileExist() ? chalk.green('loaded') : chalk.red('not found') - const envStatus = envPath() ? chalk.green('loaded') : chalk.yellow('not found') - const modeLabel = defaultSettings.webpack.production ? chalk.green('production') : chalk.yellow('development') + const cfgStatus = configFileExist() + ? chalk.green('loaded') + : chalk.red('not found') + const envStatus = envPath() + ? chalk.green('loaded') + : chalk.yellow('not found') + const modeLabel = defaultSettings.webpack.production + ? chalk.green('production') + : chalk.yellow('development') const lines = [] lines.push(chalk.bold(chalk.cyanBright(` ${version}`))) @@ -86,7 +92,12 @@ const StartServer = async (cliSettings) => { lines.push(`${chalk.gray('-')} Config file: ${cfgStatus}`) lines.push(`${chalk.gray('-')} Environment file: ${envStatus}`) lines.push(`${chalk.gray('-')} Mode: ${modeLabel}`) - if (devMode) lines.push(chalk.yellow('⚠️ You are in development mode — update ryunix.config.js for production')) + if (devMode) + lines.push( + chalk.yellow( + '⚠️ You are in development mode — update ryunix.config.js for production', + ), + ) lines.push('---------------------------') logger.info(lines.join('\n')) diff --git a/packages/ryunix-presets/webpack/utils/index.mjs b/packages/ryunix-presets/webpack/utils/index.mjs index a872e6b1..c9edf97b 100644 --- a/packages/ryunix-presets/webpack/utils/index.mjs +++ b/packages/ryunix-presets/webpack/utils/index.mjs @@ -60,7 +60,14 @@ const getEnviroment = () => const getPackageVersion = async () => { const __dirname = dirname(fileURLToPath(import.meta.url)) // Para obtener el directorio actual - const packageJsonPath = join(__dirname, '..', '..', '..', 'ryunixjs', 'package.json') + const packageJsonPath = join( + __dirname, + '..', + '..', + '..', + 'ryunixjs', + 'package.json', + ) const data = await fs.readFile(packageJsonPath, 'utf-8') const packageJson = JSON.parse(data) return packageJson diff --git a/packages/ryunix-presets/webpack/webpack.config.mjs b/packages/ryunix-presets/webpack/webpack.config.mjs index a169df4d..05a3d6d9 100644 --- a/packages/ryunix-presets/webpack/webpack.config.mjs +++ b/packages/ryunix-presets/webpack/webpack.config.mjs @@ -94,17 +94,17 @@ export default { minimize: config.webpack.production === true, minimizer: config.webpack.production ? [ - new TerserPlugin({ - parallel: true, - terserOptions: { - compress: { - dead_code: true, - passes: 2, + new TerserPlugin({ + parallel: true, + terserOptions: { + compress: { + dead_code: true, + passes: 2, + }, }, - }, - }), - new CssMinimizerPlugin(), - ] + }), + new CssMinimizerPlugin(), + ] : [], }, cache: { @@ -167,7 +167,9 @@ export default { test: /\.s[ac]ss|css$/i, exclude: /node_modules/, use: [ - config.webpack.production ? MiniCssExtractPlugin.loader : 'style-loader', + config.webpack.production + ? MiniCssExtractPlugin.loader + : 'style-loader', 'css-loader', 'sass-loader', ], @@ -207,12 +209,12 @@ export default { plugins: [ new webpack.HotModuleReplacementPlugin(), fs.existsSync(resolveApp(dir, '.env')) && - new Dotenv({ - path: resolveApp(dir, '.env'), - prefix: 'ryunix.env.RYUNIX_APP_', - systemvars: false, - ignoreStub: true, - }), + new Dotenv({ + path: resolveApp(dir, '.env'), + prefix: 'ryunix.env.RYUNIX_APP_', + systemvars: false, + ignoreStub: true, + }), new webpack.DefinePlugin({ 'ryunix.config.env': JSON.stringify(config.experimental.env), }), @@ -244,9 +246,9 @@ export default { }, }), config.webpack.production && - new MiniCssExtractPlugin({ - filename: 'assets/css/[name].[contenthash].css', - }), + new MiniCssExtractPlugin({ + filename: 'assets/css/[name].[contenthash].css', + }), new CopyWebpackPlugin({ patterns: [ { @@ -255,7 +257,12 @@ export default { // Exclude any html files (index.html or others) to avoid duplicate emission // when HtmlWebpackPlugin also generates index.html from a template. globOptions: { - ignore: ['**/template.html', '**/index.html', '**/*.html', '**/favicon.png'], + ignore: [ + '**/template.html', + '**/index.html', + '**/*.html', + '**/favicon.png', + ], }, filter: (resourcePath) => { try { diff --git a/packages/ryunix/package.json b/packages/ryunix/package.json index 9f0c7c43..b3517915 100644 --- a/packages/ryunix/package.json +++ b/packages/ryunix/package.json @@ -1,6 +1,6 @@ { "name": "@unsetsoft/ryunixjs", - "version": "1.2.1", + "version": "1.2.2", "license": "MIT", "main": "./dist/Ryunix.min.js", "types": "./dist/Ryunix.d.ts", diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 00000000..18ec407e --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - 'packages/*'