Best JavaScript code snippet using ava
watch.js
Source: watch.js
...11 let lastFile = {};12 const lastFileAccessTimeTreshold = 250;13 const checkLastFile = (file, stats, msg, cb) =>14 {15 file = normalizeFile(file);16 if ((!Object.keys(lastFile).length) || (file === lastFile.name && stats.size !== lastFile.stats.size) || (file !== lastFile.name && stats.atimeMs > lastFile.stats.atimeMs + lastFileAccessTimeTreshold))17 {18 Object.assign(lastFile,19 {20 name: file,21 stats: stats22 })23 console.log(`${turbo.green(` ${msg} Changed =>`)}`, file);24 if (typeof cb === 'function')25 {26 cb(file);27 }28 return true;29 }30 else31 {32 console.log(`${turbo.red(` Bogus ${msg} Changed =>`)}`, file);33 return false;34 }35 };36 watch([`${process.env.SRC}/**/*.scss`, `!${process.env.SRC}/sass/core/_color-palette.scss`],37 {38 awaitWriteFinish: true39 })40 .on('add', (file, stats) =>41 {42 series(GULP_TASK('sass')).call();43 console.log(`${turbo.green(` SASS File Added =>`)}`, normalizeFile(file));44 })45 .on('change', (file, stats) =>46 {47 checkLastFile(file, stats, 'SASS File', series(GULP_TASK('sass')))48 })49 .on('unlink', (file, stats) =>50 {51 series(GULP_TASK('sass')).call();52 console.log(`${turbo.red(` SASS File Deleted =>`)}`, normalizeFile(file));53 });54 watch([`${process.env.SRC}/sass/core/_color-palette.scss`],55 {56 awaitWriteFinish: true57 })58 .on('change', (file, stats) =>59 {60 checkLastFile(file, stats, 'Color Palette', series(GULP_TASK('color'), GULP_TASK('sass')))61 });62 watch([`${process.env.SRC}/**/*.html`],63 {64 awaitWriteFinish: true65 })66 .on('add', (file, stats) =>67 {68 series(GULP_TASK('include')).call();69 console.log(`${turbo.green(` HTML File Added =>`)}`, normalizeFile(file));70 })71 .on('change', (file, stats) =>72 {73 checkLastFile(file, stats, 'HTML File', series(GULP_TASK('include')))74 })75 .on('unlink', (file, stats) =>76 {77 series(GULP_TASK('include')).call();78 console.log(`${turbo.red(` HTML File Deleted =>`)}`, normalizeFile(file));79 });80 watch([`${process.env.SRC}/**/*`, `!${process.env.SRC}/{js,modules,pages,sass,media/images}/**`, `!${process.env.SRC}/{js,modules,pages,sass,media/images}/**/*`],81 {82 awaitWriteFinish: true83 })84 .on('add', (file, stats) =>85 {86 series(GULP_TASK('copy')).call();87 console.log(`${turbo.green(` File Added =>`)}`, normalizeFile(file));88 })89 .on('change', (file, stats) =>90 {91 checkLastFile(file, stats, 'File', copy(file));92 })93 .on('unlink', (file, stats) =>94 {95 console.log(`${turbo.red(` File Deleted =>`)}`, normalizeFile(file));96 });97 watch([`${process.env.SRC}/media/images/**/*`],98 {99 awaitWriteFinish: true100 })101 .on('add', (file, stats) =>102 {103 image(`./${normalizeFile(file)}`);104 console.log(`${turbo.green(` Image Added =>`)}`, normalizeFile(file));105 })106 .on('change', (file, stats) =>107 {108 checkLastFile(file, stats, 'Image File', image(file));109 })110 .on('unlink', (file, stats) =>111 {112 console.log(`${turbo.red(` Image Deleted =>`)}`, normalizeFile(file));113 });114 if (!__HMR__)115 {116 watch([`${process.env.SRC}/**/*.ts`],117 {118 awaitWriteFinish: true119 })120 .on('add', (file, stats) =>121 {122 series(GULP_TASK('js')).call();123 console.log(`${turbo.green(` TS File Added =>`)}`, normalizeFile(file));124 })125 .on('change', (file, stats) =>126 {127 checkLastFile(file, stats, 'TS File', series(GULP_TASK('js')));128 })129 .on('unlink', (file, stats) =>130 {131 series(GULP_TASK('js')).call();132 console.log(`${turbo.red(` TS File Deleted =>`)}`, normalizeFile(file));133 });134 }135 return Promise.resolve();...
Path.js
Source: Path.js
1// replaces / and | with \ and removes last \2export function normalizeFile(path) {3 return path && path.split(/[\/\\|]/).filter(Boolean).join('\\');4}5// replaces / and | with \ and adds last \6export function normalizeFolder(path) {7 return path && (normalizeFile(path) + '\\');8}9export function getName(path) {10 const normal = normalizeFile(path);11 return normal && normal.substr(normal.lastIndexOf('\\') + 1);12}13export function getParent(path) {14 if (!path) return null;15 const normal = normalizeFile(path);16 const index = normal.lastIndexOf('\\');17 return index >= 0 ? normal.substr(0, index) : '';18}19function toUnicode(char) {20 const code = char.charCodeAt(0);21 return String.fromCharCode(code % 256) + String.fromCharCode(code / 256);22}23export function encodeBase64UnicodeCustom(path) {24 const unicodeString = path && normalizeFile(path).split('')25 .reduce((sum, cur) => sum + toUnicode(cur), '');26 return unicodeString &&27 window.btoa(unicodeString)28 .replace(/\//g, '_') // replaces all '/' with '_'29 .replace(/=/g, '!'); // replaces all '=' with '!'30}31export function getExtension(path) {32 if (!path) return null;33 const normal = normalizeFile(path);34 const index = normal.lastIndexOf('.');35 return index >= 0 ? normal.substr(index) : '';36}37export function getFileType(extension) {38 switch (extension ? extension.toLowerCase() : '') {39 case '.apng':40 case '.bmp':41 case '.gif':42 case '.ico':43 case '.cur':44 case '.jpg':45 case '.jpeg':46 case '.jfif':47 case '.pjpeg':...
normalizeHasteImport.js
Source: normalizeHasteImport.js
...26 watch: false,27 resetCache: true,28 });29 const {hasteFS, moduleMap} = await haste.build();30 function normalizeFile(file) {31 const fileStat = fs.lstatSync(file);32 if (fileStat.isDirectory()) {33 const children = fs.readdirSync(file);34 for (const child of children) {35 normalizeFile(path.resolve(file, child));36 }37 } else if (file.endsWith('.js')) {38 replaceHasteImport(file);39 }40 }41 42 function replaceHasteImport(file) {43 console.log('replaceHasteImport', file);44 45 let platform;46 if (file.endsWith('.ios.js')) {47 platform = 'ios';48 } else if (file.endsWith('.android.js')) {49 platform = 'android';50 } else if (file.endsWith('.web.js')) {51 platform = 'web';52 } else {53 platform = 'web';54 }55 function replaceFunc(match, pre, quot, dep, post) {56 const depModule = moduleMap.getModule(dep, platform, true);57 if (!depModule) {58 return match;59 }60 61 let depRn = `react-native/${path.relative(projectRoot, depModule)}`;62 depRn = depRn.replace(/(?:\.(?:android|ios|web|native))?\.js$/, '');63 console.log('replace haste dependency:', dep, depRn);64 return `${pre}${quot}${depRn}${post}`;65 }66 let code = fs.readFileSync(file, 'utf8');67 code = code68 .replace(IMPORT_RE, replaceFunc)69 .replace(REQUIRE_RE, replaceFunc);70 fs.writeFileSync(file, code, 'utf8');71 console.log();72 }73 normalizeFile(librariesDir);74 normalizeFile(path.resolve(projectRoot, 'lib'));75 normalizeFile(path.resolve(projectRoot, 'RNTester'));76}77normalizeHasteImport().then(() => {78 console.log('normalizeHasteImport success');...
Using AI Code Generation
1import test from 'ava'2import {normalizeFile} from 'ava-files'3test('normalizeFile', t => {4 t.is(normalizeFile('foo/bar.js'), 'foo/bar.js')5 t.is(normalizeFile('foo\\bar.js'), 'foo/bar.js')6 t.is(normalizeFile('foo\\bar'), 'foo/bar')7 t.is(normalizeFile('foo\\bar\\'), 'foo/bar')8 t.is(normalizeFile('foo/bar'), 'foo/bar')9 t.is(normalizeFile('foo/bar/'), 'foo/bar')10 t.is(normalizeFile('foo/bar/index.js'), 'foo/bar/index.js')11 t.is(normalizeFile('foo\\bar\\index.js'), 'foo/bar/index.js')12 t.is(normalizeFile('foo\\bar\\index'), 'foo/bar/index')13 t.is(normalizeFile('foo/bar/index'), 'foo/bar/index')14 t.is(normalizeFile('foo/bar/'), 'foo/bar')15 t.is(normalizeFile('foo\\bar\\'), 'foo/bar')16})17{18 "scripts": {19 },20 "devDependencies": {21 }22}
Using AI Code Generation
1const availableFiles = require('./availableFiles');2const availableFilesObj = new availableFiles();3const normalizedFilePath = availableFilesObj.normalizeFile('./test.js');4console.log(normalizedFilePath);5const availableFiles = require('./availableFiles');6const availableFilesObj = new availableFiles();7const normalizedFilePath = availableFilesObj.normalizeFile('./test.js');8console.log(normalizedFilePath);9const availableFiles = require('./availableFiles');10const availableFilesObj = new availableFiles();11const normalizedFilePath = availableFilesObj.normalizeFile('./test.js');12console.log(normalizedFilePath);13const availableFiles = require('./availableFiles');14const availableFilesObj = new availableFiles();15const normalizedFilePath = availableFilesObj.normalizeFile('./test.js');16console.log(normalizedFilePath);17const availableFiles = require('./availableFiles');18const availableFilesObj = new availableFiles();19const normalizedFilePath = availableFilesObj.normalizeFile('./test.js');
Using AI Code Generation
1const { normalizeFile } = require("normalize-file");2normalizeFile("test.txt", "test2.txt");3const { normalizeFile } = require("normalize-file");4normalizeFile("test.txt", "test2.txt");5- [normalizeFile](#normalizefile)6 - [Parameters](#parameters)7 - [Examples](#examples)8- [normalizeFileAsync](#normalizefileasync)9 - [Parameters](#parameters-1)10 - [Examples](#examples-1)11- [normalizeFilePromise](#normalizefilepromise)12 - [Parameters](#parameters-2)13 - [Examples](#examples-2)14const { normalizeFile } = require("normalize-file");15normalizeFile("test.txt", "test2.txt");16const { normalizeFileAsync } = require("normalize-file");17normalizeFileAsync("test.txt", "test2.txt");
Using AI Code Generation
1var services = require('services');2var service = services.get('service_name');3var file = service.normalizeFile('path/to/file');4var services = require('services');5var service = services.get('service_name');6var file = service.normalizeFile('path/to/file');7var services = require('services');8var service = services.get('service_name');9var file = service.normalizeFile('path/to/file');10var services = require('services');11var service = services.get('service_name');12var file = service.normalizeFile('path/to/file');13var services = require('services');14var service = services.get('service_name');15var file = service.normalizeFile('path/to/file');16var services = require('services');17var service = services.get('service_name');18var file = service.normalizeFile('path/to/file');19var services = require('services');20var service = services.get('service_name');21var file = service.normalizeFile('path/to/file');22[MIT](LICENSE)
Using AI Code Generation
1const availableFiles = require('../available-files');2const path = require('path');3const filePath = path.normalize('/home/username/Downloads/test.txt');4const normalizedFilePath = availableFiles.normalizeFile(filePath);5console.log(normalizedFilePath);6const availableFiles = require('available-files');7### normalizeFile(filePath)8### getFiles(directoryPath)9### getDirectories(directoryPath)10### getFilesAndDirectories(directoryPath)11### getFilesAndDirectoriesInDepth(directoryPath)12### getFilesAndDirectoriesInDepthWithStats(directoryPath)13### getFilesInDepth(directoryPath)14### getDirectoriesInDepth(directoryPath)15### getFilesAndDirectoriesInDepthWithStats(directoryPath
Check out the latest blogs from LambdaTest on this topic:
Screenshots! These handy snippets have become indispensable to our daily business as well as personal life. Considering how mandatory they are for everyone in these modern times, every OS and a well-designed game, make sure to deliver a built in feature where screenshots are facilitated. However, capturing a screen is one thing, but the ability of highlighting the content is another. There are many third party editing tools available to annotate our snippets each having their own uses in a business workflow. But when we have to take screenshots, we get confused which tool to use. Some tools are dedicated to taking best possible screenshots of whole desktop screen yet some are browser based capable of taking screenshots of the webpages opened in the browsers. Some have ability to integrate with your development process, where as some are so useful that there integration ability can be easily overlooked.
This article is a part of our Content Hub. For more in-depth resources, check out our content hub on Automation Testing Tutorial.
Working in IT, we have often heard the term Virtual Machines. Developers working on client machines have used VMs to do the necessary stuffs at the client machines. Virtual machines are an environment or an operating system which when installed on a workstation, simulates an actual hardware. The person using the virtual machine gets the same experience as they would have on that dedicated system. Before moving on to how to setup virtual machine in your system, let’s discuss why it is used.
There is no other automation framework in the market that is more used for automating web testing tasks than Selenium and one of the key functionalities is to take Screenshot in Selenium. However taking full page screenshots across different browsers using Selenium is a unique challenge that many selenium beginners struggle with. In this post we will help you out and dive a little deeper on how we can take full page screenshots of webpages across different browser especially to check for cross browser compatibility of layout.
Cross browser compatibility can simply be summed up as a war between testers and developers versus the world wide web. Sometimes I feel that to achieve browser compatibility, you may need to sell your soul to devil while performing a sacrificial ritual. Even then some API plugins won’t work.(XD)
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!