!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/queuepro/node_modules/zrender/build/   drwxrwxr-x
Free 13.16 GB of 57.97 GB (22.71%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     transformImport.js (2.67 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// adding js extension in the import statement.

// Reference:
// https://regexr.com/47jlq
// https://gist.github.com/manekinekko/7e58a17bc62a9be47172
const regexp = /((?:(?:import)|(?:export))\s+?(?:(?:(?:[\w*\s{},\/]*)\s+from\s+?)|))(?:(?:"(.*?)")|(?:'(.*?)'))([\s]*?(?:;|$|))/g;

module.exports.transformImport = function (code, processModuleName) {
    return code.replace(regexp, (str, prefix, moduleNameA, moduleNameB, postfix) => {
        let moduleName = (moduleNameA === undefined ? moduleNameB : moduleNameA).trim();
        const quote = moduleNameA === undefined ? "'" : '"';
        return prefix + quote + processModuleName(moduleName) + quote + postfix;
        // Not support other extensions.
    });
}


const testCases = `import videos from './videos/index.js'

export default (socket, context) => {
    // dynamically importing all the socket.io handler (it's dynamic import that happen at run time)
  import {
	something
} from "./test/okbb"

const f = 2;

import test from 'obb'


import {
  Component
} from '@angular2/core';

import defaultMember from "module-0";

import   *    as name from "module-1  ";

import   {  member }   from "  module-2";

import { member as alias } from "module-3";

import { member1 , member2 } from "module-4";

import { member1 , member2 as alias2 , member3 as alias3 } from "module-5";

import defaultMember, { member, member } from "module-6";

import defaultMember, * as name from "module-7";

import "module-8";

import "module-9"    // comment no problem

import {
    AAAA,
    // BBB
} from 'module-10';

import "module-b' // doesn't match -> the opening and closing quation mark are different

importing hya from 'ttt'

import fbsfrom ''


// Export expressions.
export { aaa };

export * from "module-11";

export { aaa } from "module-12";

// Should not be parsed
export default aaa;

export function bbb () {
};
`

module.exports.runTest = function () {
    const expected = [
        './videos/index.js',
        './test/okbb',
        'obb',
        '@angular2/core',
        'module-0',
        'module-1',
        'module-2',
        'module-3',
        'module-4',
        'module-5',
        'module-6',
        'module-7',
        'module-8',
        'module-9',
        'module-10',
        'module-11',
        'module-12'
    ]
    let cursor = 0;
    module.exports.transformImport(testCases, (moduleName) => {
        if (expected[cursor] !== moduleName) {
            throw new Error(`Expected ${expected[cursor]}. Actual ${moduleName}`);
        }
        cursor++;
        return moduleName;
    })
    if (cursor !== expected.length) {
        throw new Error('Test failed');
    }
    console.log('All test passed!')
}

// module.exports.runTest();

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0045 ]--