d975cc371d
modified: node_modules/.package-lock.json deleted: node_modules/array-union/index.d.ts deleted: node_modules/array-union/index.js deleted: node_modules/array-union/license deleted: node_modules/array-union/package.json deleted: node_modules/array-union/readme.md modified: node_modules/cliui/CHANGELOG.md modified: node_modules/cliui/package.json modified: node_modules/fast-glob/out/index.d.ts modified: node_modules/fast-glob/out/index.js modified: node_modules/fast-glob/out/managers/patterns.d.ts modified: node_modules/fast-glob/out/managers/patterns.js modified: node_modules/fast-glob/out/managers/tasks.d.ts modified: node_modules/fast-glob/out/managers/tasks.js modified: node_modules/fast-glob/out/providers/async.d.ts modified: node_modules/fast-glob/out/providers/async.js modified: node_modules/fast-glob/out/providers/filters/deep.d.ts modified: node_modules/fast-glob/out/providers/filters/deep.js modified: node_modules/fast-glob/out/providers/filters/entry.d.ts modified: node_modules/fast-glob/out/providers/filters/entry.js modified: node_modules/fast-glob/out/providers/filters/error.d.ts modified: node_modules/fast-glob/out/providers/filters/error.js modified: node_modules/fast-glob/out/providers/matchers/matcher.d.ts modified: node_modules/fast-glob/out/providers/matchers/matcher.js modified: node_modules/fast-glob/out/providers/matchers/partial.d.ts modified: node_modules/fast-glob/out/providers/matchers/partial.js modified: node_modules/fast-glob/out/providers/provider.d.ts modified: node_modules/fast-glob/out/providers/provider.js modified: node_modules/fast-glob/out/providers/stream.d.ts modified: node_modules/fast-glob/out/providers/stream.js modified: node_modules/fast-glob/out/providers/sync.d.ts modified: node_modules/fast-glob/out/providers/sync.js modified: node_modules/fast-glob/out/providers/transformers/entry.d.ts modified: node_modules/fast-glob/out/providers/transformers/entry.js modified: node_modules/fast-glob/out/readers/reader.d.ts modified: node_modules/fast-glob/out/readers/reader.js modified: node_modules/fast-glob/out/readers/stream.d.ts modified: node_modules/fast-glob/out/readers/stream.js modified: node_modules/fast-glob/out/readers/sync.d.ts modified: node_modules/fast-glob/out/readers/sync.js modified: node_modules/fast-glob/out/settings.d.ts modified: node_modules/fast-glob/out/settings.js modified: node_modules/fast-glob/out/types/index.d.ts modified: node_modules/fast-glob/out/types/index.js modified: node_modules/fast-glob/out/utils/array.d.ts modified: node_modules/fast-glob/out/utils/array.js modified: node_modules/fast-glob/out/utils/errno.d.ts modified: node_modules/fast-glob/out/utils/errno.js modified: node_modules/fast-glob/out/utils/fs.d.ts modified: node_modules/fast-glob/out/utils/fs.js modified: node_modules/fast-glob/out/utils/index.d.ts modified: node_modules/fast-glob/out/utils/index.js modified: node_modules/fast-glob/out/utils/path.d.ts modified: node_modules/fast-glob/out/utils/path.js modified: node_modules/fast-glob/out/utils/pattern.d.ts modified: node_modules/fast-glob/out/utils/pattern.js modified: node_modules/fast-glob/out/utils/stream.d.ts modified: node_modules/fast-glob/out/utils/stream.js modified: node_modules/fast-glob/out/utils/string.d.ts modified: node_modules/fast-glob/out/utils/string.js modified: node_modules/fast-glob/package.json modified: node_modules/fastq/README.md modified: node_modules/fastq/index.d.ts modified: node_modules/fastq/package.json modified: node_modules/fastq/queue.js modified: node_modules/fastq/test/promise.js deleted: node_modules/fs-extra/CHANGELOG.md modified: node_modules/fs-extra/README.md deleted: node_modules/fs-extra/lib/copy-sync/copy-sync.js deleted: node_modules/fs-extra/lib/copy-sync/index.js modified: node_modules/fs-extra/lib/copy/copy.js modified: node_modules/fs-extra/lib/copy/index.js modified: node_modules/fs-extra/lib/ensure/index.js modified: node_modules/fs-extra/lib/fs/index.js modified: node_modules/fs-extra/lib/index.js modified: node_modules/fs-extra/lib/json/output-json-sync.js modified: node_modules/fs-extra/lib/json/output-json.js deleted: node_modules/fs-extra/lib/move-sync/index.js deleted: node_modules/fs-extra/lib/move-sync/move-sync.js modified: node_modules/fs-extra/lib/move/index.js modified: node_modules/fs-extra/lib/move/move.js deleted: node_modules/fs-extra/lib/output/index.js modified: node_modules/fs-extra/lib/remove/index.js deleted: node_modules/fs-extra/lib/remove/rimraf.js modified: node_modules/fs-extra/package.json deleted: node_modules/globby/gitignore.js modified: node_modules/globby/index.d.ts modified: node_modules/globby/index.js modified: node_modules/globby/package.json modified: node_modules/globby/readme.md deleted: node_modules/globby/stream-utils.js deleted: node_modules/globby/to-path.js modified: node_modules/graceful-fs/LICENSE modified: node_modules/graceful-fs/graceful-fs.js modified: node_modules/graceful-fs/package.json modified: node_modules/graceful-fs/polyfills.js modified: node_modules/ignore/README.md modified: node_modules/ignore/index.js modified: node_modules/ignore/legacy.js modified: node_modules/ignore/package.json modified: node_modules/lilconfig/dist/index.js modified: node_modules/lilconfig/package.json modified: node_modules/lilconfig/readme.md deleted: node_modules/micromatch/CHANGELOG.md modified: node_modules/micromatch/README.md modified: node_modules/micromatch/index.js modified: node_modules/micromatch/package.json modified: node_modules/nanoid/bin/nanoid.cjs modified: node_modules/nanoid/index.browser.cjs modified: node_modules/nanoid/index.browser.js deleted: node_modules/nanoid/index.dev.js deleted: node_modules/nanoid/index.prod.js modified: node_modules/nanoid/nanoid.js modified: node_modules/nanoid/package.json modified: node_modules/postcss-cli/index.js modified: node_modules/postcss-cli/package.json modified: node_modules/postcss-load-config/README.md modified: node_modules/postcss-load-config/package.json modified: node_modules/postcss-load-config/src/index.d.ts modified: node_modules/postcss-load-config/src/index.js modified: node_modules/postcss-load-config/src/req.js modified: node_modules/postcss/README.md modified: node_modules/postcss/lib/at-rule.d.ts modified: node_modules/postcss/lib/comment.d.ts modified: node_modules/postcss/lib/container.d.ts modified: node_modules/postcss/lib/container.js modified: node_modules/postcss/lib/css-syntax-error.d.ts modified: node_modules/postcss/lib/declaration.d.ts modified: node_modules/postcss/lib/document.d.ts modified: node_modules/postcss/lib/fromJSON.d.ts modified: node_modules/postcss/lib/input.d.ts modified: node_modules/postcss/lib/input.js modified: node_modules/postcss/lib/lazy-result.d.ts modified: node_modules/postcss/lib/list.d.ts modified: node_modules/postcss/lib/list.js modified: node_modules/postcss/lib/map-generator.js modified: node_modules/postcss/lib/no-work-result.d.ts modified: node_modules/postcss/lib/node.d.ts modified: node_modules/postcss/lib/parse.d.ts modified: node_modules/postcss/lib/parser.js modified: node_modules/postcss/lib/postcss.d.ts modified: node_modules/postcss/lib/postcss.js modified: node_modules/postcss/lib/previous-map.d.ts modified: node_modules/postcss/lib/processor.d.ts modified: node_modules/postcss/lib/processor.js modified: node_modules/postcss/lib/result.d.ts modified: node_modules/postcss/lib/root.d.ts modified: node_modules/postcss/lib/root.js modified: node_modules/postcss/lib/rule.d.ts modified: node_modules/postcss/lib/stringifier.d.ts modified: node_modules/postcss/lib/stringify.d.ts modified: node_modules/postcss/lib/warning.d.ts modified: node_modules/postcss/package.json modified: node_modules/slash/index.d.ts modified: node_modules/slash/index.js modified: node_modules/slash/package.json modified: node_modules/slash/readme.md modified: node_modules/yaml/LICENSE modified: node_modules/yaml/README.md deleted: node_modules/yaml/browser/dist/PlainValue-b8036b75.js deleted: node_modules/yaml/browser/dist/Schema-e94716c8.js modified: node_modules/yaml/browser/dist/index.js deleted: node_modules/yaml/browser/dist/legacy-exports.js deleted: node_modules/yaml/browser/dist/package.json deleted: node_modules/yaml/browser/dist/parse-cst.js deleted: node_modules/yaml/browser/dist/resolveSeq-492ab440.js deleted: node_modules/yaml/browser/dist/types.js modified: node_modules/yaml/browser/dist/util.js deleted: node_modules/yaml/browser/dist/warnings-df54cb69.js modified: node_modules/yaml/browser/index.js deleted: node_modules/yaml/browser/map.js deleted: node_modules/yaml/browser/pair.js deleted: node_modules/yaml/browser/parse-cst.js deleted: node_modules/yaml/browser/scalar.js deleted: node_modules/yaml/browser/schema.js deleted: node_modules/yaml/browser/seq.js deleted: node_modules/yaml/browser/types.js deleted: node_modules/yaml/browser/types/binary.js deleted: node_modules/yaml/browser/types/omap.js deleted: node_modules/yaml/browser/types/pairs.js deleted: node_modules/yaml/browser/types/set.js deleted: node_modules/yaml/browser/types/timestamp.js deleted: node_modules/yaml/browser/util.js deleted: node_modules/yaml/dist/Document-9b4560a1.js deleted: node_modules/yaml/dist/PlainValue-ec8e588e.js deleted: node_modules/yaml/dist/Schema-88e323a7.js modified: node_modules/yaml/dist/index.js deleted: node_modules/yaml/dist/legacy-exports.js deleted: node_modules/yaml/dist/parse-cst.js deleted: node_modules/yaml/dist/resolveSeq-d03cb037.js modified: node_modules/yaml/dist/test-events.js deleted: node_modules/yaml/dist/types.js modified: node_modules/yaml/dist/util.js deleted: node_modules/yaml/dist/warnings-1000a372.js deleted: node_modules/yaml/index.d.ts deleted: node_modules/yaml/index.js deleted: node_modules/yaml/map.js modified: node_modules/yaml/package.json deleted: node_modules/yaml/pair.js deleted: node_modules/yaml/parse-cst.d.ts deleted: node_modules/yaml/parse-cst.js deleted: node_modules/yaml/scalar.js deleted: node_modules/yaml/schema.js deleted: node_modules/yaml/seq.js deleted: node_modules/yaml/types.d.ts deleted: node_modules/yaml/types.js deleted: node_modules/yaml/types.mjs deleted: node_modules/yaml/types/binary.js deleted: node_modules/yaml/types/omap.js deleted: node_modules/yaml/types/pairs.js deleted: node_modules/yaml/types/set.js deleted: node_modules/yaml/types/timestamp.js modified: node_modules/yaml/util.d.ts modified: node_modules/yaml/util.js deleted: node_modules/yaml/util.mjs modified: node_modules/yargs-parser/CHANGELOG.md modified: node_modules/yargs-parser/build/index.cjs modified: node_modules/yargs-parser/build/lib/index.js modified: node_modules/yargs-parser/build/lib/yargs-parser.js modified: node_modules/yargs-parser/package.json modified: node_modules/yargs/build/index.cjs modified: node_modules/yargs/build/lib/command.js modified: node_modules/yargs/build/lib/completion-templates.js modified: node_modules/yargs/build/lib/completion.js modified: node_modules/yargs/build/lib/usage.js modified: node_modules/yargs/build/lib/validation.js modified: node_modules/yargs/build/lib/yargs-factory.js modified: node_modules/yargs/build/lib/yerror.js modified: node_modules/yargs/lib/platform-shims/esm.mjs modified: node_modules/yargs/locales/en.json modified: node_modules/yargs/locales/fi.json modified: node_modules/yargs/locales/ru.json modified: node_modules/yargs/package.json modified: package-lock.json modified: package.json modified: public/about/index.html modified: public/access/index.html modified: public/blog/index.html modified: public/categories/index.html modified: public/index.html modified: public/manifesto/index.html modified: public/posts/apple-breaks-privacy/index.html modified: public/posts/index.html modified: public/posts/main_street_against_big_tech/index.html modified: public/posts/what_is_done_with_personal_data/index.html modified: public/projects/index.html modified: public/tags/index.html .hugo_build.lock go.mod go.sum node_modules/.bin/autoprefixer node_modules/.bin/browserslist node_modules/.bin/update-browserslist-db node_modules/autoprefixer/ node_modules/browserslist/ node_modules/caniuse-lite/ node_modules/cliui/build/index.d.cts node_modules/electron-to-chromium/ node_modules/fast-glob/out/readers/async.d.ts node_modules/fast-glob/out/readers/async.js node_modules/fraction.js/ node_modules/fs-extra/lib/copy/copy-sync.js node_modules/fs-extra/lib/esm.mjs node_modules/fs-extra/lib/move/move-sync.js node_modules/fs-extra/lib/output-file/ node_modules/globby/ignore.js node_modules/globby/node_modules/ node_modules/globby/utilities.js node_modules/lilconfig/LICENSE node_modules/node-releases/ node_modules/normalize-range/ node_modules/postcss-value-parser/ node_modules/postcss/lib/postcss.d.mts node_modules/update-browserslist-db/ node_modules/yaml/browser/dist/compose/ node_modules/yaml/browser/dist/doc/ node_modules/yaml/browser/dist/errors.js node_modules/yaml/browser/dist/log.js node_modules/yaml/browser/dist/node_modules/ node_modules/yaml/browser/dist/nodes/ node_modules/yaml/browser/dist/parse/ node_modules/yaml/browser/dist/public-api.js node_modules/yaml/browser/dist/schema/ node_modules/yaml/browser/dist/stringify/ node_modules/yaml/browser/dist/visit.js node_modules/yaml/browser/package.json node_modules/yaml/dist/compose/ node_modules/yaml/dist/doc/ node_modules/yaml/dist/errors.d.ts node_modules/yaml/dist/errors.js node_modules/yaml/dist/index.d.ts node_modules/yaml/dist/log.d.ts node_modules/yaml/dist/log.js node_modules/yaml/dist/nodes/ node_modules/yaml/dist/options.d.ts node_modules/yaml/dist/parse/ node_modules/yaml/dist/public-api.d.ts node_modules/yaml/dist/public-api.js node_modules/yaml/dist/schema/ node_modules/yaml/dist/stringify/ node_modules/yaml/dist/test-events.d.ts node_modules/yaml/dist/util.d.ts node_modules/yaml/dist/visit.d.ts node_modules/yaml/dist/visit.js node_modules/yargs/browser.d.ts node_modules/yargs/locales/cs.json node_modules/yargs/yargs.mjs public/css/main.min.c5514d3530979d291f3497facc20da1cec870028dbc2a3630b64bab8721bbe49.css resources/_gen/assets/sass/sass/style.sass_4d6f00452a35742ddbb489cb3703195e.content resources/_gen/assets/sass/sass/style.sass_4d6f00452a35742ddbb489cb3703195e.json resources/_gen/assets/sass/sass/style.sass_c87a2fc9dae9a546a3e3f1548c147175.content resources/_gen/assets/sass/sass/style.sass_c87a2fc9dae9a546a3e3f1548c147175.json
228 lines
5.8 KiB
JavaScript
228 lines
5.8 KiB
JavaScript
import fs from 'node:fs';
|
|
import nodePath from 'node:path';
|
|
import merge2 from 'merge2';
|
|
import fastGlob from 'fast-glob';
|
|
import dirGlob from 'dir-glob';
|
|
import {
|
|
GITIGNORE_FILES_PATTERN,
|
|
isIgnoredByIgnoreFiles,
|
|
isIgnoredByIgnoreFilesSync,
|
|
} from './ignore.js';
|
|
import {FilterStream, toPath, isNegativePattern} from './utilities.js';
|
|
|
|
const assertPatternsInput = patterns => {
|
|
if (patterns.some(pattern => typeof pattern !== 'string')) {
|
|
throw new TypeError('Patterns must be a string or an array of strings');
|
|
}
|
|
};
|
|
|
|
const toPatternsArray = patterns => {
|
|
patterns = [...new Set([patterns].flat())];
|
|
assertPatternsInput(patterns);
|
|
return patterns;
|
|
};
|
|
|
|
const checkCwdOption = options => {
|
|
if (!options.cwd) {
|
|
return;
|
|
}
|
|
|
|
let stat;
|
|
try {
|
|
stat = fs.statSync(options.cwd);
|
|
} catch {
|
|
return;
|
|
}
|
|
|
|
if (!stat.isDirectory()) {
|
|
throw new Error('The `cwd` option must be a path to a directory');
|
|
}
|
|
};
|
|
|
|
const normalizeOptions = (options = {}) => {
|
|
options = {
|
|
ignore: [],
|
|
expandDirectories: true,
|
|
...options,
|
|
cwd: toPath(options.cwd),
|
|
};
|
|
|
|
checkCwdOption(options);
|
|
|
|
return options;
|
|
};
|
|
|
|
const normalizeArguments = fn => async (patterns, options) => fn(toPatternsArray(patterns), normalizeOptions(options));
|
|
const normalizeArgumentsSync = fn => (patterns, options) => fn(toPatternsArray(patterns), normalizeOptions(options));
|
|
|
|
const getIgnoreFilesPatterns = options => {
|
|
const {ignoreFiles, gitignore} = options;
|
|
|
|
const patterns = ignoreFiles ? toPatternsArray(ignoreFiles) : [];
|
|
if (gitignore) {
|
|
patterns.push(GITIGNORE_FILES_PATTERN);
|
|
}
|
|
|
|
return patterns;
|
|
};
|
|
|
|
const getFilter = async options => {
|
|
const ignoreFilesPatterns = getIgnoreFilesPatterns(options);
|
|
return createFilterFunction(
|
|
ignoreFilesPatterns.length > 0 && await isIgnoredByIgnoreFiles(ignoreFilesPatterns, options),
|
|
);
|
|
};
|
|
|
|
const getFilterSync = options => {
|
|
const ignoreFilesPatterns = getIgnoreFilesPatterns(options);
|
|
return createFilterFunction(
|
|
ignoreFilesPatterns.length > 0 && isIgnoredByIgnoreFilesSync(ignoreFilesPatterns, options),
|
|
);
|
|
};
|
|
|
|
const createFilterFunction = isIgnored => {
|
|
const seen = new Set();
|
|
|
|
return fastGlobResult => {
|
|
const path = fastGlobResult.path || fastGlobResult;
|
|
const pathKey = nodePath.normalize(path);
|
|
const seenOrIgnored = seen.has(pathKey) || (isIgnored && isIgnored(path));
|
|
seen.add(pathKey);
|
|
return !seenOrIgnored;
|
|
};
|
|
};
|
|
|
|
const unionFastGlobResults = (results, filter) => results.flat().filter(fastGlobResult => filter(fastGlobResult));
|
|
const unionFastGlobStreams = (streams, filter) => merge2(streams).pipe(new FilterStream(fastGlobResult => filter(fastGlobResult)));
|
|
|
|
const convertNegativePatterns = (patterns, options) => {
|
|
const tasks = [];
|
|
|
|
while (patterns.length > 0) {
|
|
const index = patterns.findIndex(pattern => isNegativePattern(pattern));
|
|
|
|
if (index === -1) {
|
|
tasks.push({patterns, options});
|
|
break;
|
|
}
|
|
|
|
const ignorePattern = patterns[index].slice(1);
|
|
|
|
for (const task of tasks) {
|
|
task.options.ignore.push(ignorePattern);
|
|
}
|
|
|
|
if (index !== 0) {
|
|
tasks.push({
|
|
patterns: patterns.slice(0, index),
|
|
options: {
|
|
...options,
|
|
ignore: [
|
|
...options.ignore,
|
|
ignorePattern,
|
|
],
|
|
},
|
|
});
|
|
}
|
|
|
|
patterns = patterns.slice(index + 1);
|
|
}
|
|
|
|
return tasks;
|
|
};
|
|
|
|
const getDirGlobOptions = (options, cwd) => ({
|
|
...(cwd ? {cwd} : {}),
|
|
...(Array.isArray(options) ? {files: options} : options),
|
|
});
|
|
|
|
const generateTasks = async (patterns, options) => {
|
|
const globTasks = convertNegativePatterns(patterns, options);
|
|
|
|
const {cwd, expandDirectories} = options;
|
|
|
|
if (!expandDirectories) {
|
|
return globTasks;
|
|
}
|
|
|
|
const patternExpandOptions = getDirGlobOptions(expandDirectories, cwd);
|
|
const ignoreExpandOptions = cwd ? {cwd} : undefined;
|
|
|
|
return Promise.all(
|
|
globTasks.map(async task => {
|
|
let {patterns, options} = task;
|
|
|
|
[
|
|
patterns,
|
|
options.ignore,
|
|
] = await Promise.all([
|
|
dirGlob(patterns, patternExpandOptions),
|
|
dirGlob(options.ignore, ignoreExpandOptions),
|
|
]);
|
|
|
|
return {patterns, options};
|
|
}),
|
|
);
|
|
};
|
|
|
|
const generateTasksSync = (patterns, options) => {
|
|
const globTasks = convertNegativePatterns(patterns, options);
|
|
|
|
const {cwd, expandDirectories} = options;
|
|
|
|
if (!expandDirectories) {
|
|
return globTasks;
|
|
}
|
|
|
|
const patternExpandOptions = getDirGlobOptions(expandDirectories, cwd);
|
|
const ignoreExpandOptions = cwd ? {cwd} : undefined;
|
|
|
|
return globTasks.map(task => {
|
|
let {patterns, options} = task;
|
|
patterns = dirGlob.sync(patterns, patternExpandOptions);
|
|
options.ignore = dirGlob.sync(options.ignore, ignoreExpandOptions);
|
|
return {patterns, options};
|
|
});
|
|
};
|
|
|
|
export const globby = normalizeArguments(async (patterns, options) => {
|
|
const [
|
|
tasks,
|
|
filter,
|
|
] = await Promise.all([
|
|
generateTasks(patterns, options),
|
|
getFilter(options),
|
|
]);
|
|
const results = await Promise.all(tasks.map(task => fastGlob(task.patterns, task.options)));
|
|
|
|
return unionFastGlobResults(results, filter);
|
|
});
|
|
|
|
export const globbySync = normalizeArgumentsSync((patterns, options) => {
|
|
const tasks = generateTasksSync(patterns, options);
|
|
const filter = getFilterSync(options);
|
|
const results = tasks.map(task => fastGlob.sync(task.patterns, task.options));
|
|
|
|
return unionFastGlobResults(results, filter);
|
|
});
|
|
|
|
export const globbyStream = normalizeArgumentsSync((patterns, options) => {
|
|
const tasks = generateTasksSync(patterns, options);
|
|
const filter = getFilterSync(options);
|
|
const streams = tasks.map(task => fastGlob.stream(task.patterns, task.options));
|
|
|
|
return unionFastGlobStreams(streams, filter);
|
|
});
|
|
|
|
export const isDynamicPattern = normalizeArgumentsSync(
|
|
(patterns, options) => patterns.some(pattern => fastGlob.isDynamicPattern(pattern, options)),
|
|
);
|
|
|
|
export const generateGlobTasks = normalizeArguments(generateTasks);
|
|
export const generateGlobTasksSync = normalizeArgumentsSync(generateTasksSync);
|
|
|
|
export {
|
|
isGitIgnored,
|
|
isGitIgnoredSync,
|
|
} from './ignore.js';
|