Skip to content

Commit

Permalink
Move Merge and DeepCopy into @11ty/eleventy-utils package
Browse files Browse the repository at this point in the history
  • Loading branch information
zachleat committed Jun 8, 2024
1 parent fd6ff40 commit 22ed2cb
Show file tree
Hide file tree
Showing 11 changed files with 15 additions and 404 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
"@11ty/dependency-tree-esm": "^1.0.0",
"@11ty/eleventy-dev-server": "^2.0.1",
"@11ty/eleventy-plugin-bundle": "^2.0.2",
"@11ty/eleventy-utils": "^1.0.2",
"@11ty/eleventy-utils": "^1.0.3",
"@11ty/lodash-custom": "^4.17.21",
"@11ty/posthtml-urls": "^1.0.0",
"@sindresorhus/slugify": "^2.2.1",
Expand Down
7 changes: 3 additions & 4 deletions src/Data/TemplateData.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@ import path from "node:path";
import semver from "semver";

import lodash from "@11ty/lodash-custom";
import { TemplatePath, isPlainObject } from "@11ty/eleventy-utils";
import { Merge, TemplatePath, isPlainObject } from "@11ty/eleventy-utils";
import debugUtil from "debug";

import merge from "../Util/Merge.js";
import unique from "../Util/Unique.js";
import TemplateGlob from "../TemplateGlob.js";
import EleventyExtensionMap from "../EleventyExtensionMap.js";
Expand Down Expand Up @@ -363,7 +362,7 @@ class TemplateData {
let configApiGlobalData = await this.getInitialGlobalData();

let globalJson = await this.getAllGlobalData();
let mergedGlobalData = merge(globalJson, configApiGlobalData);
let mergedGlobalData = Merge(globalJson, configApiGlobalData);

// OK: Shallow merge when combining rawImports (pkg) with global data files
resolve(Object.assign({}, mergedGlobalData, rawImports));
Expand Down Expand Up @@ -645,7 +644,7 @@ class TemplateData {
}

static merge(target, ...source) {
return merge(target, ...source);
return Merge(target, ...source);
}

static cleanupData(data) {
Expand Down
5 changes: 2 additions & 3 deletions src/EleventyServe.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import assert from "node:assert";
import { TemplatePath } from "@11ty/eleventy-utils";
import { Merge, DeepCopy, TemplatePath } from "@11ty/eleventy-utils";
import EleventyDevServer from "@11ty/eleventy-dev-server";
import debugUtil from "debug";

import EleventyBaseError from "./Errors/EleventyBaseError.js";
import ConsoleLogger from "./Util/ConsoleLogger.js";
import PathPrefixer from "./Util/PathPrefixer.js";
import merge, { DeepCopy } from "./Util/Merge.js";
import checkPassthroughCopyBehavior from "./Util/PassthroughCopyBehaviorCheck.js";
import { getModulePackageJson } from "./Util/ImportJsonSync.js";
import { EleventyImport } from "./Util/Require.js";
Expand Down Expand Up @@ -204,7 +203,7 @@ class EleventyServe {
this._initOptionsFetched = true;

if (opts) {
merge(this.options, opts);
Merge(this.options, opts);
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/Plugins/HtmlBasePlugin.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DeepCopy } from "@11ty/eleventy-utils";
import urlFilter from "../Filters/Url.js";
import PathPrefixer from "../Util/PathPrefixer.js";
import { DeepCopy } from "../Util/Merge.js";
import { HtmlTransformer } from "../Util/HtmlTransformer.js";

function isValidUrl(url) {
Expand Down
3 changes: 1 addition & 2 deletions src/Plugins/I18nPlugin.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { bcp47Normalize } from "bcp-47-normalize";
import iso639 from "iso-639-1";

import { DeepCopy } from "../Util/Merge.js";
import { DeepCopy } from "@11ty/eleventy-utils";

// pathPrefix note:
// When using `locale_url` filter with the `url` filter, `locale_url` must run first like
Expand Down
2 changes: 1 addition & 1 deletion src/Plugins/Pagination.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { isPlainObject } from "@11ty/eleventy-utils";
import lodash from "@11ty/lodash-custom";
import { DeepCopy } from "@11ty/eleventy-utils";

import EleventyBaseError from "../Errors/EleventyBaseError.js";
import { DeepCopy } from "../Util/Merge.js";
import { ProxyWrap } from "../Util/ProxyWrap.js";
// import { DeepFreeze } from "../Util/DeepFreeze.js";
import TemplateData from "../Data/TemplateData.js";
Expand Down
3 changes: 1 addition & 2 deletions src/Plugins/RenderPlugin.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import util from "node:util";
import fs from "graceful-fs";
import { TemplatePath, isPlainObject } from "@11ty/eleventy-utils";
import { Merge, TemplatePath, isPlainObject } from "@11ty/eleventy-utils";

const fsReadFile = util.promisify(fs.readFile);
const fsExists = util.promisify(fs.exists);

// TODO add a first-class Markdown component to expose this using Markdown-only syntax (will need to be synchronous for markdown-it)

import Merge from "../Util/Merge.js";
import { ProxyWrap } from "../Util/ProxyWrap.js";
import TemplateDataInitialGlobalData from "../Data/TemplateDataInitialGlobalData.js";
import EleventyShortcodeError from "../Errors/EleventyShortcodeError.js";
Expand Down
9 changes: 4 additions & 5 deletions src/TemplateConfig.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import fs from "node:fs";
import chalk from "kleur";
import { TemplatePath, isPlainObject } from "@11ty/eleventy-utils";
import { Merge, TemplatePath, isPlainObject } from "@11ty/eleventy-utils";
import debugUtil from "debug";

import { EleventyImportRaw, EleventyImportRawFromEleventy } from "./Util/Require.js";
import EleventyBaseError from "./Errors/EleventyBaseError.js";
import UserConfig from "./UserConfig.js";
import GlobalDependencyMap from "./GlobalDependencyMap.js";
import ExistsCache from "./Util/ExistsCache.js";
import merge from "./Util/Merge.js";
import eventBus from "./EventBus.js";
import ProjectTemplateFormats from "./Util/ProjectTemplateFormats.js";

Expand Down Expand Up @@ -390,7 +389,7 @@ class TemplateConfig {

// Merge `export const config = {}` with `return {}` in config callback
if (isPlainObject(exportedConfig)) {
localConfig = merge(localConfig || {}, exportedConfig);
localConfig = Merge(localConfig || {}, exportedConfig);
}

if (this.directories) {
Expand Down Expand Up @@ -426,7 +425,7 @@ class TemplateConfig {
this.templateFormats.addViaConfig(this.userConfig.templateFormatsAdded);
}

let mergedConfig = merge({}, this.rootConfig, localConfig);
let mergedConfig = Merge({}, this.rootConfig, localConfig);

// Setup a few properties for plugins:

Expand Down Expand Up @@ -477,7 +476,7 @@ class TemplateConfig {

// Overrides are only used by pathPrefix
debug("Configuration overrides: %o", this.overrides);
merge(mergedConfig, eleventyConfigApiMergingObject, this.overrides);
Merge(mergedConfig, eleventyConfigApiMergingObject, this.overrides);

debug("Current configuration: %o", mergedConfig);

Expand Down
3 changes: 1 addition & 2 deletions src/UserConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@ import chalk from "kleur";
import { DateTime } from "luxon";
import debugUtil from "debug";
import { RetrieveGlobals } from "node-retrieve-globals";
import { TemplatePath } from "@11ty/eleventy-utils";
import { DeepCopy, TemplatePath } from "@11ty/eleventy-utils";

import EventEmitter from "./Util/AsyncEventEmitter.js";
import EleventyCompatibility from "./Util/Compatibility.js";
import EleventyBaseError from "./Errors/EleventyBaseError.js";
import BenchmarkManager from "./Benchmark/BenchmarkManager.js";
import { DeepCopy } from "./Util/Merge.js";

const debug = debugUtil("Eleventy:UserConfig");

Expand Down
81 changes: 0 additions & 81 deletions src/Util/Merge.js

This file was deleted.

Loading

0 comments on commit 22ed2cb

Please sign in to comment.