Compare commits

...

3 Commits

Author SHA1 Message Date
Eric Fennis
291b016d45 Setup build config 2024-09-25 14:36:15 +02:00
Isaac
c6a4908ed0 Add missing space between Svelte and Preact (#2489) 2024-09-25 07:52:27 +02:00
Jakob Guddas
b6e71c6c7a feat(icons): added file-user icon (#2457)
* Added icons/file-user.svg

* Added icons/file-user.json
2024-09-25 07:21:56 +02:00
9 changed files with 104 additions and 6 deletions

View File

@@ -28,7 +28,7 @@ However, not everyone can understand them easily. Read more about [how to use Lu
## Official Packages
Lucide's official packages are designed to work on different platforms, making it easier for users to integrate icons into their projects. The packages are available for various technologies, including [Web (Vanilla)](https://lucide.dev/guide/packages/lucide), [React](https://lucide.dev/guide/packages/lucide-react), [React Native](https://lucide.dev/guide/packages/lucide-react-native), [Vue](https://lucide.dev/guide/packages/lucide-vue), [Vue 3](https://lucide.dev/guide/packages/lucide-vue-next), [Svelte](https://lucide.dev/guide/packages/lucide-svelte),[Preact](https://lucide.dev/guide/packages/lucide-preact), [Solid](https://lucide.dev/guide/packages/lucide-solid), [Angular](https://lucide.dev/guide/packages/lucide-angular), [NodeJS](https://lucide.dev/guide/packages/lucide-static#nodejs) and [Flutter](https://lucide.dev/guide/packages/lucide-flutter).
Lucide's official packages are designed to work on different platforms, making it easier for users to integrate icons into their projects. The packages are available for various technologies, including [Web (Vanilla)](https://lucide.dev/guide/packages/lucide), [React](https://lucide.dev/guide/packages/lucide-react), [React Native](https://lucide.dev/guide/packages/lucide-react-native), [Vue](https://lucide.dev/guide/packages/lucide-vue), [Vue 3](https://lucide.dev/guide/packages/lucide-vue-next), [Svelte](https://lucide.dev/guide/packages/lucide-svelte), [Preact](https://lucide.dev/guide/packages/lucide-preact), [Solid](https://lucide.dev/guide/packages/lucide-solid), [Angular](https://lucide.dev/guide/packages/lucide-angular), [NodeJS](https://lucide.dev/guide/packages/lucide-static#nodejs) and [Flutter](https://lucide.dev/guide/packages/lucide-flutter).
## Community
If you have any questions about Lucide, feel free to reach out to the community. You can find them on [GitHub](https://github.com/lucide-icons/lucide) and [Discord](https://discord.gg/EH6nSts).

28
icons/file-user.json Normal file
View File

@@ -0,0 +1,28 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"danielbayley",
"colebemis",
"ericfennis",
"jguddas"
],
"tags": [
"person",
"personal information",
"people",
"listing",
"networking",
"document",
"contact",
"cover letter",
"resume",
"cv",
"curriculum vitae",
"application form"
],
"categories": [
"account",
"communication",
"files"
]
}

16
icons/file-user.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M14 2v4a2 2 0 0 0 2 2h4" />
<path d="M15 18a3 3 0 1 0-6 0" />
<path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z" />
<circle cx="12" cy="13" r="2" />
</svg>

After

Width:  |  Height:  |  Size: 392 B

View File

@@ -75,5 +75,8 @@
}
}
}
},
"dependencies": {
"c12": "^1.11.2"
}
}

View File

@@ -0,0 +1,12 @@
import { BuildConfig } from '@lucide/build-icons/types/config'
export default {
output: './src ',
templateSrc: './scripts/exportTemplate.mjs',
iconFileExtension: '.ts',
aliases: {
exportNamesOnly: true,
fileExtension: '.ts',
},
indexFileName: 'index.ts'
} satisfies BuildConfig;

29
pnpm-lock.yaml generated
View File

@@ -9,6 +9,10 @@ packageExtensionsChecksum: ec9ef8c1f59f2012c5f48437186d43d8
importers:
.:
dependencies:
c12:
specifier: ^1.11.2
version: 1.11.2
devDependencies:
'@html-eslint/eslint-plugin':
specifier: ^0.19.1
@@ -5301,6 +5305,14 @@ packages:
magicast:
optional: true
c12@1.11.2:
resolution: {integrity: sha512-oBs8a4uvSDO9dm8b7OCFW7+dgtVrwmwnrVXYzLm43ta7ep2jCn/0MhoUFygIWtxhyy6+/MG7/agvpY0U1Iemew==}
peerDependencies:
magicast: ^0.3.4
peerDependenciesMeta:
magicast:
optional: true
cac@6.7.14:
resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
engines: {node: '>=8'}
@@ -18355,6 +18367,21 @@ snapshots:
pkg-types: 1.2.0
rc9: 2.1.2
c12@1.11.2:
dependencies:
chokidar: 3.6.0
confbox: 0.1.7
defu: 6.1.4
dotenv: 16.4.5
giget: 1.2.3
jiti: 1.21.6
mlly: 1.7.1
ohash: 1.1.3
pathe: 1.1.2
perfect-debounce: 1.0.0
pkg-types: 1.2.0
rc9: 2.1.2
cac@6.7.14: {}
cacache@15.3.0:
@@ -21796,7 +21823,7 @@ snapshots:
local-pkg@0.5.0:
dependencies:
mlly: 1.7.1
pkg-types: 1.0.3
pkg-types: 1.2.0
locate-character@3.0.0: {}

View File

@@ -3,13 +3,13 @@ import path from 'path';
// eslint-disable-next-line import/no-extraneous-dependencies
import { toPascalCase, toCamelCase, resetFile, appendFile } from '@lucide/helpers';
export default (
export default function generateIndexFile (
inputEntry,
outputDirectory,
iconNodes,
exportModuleNameCasing,
iconFileExtension = '',
) => {
) {
const fileName = path.basename(inputEntry);
// Reset file

View File

@@ -6,7 +6,7 @@ import getArgumentOptions from 'minimist';
import { readSvgDirectory } from '@lucide/helpers';
import renderIconsObject from './render/renderIconsObject.mjs';
import generateIconFiles from './building/generateIconFiles.mjs';
import generateExportsFile from './building/generateExportsFile.mjs';
import generateIndexFile from './building/generateIndexFile.mjs';
import generateAliasesFile from './building/generateAliasesFile.mjs';
// eslint-disable-next-line import/no-named-as-default, import/no-named-as-default-member
@@ -89,7 +89,7 @@ async function buildIcons() {
}
// Generates entry files for the compiler filled with icons exports
generateExportsFile(
generateIndexFile(
path.join(OUTPUT_DIR, 'icons', exportFileName),
path.join(OUTPUT_DIR, 'icons'),
icons,

12
tools/build-icons/types/config.d.ts vendored Normal file
View File

@@ -0,0 +1,12 @@
interface AliasConfig {
exportNamesOnly: boolean,
fileExtension: string
}
export interface BuildConfig {
output: string
templateSrc: string
iconFileExtension?: string
aliases?: AliasConfig | boolean
indexFileName?: string
}