Enhance refactor commands with controller-aware Route() updates and fix code quality violations

Add semantic token highlighting for 'that' variable and comment file references in VS Code extension
Add Phone_Text_Input and Currency_Input components with formatting utilities
Implement client widgets, form standardization, and soft delete functionality
Add modal scroll lock and update documentation
Implement comprehensive modal system with form integration and validation
Fix modal component instantiation using jQuery plugin API
Implement modal system with responsive sizing, queuing, and validation support
Implement form submission with validation, error handling, and loading states
Implement country/state selectors with dynamic data loading and Bootstrap styling
Revert Rsx::Route() highlighting in Blade/PHP files
Target specific PHP scopes for Rsx::Route() highlighting in Blade
Expand injection selector for Rsx::Route() highlighting
Add custom syntax highlighting for Rsx::Route() and Rsx.Route() calls
Update jqhtml packages to v2.2.165
Add bundle path validation for common mistakes (development mode only)
Create Ajax_Select_Input widget and Rsx_Reference_Data controller
Create Country_Select_Input widget with default country support
Initialize Tom Select on Select_Input widgets
Add Tom Select bundle for enhanced select dropdowns
Implement ISO 3166 geographic data system for country/region selection
Implement widget-based form system with disabled state support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-10-30 06:21:56 +00:00
parent e678b987c2
commit f6ac36c632
5683 changed files with 5854736 additions and 22329 deletions

View File

