How to use tiny-glob - 10 common examples

To help you get started, we’ve selected a few tiny-glob examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github sveltejs / svelte / test / helpers.js View on Github external
export function showOutput(cwd, options = {}, compile = svelte.compile) {
	glob('**/*.svelte', { cwd }).forEach(file => {
		if (file[0] === '_') return;

		try {
			const { js } = compile(
				fs.readFileSync(`${cwd}/${file}`, 'utf-8'),
				Object.assign(options, {
					filename: file
				})
			);

			console.log( // eslint-disable-line no-console
				`\n>> ${colors.cyan().bold(file)}\n${addLineNumbers(js.code)}\n<< ${colors.cyan().bold(file)}`
			);
		} catch (err) {
			console.log(`failed to generate output: ${err.message}`);
		}
github sveltejs / svelte / test / parser / update.js View on Github external
// this file will replace all the expected.js and expected-bundle.js files with
// their _actual equivalents. Only use it when you're sure that you haven't
// broken anything!
const fs = require("fs");
const glob = require("tiny-glob/sync.js");

glob("samples/*/_actual.json", { cwd: __dirname }).forEach(file => {
	const actual = fs.readFileSync(`${__dirname}/${file}`, "utf-8");
	fs.writeFileSync(
		`${__dirname}/${file.replace("_actual", "output")}`,
		actual
	);
});
github sveltejs / svelte / test / js / update.js View on Github external
// this file will replace all the expected.js and expected-bundle.js files with
// their _actual equivalents. Only use it when you're sure that you haven't
// broken anything!
const fs = require("fs");
const glob = require("tiny-glob/sync.js");

glob("samples/*/_actual*", { cwd: __dirname }).forEach(file => {
	const actual = fs.readFileSync(`${__dirname}/${file}`, "utf-8");
	fs.writeFileSync(
		`${__dirname}/${file.replace("_actual", "expected")}`,
		actual
	);
});
github MarcusCemes / responsive-image-builder / src / Preparation.ts View on Github external
public async cleanOutput() {
    if (!(await pathExists(this.config.out))) {
      await ensureDir(this.config.out);
    } else if (this.config.cleanBeforeExport) {
      // Don't require prompt if force is true
      if (!this.config.force) {
        // Scan the output directory for important files, and prompt confirmation if yes
        if (this.terminal) {
          this.terminal.update({ text: `${DynamicTerminal.SPINNER} Checking output directory` });
        }

        // tiny-glob works with UNIX-style paths, even on Windows
        const cwd = isAbsolute(this.config.out) && platform() !== "win32" ? "/" : "";
        const files = await glob(posix.join(this.config.out, "/**/*"), {
          absolute: true,
          filesOnly: true,
          cwd
        });
        const knownExtensions = SUPPORTED_EXTENSIONS.map(ext => `.${ext}`).concat(".json");

        for (const file of files) {
          if (
            knownExtensions.indexOf(posix.parse(file).ext) === -1 &&
            !RegExp(/.rib-[0-9a-zA-Z]*/).test(file)
          ) {
            // Unknown file extension found, prompt clean
            if (this.terminal) {
              await this.terminal.stop(false);
              this.terminal.destroy(); // Worker would block program termination
            }
github smooth-code / smooth.js / packages / smooth / src / graphql / schema / index.js View on Github external
export async function getDefinitionModules({ config }) {
  const schemasExists = await exists(config.schemasPath)
  if (!schemasExists) return []
  const files = await glob('**/*.js', { cwd: config.schemasPath })
  const defs = files.map(relativePath => {
    const absolutePath = path.join(config.schemasPath, relativePath)
    if (!config.cache) {
      delete require.cache[absolutePath]
    }
    // eslint-disable-next-line global-require, import/no-dynamic-require
    return babelRequire(absolutePath)
  })

  return defs
}
github MarcusCemes / responsive-image-builder / src / Preparation.ts View on Github external
result.error = `Not enough permissions to read the directory "${dir}"`;
        return result;
      }
    }

    this.update(line, DynamicTerminal.SPINNER + " Searching for images");

    // tiny-glob requires forward slashes
    // resolve all supported files and append them to the files array as a File object
    for (const dir of this.config.in) {
      try {
        if ((await stat(dir)).isFile()) {
          result.files.push({ base: posix.parse(dir).dir, path: dir });
        } else {
          const cwd = isAbsolute(dir) && platform() !== "win32" ? "/" : "";
          const files = await glob(
            posix.join(dir, "/**/*.{" + SUPPORTED_EXTENSIONS.join(",") + "}"),
            { absolute: true, cwd }
          );
          result.files.push(...files.map(p => ({ base: dir, path: cleanUpPath(p) })));
        }
        this.update(
          line,
          DynamicTerminal.SPINNER + " Searching for images (found " + result.files.length + ")"
        );
      } catch (err) {
        this.update(line, DynamicTerminal.CROSS + " Failed to search for images");
        result.error = "Failed to search for images\n" + chalk.white(err.message || err);
        return result;
      }
    }
github sveltejs / svelte / test / cli / index.js View on Github external
);

			if (commandErr) {
				done(commandErr);
				return;
			}

			const actual = glob('**', { cwd: 'actual', filesOnly: true })
				.map(file => {
					return {
						file,
						contents: normalize(fs.readFileSync(`actual/${file}`, 'utf-8'))
					};
				});

			const expected = glob('**', { cwd: 'expected', filesOnly: true })
				.map(file => {
					return {
						file,
						contents: normalize(
							fs.readFileSync(`expected/${file}`, 'utf-8')
						)
					};
				});

			actual.forEach((a, i) => {
				const e = expected[i];

				assert.equal(a.file, e.file, 'File list mismatch');

				if (/\.map$/.test(a.file)) {
					assert.deepEqual(JSON.parse(a.contents), JSON.parse(e.contents));
github sveltejs / svelte / test / server-side-rendering / index.js View on Github external
Object.keys(require.cache)
				.filter(x => x.endsWith('.svelte'))
				.forEach(file => {
					delete require.cache[file];
				});

			delete global.window;

			const compileOptions = Object.assign({ sveltePath }, config.compileOptions, {
				generate: 'ssr',
				format: 'cjs'
			});

			require("../../register")(compileOptions);

			glob('**/*.svelte', { cwd }).forEach(file => {
				if (file[0] === '_') return;

				const dir  = `${cwd}/_output/ssr`;
				const out = `${dir}/${file.replace(/\.svelte$/, '.js')}`;

				if (fs.existsSync(out)) {
					fs.unlinkSync(out);
				}

				mkdirp(dir);

				try {
					const { js } = compile(
						fs.readFileSync(`${cwd}/${file}`, 'utf-8'),
						{
							...compileOptions,
github sveltejs / svelte / test / runtime / index.js View on Github external
compileOptions.accessors = 'accessors' in config ? config.accessors : true;

			Object.keys(require.cache)
				.filter(x => x.endsWith('.svelte'))
				.forEach(file => {
					delete require.cache[file];
				});

			let mod;
			let SvelteComponent;

			let unintendedError = null;

			const window = env();

			glob('**/*.svelte', { cwd }).forEach(file => {
				if (file[0] === '_') return;

				const dir  = `${cwd}/_output/${hydrate ? 'hydratable' : 'normal'}`;
				const out = `${dir}/${file.replace(/\.svelte$/, '.js')}`;

				if (fs.existsSync(out)) {
					fs.unlinkSync(out);
				}

				mkdirp(dir);

				try {
					const { js } = compile(
						fs.readFileSync(`${cwd}/${file}`, 'utf-8'),
						{
							...compileOptions,
github ArkEcosystem / core / __tests__ / unit / crypto / utils / network-list.ts View on Github external
import "jest-extended";

import { parse } from "path";
import tg from "tiny-glob/sync";

const entries = tg("../../../../packages/crypto/src/networks/**/*.json", { cwd: __dirname });

const NETWORKS = {};
entries.forEach(file => {
    NETWORKS[parse(file).name] = require(file);
});

const NETWORKS_LIST = [];
entries.forEach(file => NETWORKS_LIST.push(require(file)));

module.exports = { NETWORKS, NETWORKS_LIST };

tiny-glob

Tiny and extremely fast globbing

MIT
Latest version published 3 years ago

Package Health Score

67 / 100
Full package analysis

Popular tiny-glob functions