From 665b82590d20afb68520c28d95c0675cf7b12e87 Mon Sep 17 00:00:00 2001 From: Sachin Raja Date: Thu, 26 May 2022 05:29:37 -0700 Subject: [PATCH] remove icons/* entrypoints (#6788) * remove icons/* entrypoints * remove icons/* tests * remove icons/* references from the README * reference actual variable in README console.log * merge develop * fix conflicts * fix * fix tests * Update scripts/build/package.js * Update README.md * fix ignore files --- .dockerignore | 4 +++- .npmignore | 1 - .prettierignore | 6 ++---- README.md | 11 +++++------ alias.d.ts | 6 ------ package.json | 3 +-- scripts/build/package.js | 23 +++------------------- tests/icons-cjs.test.js | 16 --------------- tests/{icons-esm.test.js => icons.test.js} | 0 9 files changed, 14 insertions(+), 56 deletions(-) delete mode 100644 alias.d.ts delete mode 100644 tests/icons-cjs.test.js rename tests/{icons-esm.test.js => icons.test.js} (100%) diff --git a/.dockerignore b/.dockerignore index 86dd9983..b336b08e 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,5 +3,7 @@ node_modules/ npm-debug.log # Build files -icons/*.js /index.js +/icons.js +/icons.mjs +/icons.d.ts diff --git a/.npmignore b/.npmignore index faf9f22d..122b9f89 100644 --- a/.npmignore +++ b/.npmignore @@ -13,4 +13,3 @@ !icons.js !icons.mjs !icons.d.ts -!alias.d.ts diff --git a/.prettierignore b/.prettierignore index 5ac4ad41..ace5b4f1 100644 --- a/.prettierignore +++ b/.prettierignore @@ -10,9 +10,7 @@ _data/simple-icons.json scripts/build/templates/*.js # Generated JavaScript files don't need to be formatted -icons/*.js -icons/*.d.ts -icons.d.ts +index.js icons.js icons.mjs -index.js +icons.d.ts diff --git a/README.md b/README.md index 3bebd5a6..6d646cc6 100644 --- a/README.md +++ b/README.md @@ -69,16 +69,15 @@ Alternatively, you can also import all icons from a single file, where `[ICON SL // For example: // use import/esm to allow tree shaking -import { siSimpleicons } from 'simple-icons/icons' +import { siSimpleicons } from 'simple-icons/icons'; +// or with require/cjs +const { siSimpleicons } = require('simple-icons/icons'); ``` -> :warning: The old way of importing with `require('simple-icons/icons/[ICON SLUG]')` is deprecated and -will be removed in v7.0.0. - -Either method will return an icon object: +It will return an icon object: ```javascript -console.log(icon); +console.log(siSimpleicons); /* { diff --git a/alias.d.ts b/alias.d.ts deleted file mode 100644 index 99c10e1b..00000000 --- a/alias.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { SimpleIcon } from '.'; - -/** - * @internal - */ -export type I = SimpleIcon; diff --git a/package.json b/package.json index d0001349..a2a953e5 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "default": "./icons.js" }, "./icons/*": [ - "./icons/*.js", "./icons/*" ] }, @@ -57,7 +56,7 @@ }, "scripts": { "build": "node scripts/build/package.js", - "clean": "rimraf icons/*.js icons/*.d.ts index.js icons.js icons.mjs icons.d.ts", + "clean": "rimraf index.js icons.js icons.mjs icons.d.ts", "format": "prettier --write .", "lint": "run-s our-lint jslint jsonlint svglint wslint", "our-lint": "node scripts/lint/ourlint.js", diff --git a/scripts/build/package.js b/scripts/build/package.js index d53b4e27..7a7a9313 100644 --- a/scripts/build/package.js +++ b/scripts/build/package.js @@ -99,25 +99,6 @@ const build = async () => { const iconExportName = slugToVariableName(icon.slug); - // write the static .js file for the icon - const jsFilepath = path.resolve(iconsDir, `${filename}.js`); - const newImportMessage = `use "const { ${iconExportName} } = require('simple-icons/icons');" instead`; - const message = JSON.stringify( - `Imports like "const ${icon.slug} = require('simple-icons/icons/${icon.slug}');" have been deprecated in v6.0.0 and will no longer work from v7.0.0, ${newImportMessage}`, - ); - - const dtsFilepath = path.resolve(iconsDir, `${filename}.d.ts`); - await Promise.all([ - writeJs( - jsFilepath, - `console.warn("warn -", ${message});module.exports=${iconObject};`, - ), - writeTs( - dtsFilepath, - `/**@deprecated ${newImportMessage}*/declare const i:import("../alias").I;export default i;`, - ), - ]); - // add object to the barrel file iconsBarrelJs.push(`${iconExportName}:${iconObject},`); iconsBarrelMjs.push(`export const ${iconExportName}=${iconObject}`); @@ -139,7 +120,9 @@ const build = async () => { const rawIconsMjs = iconsBarrelMjs.join(''); await writeJs(iconsMjsFile, rawIconsMjs); // and create a type declaration file - const rawIconsDts = `import {I} from "./alias";${iconsBarrelDts.join('')}`; + const rawIconsDts = `import {SimpleIcon} from ".";type I = SimpleIcon;${iconsBarrelDts.join( + '', + )}`; await writeTs(iconsDtsFile, rawIconsDts); }; diff --git a/tests/icons-cjs.test.js b/tests/icons-cjs.test.js deleted file mode 100644 index 7bc2f8fd..00000000 --- a/tests/icons-cjs.test.js +++ /dev/null @@ -1,16 +0,0 @@ -import { testIcon } from './test-icon.js'; -import { getIconSlug, getIconsData } from '../scripts/utils.js'; -(async () => { - console.warn = () => {}; - - const icons = await getIconsData(); - - const tests = icons.map(async (icon) => { - const slug = getIconSlug(icon); - const { default: subject } = await import(`../icons/${slug}.js`); - - testIcon(icon, subject, slug); - }); - - await Promise.all(tests); -})(); diff --git a/tests/icons-esm.test.js b/tests/icons.test.js similarity index 100% rename from tests/icons-esm.test.js rename to tests/icons.test.js