@@ -1,7 +1,7 @@
/*
@license
Rollup.js v4.50.2
Mon, 15 Sep 2025 07:13:55 GMT - commit 76a3b8ede4729a71eb522fc29f7d550a4358827b
Rollup.js v4.52.5
Sat, 18 Oct 2025 06:53:02 GMT - commit 55a8fd5a70820f274921edf394efbbaa620f0962
https://github.com/rollup/rollup
@@ -27,7 +27,7 @@ function _mergeNamespaces(n, m) {
return Object.defineProperty(n, Symbol.toStringTag, { value: 'Module' });
}
var version = "4.50.2";
var version = "4.52.5";
// src/vlq.ts
var comma = ",".charCodeAt(0);
@@ -7692,6 +7692,7 @@ function resolveNamespaceVariables(baseVariable, path, astContext) {
}
const FILE_PREFIX = 'ROLLUP_FILE_URL_';
const FILE_OBJ_PREFIX = 'ROLLUP_FILE_URL_OBJ_';
const IMPORT = 'import';
class MetaProperty extends NodeBase {
constructor() {
@@ -7702,8 +7703,13 @@ class MetaProperty extends NodeBase {
}
getReferencedFileName(outputPluginDriver) {
const { meta: { name }, metaProperty } = this;
if (name === IMPORT && metaProperty?.startsWith(FILE_PREFIX)) {
return outputPluginDriver.getFileName(metaProperty.slice(FILE_PREFIX.length));
if (name === IMPORT) {
if (metaProperty?.startsWith(FILE_OBJ_PREFIX)) {
return outputPluginDriver.getFileName(metaProperty.slice(FILE_OBJ_PREFIX.length));
}
else if (metaProperty?.startsWith(FILE_PREFIX)) {
return outputPluginDriver.getFileName(metaProperty.slice(FILE_PREFIX.length));
}
}
return null;
}
@@ -7726,7 +7732,10 @@ class MetaProperty extends NodeBase {
parent instanceof MemberExpression && typeof parent.propertyKey === 'string'
? parent.propertyKey
: null);
if (metaProperty?.startsWith(FILE_PREFIX)) {
if (metaProperty?.startsWith(FILE_OBJ_PREFIX)) {
this.referenceId = metaProperty.slice(FILE_OBJ_PREFIX.length);
}
else if (metaProperty?.startsWith(FILE_PREFIX)) {
this.referenceId = metaProperty.slice(FILE_PREFIX.length);
}
}
@@ -7741,9 +7750,10 @@ class MetaProperty extends NodeBase {
if (referenceId) {
const fileName = pluginDriver.getFileName(referenceId);
const relativePath = normalize(relative(dirname(chunkId), fileName));
const isUrlObject = !!metaProperty?.startsWith(FILE_OBJ_PREFIX);
const replacement = pluginDriver.hookFirstSync('resolveFileUrl', [
{ chunkId, fileName, format, moduleId, referenceId, relativePath }
]) || relativeUrlMechanisms[format](relativePath);
]) || relativeUrlMechanisms[format](relativePath, isUrlObject);
code.overwrite(parent.start, parent.end, replacement, { contentOnly: true });
return;
}
@@ -7767,7 +7777,9 @@ class MetaProperty extends NodeBase {
}
setResolution(format, accessedGlobalsByScope, preliminaryChunkId) {
this.preliminaryChunkId = preliminaryChunkId;
const accessedGlobals = (this.metaProperty?.startsWith(FILE_PREFIX) ? accessedFileUrlGlobals : accessedMetaUrlGlobals)[format];
const accessedGlobals = (this.metaProperty?.startsWith(FILE_PREFIX) || this.metaProperty?.startsWith(FILE_OBJ_PREFIX)
? accessedFileUrlGlobals
: accessedMetaUrlGlobals)[format];
if (accessedGlobals.length > 0) {
this.scope.addAccessedGlobals(accessedGlobals, accessedGlobalsByScope);
}
@@ -7790,8 +7802,8 @@ const accessedFileUrlGlobals = {
system: ['module', 'URL'],
umd: ['document', 'require', 'URL']
};
const getResolveUrl = (path, URL = 'URL') => `new ${URL}(${path}).href`;
const getRelativeUrlFromDocument = (relativePath, umd = false) => getResolveUrl(`'${escapeId(relativePath)}', ${umd ? `typeof document === 'undefined' ? location.href : ` : ''}document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT' && document.currentScript.src || document.baseURI`);
const getResolveUrl = (path, asObject, URL = 'URL') => `new ${URL}(${path})${asObject ? '' : '.href'}`;
const getRelativeUrlFromDocument = (relativePath, asObject, umd = false) => getResolveUrl(`'${escapeId(relativePath)}', ${umd ? `typeof document === 'undefined' ? location.href : ` : ''}document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT' && document.currentScript.src || document.baseURI`, asObject);
const getGenericImportMetaMechanism = (getUrl) => (property, { chunkId }) => {
const urlMechanism = getUrl(chunkId);
return property === null
@@ -7800,27 +7812,27 @@ const getGenericImportMetaMechanism = (getUrl) => (property, { chunkId }) => {
? urlMechanism
: 'undefined';
};
const getFileUrlFromFullPath = (path) => `require('u' + 'rl').pathToFileURL(${path}).href`;
const getFileUrlFromRelativePath = (path) => getFileUrlFromFullPath(`__dirname + '/${escapeId(path)}'`);
const getFileUrlFromFullPath = (path, asObject) => `require('u' + 'rl').pathToFileURL(${path})${asObject ? '' : '.href'}`;
const getFileUrlFromRelativePath = (path, asObject) => getFileUrlFromFullPath(`__dirname + '/${escapeId(path)}'`, asObject);
const getUrlFromDocument = (chunkId, umd = false) => `${umd ? `typeof document === 'undefined' ? location.href : ` : ''}(${DOCUMENT_CURRENT_SCRIPT} && ${DOCUMENT_CURRENT_SCRIPT}.tagName.toUpperCase() === 'SCRIPT' && ${DOCUMENT_CURRENT_SCRIPT}.src || new URL('${escapeId(chunkId)}', document.baseURI).href)`;
const relativeUrlMechanisms = {
amd: relativePath => {
amd: (relativePath, asObject) => {
if (relativePath[0] !== '.')
relativePath = './' + relativePath;
return getResolveUrl(`require.toUrl('${escapeId(relativePath)}'), document.baseURI`);
return getResolveUrl(`require.toUrl('${escapeId(relativePath)}'), document.baseURI`, asObject);
},
cjs: relativePath => `(typeof document === 'undefined' ? ${getFileUrlFromRelativePath(relativePath)} : ${getRelativeUrlFromDocument(relativePath)})`,
es: relativePath => getResolveUrl(`'${escapeId(relativePath)}', import.meta.url`),
iife: relativePath => getRelativeUrlFromDocument(relativePath),
system: relativePath => getResolveUrl(`'${escapeId(relativePath)}', module.meta.url`),
umd: relativePath => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getFileUrlFromRelativePath(relativePath)} : ${getRelativeUrlFromDocument(relativePath, true)})`
cjs: (relativePath, asObject) => `(typeof document === 'undefined' ? ${getFileUrlFromRelativePath(relativePath, asObject)} : ${getRelativeUrlFromDocument(relativePath, asObject)})`,
es: (relativePath, asObject) => getResolveUrl(`'${escapeId(relativePath)}', import.meta.url`, asObject),
iife: (relativePath, asObject) => getRelativeUrlFromDocument(relativePath, asObject),
system: (relativePath, asObject) => getResolveUrl(`'${escapeId(relativePath)}', module.meta.url`, asObject),
umd: (relativePath, asObject) => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getFileUrlFromRelativePath(relativePath, asObject)} : ${getRelativeUrlFromDocument(relativePath, asObject, true)})`
};
const importMetaMechanisms = {
amd: getGenericImportMetaMechanism(() => getResolveUrl(`module.uri, document.baseURI`)),
cjs: getGenericImportMetaMechanism(chunkId => `(typeof document === 'undefined' ? ${getFileUrlFromFullPath('__filename')} : ${getUrlFromDocument(chunkId)})`),
amd: getGenericImportMetaMechanism(() => getResolveUrl(`module.uri, document.baseURI`, false)),
cjs: getGenericImportMetaMechanism(chunkId => `(typeof document === 'undefined' ? ${getFileUrlFromFullPath('__filename', false)} : ${getUrlFromDocument(chunkId)})`),
iife: getGenericImportMetaMechanism(chunkId => getUrlFromDocument(chunkId)),
system: (property, { snippets: { getPropertyAccess } }) => property === null ? `module.meta` : `module.meta${getPropertyAccess(property)}`,
umd: getGenericImportMetaMechanism(chunkId => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getFileUrlFromFullPath('__filename')} : ${getUrlFromDocument(chunkId, true)})`)
umd: getGenericImportMetaMechanism(chunkId => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getFileUrlFromFullPath('__filename', false)} : ${getUrlFromDocument(chunkId, true)})`)
};
class UndefinedVariable extends Variable {
@@ -12081,10 +12093,10 @@ class CallExpressionBase extends NodeBase {
class CallExpression extends CallExpressionBase {
get hasCheckedForWarnings() {
return isFlagSet(this.flags, 268435456 /* Flag.checkedForWarnings */);
return isFlagSet(this.flags, 134217728 /* Flag.checkedForWarnings */);
}
set hasCheckedForWarnings(value) {
this.flags = setFlag(this.flags, 268435456 /* Flag.checkedForWarnings */, value);
this.flags = setFlag(this.flags, 134217728 /* Flag.checkedForWarnings */, value);
}
get optional() {
return isFlagSet(this.flags, 128 /* Flag.optional */);
@@ -13114,16 +13126,10 @@ class ImportExpression extends NodeBase {
this.resolutionString = null;
}
get shouldIncludeDynamicAttributes() {
return isFlagSet(this.flags, 536870912 /* Flag.shouldIncludeDynamicAttributes */);
return isFlagSet(this.flags, 268435456 /* Flag.shouldIncludeDynamicAttributes */);
}
set shouldIncludeDynamicAttributes(value) {
this.flags = setFlag(this.flags, 536870912 /* Flag.shouldIncludeDynamicAttributes */, value);
}
get withinTopLevelAwait() {
return isFlagSet(this.flags, 134217728 /* Flag.withinTopLevelAwait */);
}
set withinTopLevelAwait(value) {
this.flags = setFlag(this.flags, 134217728 /* Flag.withinTopLevelAwait */, value);
this.flags = setFlag(this.flags, 268435456 /* Flag.shouldIncludeDynamicAttributes */, value);
}
bind() {
this.source.bind();
@@ -13147,7 +13153,7 @@ class ImportExpression extends NodeBase {
}
if (parent1 instanceof AwaitExpression) {
const parent2 = parent1.parent;
// Side-effect only: await import('bar')
// Side effect only: await import('bar')
if (parent2 instanceof ExpressionStatement) {
return EMPTY_ARRAY;
}
@@ -13240,22 +13246,6 @@ class ImportExpression extends NodeBase {
initialise() {
super.initialise();
this.scope.context.addDynamicImport(this);
let parent = this.parent;
let withinAwaitExpression = false;
let withinTopLevelAwait = false;
do {
if (withinAwaitExpression &&
(parent instanceof FunctionNode || parent instanceof ArrowFunctionExpression)) {
withinTopLevelAwait = false;
}
if (parent instanceof AwaitExpression) {
withinAwaitExpression = true;
withinTopLevelAwait = true;
}
} while ((parent = parent.parent));
if (withinAwaitExpression && withinTopLevelAwait) {
this.withinTopLevelAwait = true;
}
}
parseNode(esTreeNode) {
this.sourceAstNode = esTreeNode.source;
@@ -14264,7 +14254,8 @@ class LogicalExpression extends NodeBase {
this.isBranchResolutionAnalysed = true;
const leftValue = this.left.getLiteralValueAtPath(EMPTY_PATH, SHARED_RECURSION_TRACKER, this);
const booleanOrUnknown = tryCastLiteralValueToBoolean(leftValue);
if (typeof booleanOrUnknown === 'symbol') {
if (typeof booleanOrUnknown === 'symbol' ||
(this.operator === '??' && typeof leftValue === 'symbol')) {
return null;
}
else {
@@ -14911,10 +14902,10 @@ SwitchStatement.prototype.applyDeoptimizations = doNotDeoptimize;
class TaggedTemplateExpression extends CallExpressionBase {
get hasCheckedForWarnings() {
return isFlagSet(this.flags, 268435456 /* Flag.checkedForWarnings */);
return isFlagSet(this.flags, 134217728 /* Flag.checkedForWarnings */);
}
set hasCheckedForWarnings(value) {
this.flags = setFlag(this.flags, 268435456 /* Flag.checkedForWarnings */, value);
this.flags = setFlag(this.flags, 134217728 /* Flag.checkedForWarnings */, value);
}
bind() {
super.bind();
@@ -16818,7 +16809,7 @@ class Module {
this.importedFromNotTreeshaken = false;
this.importers = [];
this.includedDynamicImporters = [];
this.includedDirectTopLevelAwaitingDynamicImporters = new Set();
this.includedTopLevelAwaitingDynamicImporters = new Set();
this.includedImports = new Set();
this.isExecuted = false;
this.isUserDefinedEntryPoint = false;
@@ -17678,8 +17669,10 @@ class Module {
if (resolution instanceof Module) {
if (!resolution.includedDynamicImporters.includes(this)) {
resolution.includedDynamicImporters.push(this);
if (node.withinTopLevelAwait) {
resolution.includedDirectTopLevelAwaitingDynamicImporters.add(this);
// If a module has a top-level await, removing this entry can create
// deadlocks.
if (this.astContext.usesTopLevelAwait) {
resolution.includedTopLevelAwaitingDynamicImporters.add(this);
}
}
const importedNames = this.options.treeshake
@@ -19394,8 +19387,8 @@ function* concatLazy(iterables) {
* those chunks that are already loaded for that dynamic entry and create
* another round of chunks.
*/
function getChunkAssignments(entries, manualChunkAliasByEntry, minChunkSize, log) {
const { chunkDefinitions, modulesInManualChunks } = getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry);
function getChunkAssignments(entries, manualChunkAliasByEntry, minChunkSize, log, isManualChunksFunctionForm, onlyExplicitManualChunks) {
const { chunkDefinitions, modulesInManualChunks } = getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry, isManualChunksFunctionForm, onlyExplicitManualChunks);
const { allEntries, dependentEntriesByModule, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, dynamicallyDependentEntriesByAwaitedDynamicEntry, awaitedDynamicImportsByEntry } = analyzeModuleGraph(entries);
// Each chunk is identified by its position in this array
const chunkAtoms = getChunksWithSameDependentEntries(getModulesWithDependentEntries(dependentEntriesByModule, modulesInManualChunks));
@@ -19413,11 +19406,16 @@ function getChunkAssignments(entries, manualChunkAliasByEntry, minChunkSize, log
})));
return chunkDefinitions;
}
function getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry) {
function getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry, isManualChunksFunctionForm, onlyExplicitManualChunks) {
const modulesInManualChunks = new Set(manualChunkAliasByEntry.keys());
const manualChunkModulesByAlias = Object.create(null);
for (const [entry, alias] of manualChunkAliasByEntry) {
addStaticDependenciesToManualChunk(entry, (manualChunkModulesByAlias[alias] ||= []), modulesInManualChunks);
if (isManualChunksFunctionForm && onlyExplicitManualChunks) {
(manualChunkModulesByAlias[alias] ||= []).push(entry);
}
else {
addStaticDependenciesToManualChunk(entry, (manualChunkModulesByAlias[alias] ||= []), modulesInManualChunks);
}
}
const manualChunks = Object.entries(manualChunkModulesByAlias);
const chunkDefinitions = new Array(manualChunks.length);
@@ -19467,8 +19465,8 @@ function analyzeModuleGraph(entries) {
dynamicEntryModules.add(resolution);
allEntriesSet.add(resolution);
dynamicImportsForCurrentEntry.add(resolution);
for (const includedDirectTopLevelAwaitingDynamicImporter of resolution.includedDirectTopLevelAwaitingDynamicImporters) {
if (staticDependencies.has(includedDirectTopLevelAwaitingDynamicImporter)) {
for (const includedTopLevelAwaitingDynamicImporter of resolution.includedTopLevelAwaitingDynamicImporters) {
if (staticDependencies.has(includedTopLevelAwaitingDynamicImporter)) {
awaitedDynamicEntryModules.add(resolution);
awaitedDynamicImportsForCurrentEntry.add(resolution);
break;
@@ -19491,7 +19489,7 @@ function analyzeModuleGraph(entries) {
allEntries,
awaitedDynamicImportsByEntry,
dependentEntriesByModule,
dynamicallyDependentEntriesByAwaitedDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, awaitedDynamicEntries, allEntries, dynamicEntry => dynamicEntry.includedDirectTopLevelAwaitingDynamicImporters),
dynamicallyDependentEntriesByAwaitedDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, awaitedDynamicEntries, allEntries, dynamicEntry => dynamicEntry.includedTopLevelAwaitingDynamicImporters),
dynamicallyDependentEntriesByDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntries, dynamicEntry => dynamicEntry.includedDynamicImporters),
dynamicImportsByEntry
};
@@ -19617,7 +19615,7 @@ function getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyD
*/
function removeUnnecessaryDependentEntries(chunkAtoms, alreadyLoadedAtomsByEntry, awaitedAlreadyLoadedAtomsByEntry) {
// Remove entries from dependent entries if a chunk is already loaded without
// that entry. Do not remove already loaded atoms where all dynamic imports
// that entry. Do not remove already loaded atoms where some dynamic imports
// are awaited to avoid cycles in the output.
let chunkMask = 1n;
for (const { dependentEntries } of chunkAtoms) {
@@ -19996,7 +19994,7 @@ function analyseModuleExecution(entryModules) {
}
for (const { resolution, node } of module.dynamicImports) {
if (resolution instanceof Module) {
if (node.withinTopLevelAwait) {
if (node.scope.context.usesTopLevelAwait) {
handleSyncLoadedModule(resolution, module);
}
else {
@@ -20615,7 +20613,7 @@ class Bundle {
this.pluginDriver.finaliseAssets();
}
async generateChunks(bundle, getHashPlaceholder) {
const { experimentalMinChunkSize, inlineDynamicImports, manualChunks, preserveModules } = this.outputOptions;
const { experimentalMinChunkSize, inlineDynamicImports, manualChunks, preserveModules, onlyExplicitManualChunks } = this.outputOptions;
const manualChunkAliasByEntry = typeof manualChunks === 'object'
? await this.addManualChunks(manualChunks)
: this.assignManualChunks(manualChunks);
@@ -20627,7 +20625,7 @@ class Bundle {
? [{ alias: null, modules: includedModules }]
: preserveModules
? includedModules.map(module => ({ alias: null, modules: [module] }))
: getChunkAssignments(this.graph.entryModules, manualChunkAliasByEntry, experimentalMinChunkSize, this.inputOptions.onLog);
: getChunkAssignments(this.graph.entryModules, manualChunkAliasByEntry, experimentalMinChunkSize, this.inputOptions.onLog, typeof manualChunks === 'function', onlyExplicitManualChunks);
const chunks = new Array(executableModule.length);
const chunkByModule = new Map();
let index = 0;
@@ -23052,6 +23050,7 @@ async function normalizeOutputOptions(config, inputOptions, unsetInputOptions) {
minifyInternalExports: getMinifyInternalExports(config, format, compact),
name: config.name,
noConflict: config.noConflict || false,
onlyExplicitManualChunks: config.onlyExplicitManualChunks || false,
outro: getAddon(config, 'outro'),
paths: config.paths || {},
plugins: await normalizePluginOption(config.plugins),
@@ -23771,6 +23770,7 @@ async function mergeOutputOptions(config, overrides, log) {
minifyInternalExports: getOption('minifyInternalExports'),
name: getOption('name'),
noConflict: getOption('noConflict'),
onlyExplicitManualChunks: getOption('onlyExplicitManualChunks'),
outro: getOption('outro'),
paths: getOption('paths'),
plugins: await normalizePluginOption(config.plugins),