1
0
mirror of https://github.com/tabler/tabler-icons.git synced 2025-08-07 14:46:32 +02:00

Import fixes (#1039)

* fix packages imports

* imports check scripts

* update packages

* svelte build improvements

* build fix
This commit is contained in:
Paweł Kuna
2024-03-12 12:19:23 +01:00
committed by GitHub
parent 41b8012769
commit ceed535efb
16 changed files with 20908 additions and 100 deletions

View File

@@ -22,7 +22,7 @@ See the LICENSE file in the root directory of this source tree.`
export const getRollupConfig = (pkg, outputFileName, bundles, globals) => { export const getRollupConfig = (pkg, outputFileName, bundles, globals) => {
return bundles return bundles
.map(({ inputs, format, minify, preserveModules, outputDir = 'dist', extension = 'js' }) => { .map(({ inputs, format, minify, preserveModules, outputDir = 'dist', extension = 'js', exports = 'named' }) => {
return inputs.map(input => ({ return inputs.map(input => ({
input, input,
plugins: getRollupPlugins(pkg, minify), plugins: getRollupPlugins(pkg, minify),
@@ -40,6 +40,8 @@ export const getRollupConfig = (pkg, outputFileName, bundles, globals) => {
format, format,
sourcemap: true, sourcemap: true,
preserveModules, preserveModules,
preserveModulesRoot: 'src',
exports,
globals, globals,
}, },
})) }))

1
.gitignore vendored
View File

@@ -36,3 +36,4 @@ packages/icons*/icons/*
.sass-cache .sass-cache
!/**/.gitkeep !/**/.gitkeep
*.tgz

View File

@@ -17,16 +17,13 @@
"url": "git+https://github.com/tabler/tabler-icons.git", "url": "git+https://github.com/tabler/tabler-icons.git",
"directory": "packages/icons-preact" "directory": "packages/icons-preact"
}, },
"amdName": "tabler-icons-preact", "main": "./dist/cjs/tabler-icons-preact.cjs",
"main": "dist/cjs/tabler-icons-preact.js", "types": "./dist/esm/tabler-icons-preact.d.ts",
"main:umd": "dist/umd/tabler-icons-preact.js", "module": "./dist/esm/tabler-icons-preact.mjs",
"module": "dist/esm/tabler-icons-preact.mjs", "sideEffects": false,
"unpkg": "dist/umd/tabler-icons-preact.min.js",
"typings": "dist/tabler-icons-preact.d.ts",
"files": [ "files": [
"dist" "dist"
], ],
"sideEffects": false,
"scripts": { "scripts": {
"build": "pnpm run clean && pnpm run copy:license && pnpm run build:icons && pnpm typecheck && pnpm run build:bundles", "build": "pnpm run clean && pnpm run copy:license && pnpm run build:icons && pnpm typecheck && pnpm run build:bundles",
"build:icons": "node build.mjs", "build:icons": "node build.mjs",
@@ -34,7 +31,8 @@
"copy:license": "cp ../../LICENSE ./LICENSE", "copy:license": "cp ../../LICENSE ./LICENSE",
"clean": "rm -rf dist && find . ! -name '.gitkeep' -path '*/src/icons/*' -exec rm -rf {} +", "clean": "rm -rf dist && find . ! -name '.gitkeep' -path '*/src/icons/*' -exec rm -rf {} +",
"test": "vitest run --typecheck", "test": "vitest run --typecheck",
"typecheck": "tsc" "typecheck": "tsc",
"imports-check": "attw $(npm pack)"
}, },
"dependencies": { "dependencies": {
"@tabler/icons": "3.0.0" "@tabler/icons": "3.0.0"

View File

@@ -7,17 +7,9 @@ const pkg = JSON.parse(fs.readFileSync('package.json', 'utf-8'))
const outputFileName = 'tabler-icons-preact'; const outputFileName = 'tabler-icons-preact';
const inputs = ['./src/tabler-icons-preact.ts']; const inputs = ['./src/tabler-icons-preact.ts'];
const bundles = [ const bundles = [
{
format: 'umd',
inputs,
minify: true,
},
{
format: 'umd',
inputs,
},
{ {
format: 'cjs', format: 'cjs',
extension: 'cjs',
inputs, inputs,
}, },
{ {
@@ -32,7 +24,9 @@ export default [
{ {
input: inputs[0], input: inputs[0],
output: [{ output: [{
file: `dist/${outputFileName}.d.ts`, format: "es" file: `dist/esm/${outputFileName}.d.ts`
}, {
file: `dist/cjs/${outputFileName}.d.cts`
}], }],
plugins: [dts()], plugins: [dts()],
}, },

View File

@@ -18,13 +18,22 @@
"directory": "packages/icons-react-native" "directory": "packages/icons-react-native"
}, },
"type": "module", "type": "module",
"amdName": "tabler-icons-react-native", "main": "./dist/cjs/tabler-icons-react-native.cjs",
"main": "dist/cjs/tabler-icons-react-native.js", "types": "./dist/cjs/tabler-icons-react-native.d.cts",
"main:umd": "dist/umd/tabler-icons-react-native.js", "module": "./dist/esm/tabler-icons-react-native.mjs",
"module": "dist/esm/tabler-icons-react-native.mjs", "react-native": "./dist/esm/tabler-icons-react-native.mjs",
"unpkg": "dist/umd/tabler-icons-react-native.min.js", "exports": {
"typings": "dist/tabler-icons-react-native.d.ts", ".": {
"react-native": "dist/esm/tabler-icons-react-native.js", "require": {
"types": "./dist/cjs/tabler-icons-react-native.d.cts",
"default": "./dist/cjs/tabler-icons-react-native.cjs"
},
"import": {
"types": "./dist/esm/tabler-icons-react-native.d.ts",
"default": "./dist/esm/tabler-icons-react-native.cjs"
}
}
},
"sideEffects": false, "sideEffects": false,
"files": [ "files": [
"dist" "dist"
@@ -35,7 +44,8 @@
"build:bundles": "rollup -c ./rollup.config.mjs", "build:bundles": "rollup -c ./rollup.config.mjs",
"copy:license": "cp ../../LICENSE ./LICENSE", "copy:license": "cp ../../LICENSE ./LICENSE",
"clean": "rm -rf dist && find . ! -name '.gitkeep' -path '*/src/icons/*' -exec rm -rf {} +", "clean": "rm -rf dist && find . ! -name '.gitkeep' -path '*/src/icons/*' -exec rm -rf {} +",
"typecheck": "tsc" "typecheck": "tsc",
"imports-check": "attw $(npm pack)"
}, },
"dependencies": { "dependencies": {
"@tabler/icons": "3.0.0" "@tabler/icons": "3.0.0"

View File

@@ -10,6 +10,7 @@ const bundles = [
{ {
format: 'cjs', format: 'cjs',
inputs, inputs,
extension: 'cjs',
}, },
{ {
format: 'esm', format: 'esm',
@@ -23,7 +24,9 @@ export default [
{ {
input: inputs[0], input: inputs[0],
output: [{ output: [{
file: `dist/${outputFileName}.d.ts`, format: "es" file: `dist/esm/${outputFileName}.d.ts`
}, {
file: `dist/cjs/${outputFileName}.d.cts`
}], }],
plugins: [dts()], plugins: [dts()],
}, },

View File

@@ -17,12 +17,9 @@
"url": "git+https://github.com/tabler/tabler-icons.git", "url": "git+https://github.com/tabler/tabler-icons.git",
"directory": "packages/icons-react" "directory": "packages/icons-react"
}, },
"type": "module", "main": "./dist/cjs/tabler-icons-react.cjs",
"main": "dist/cjs/tabler-icons-react.js", "types": "./dist/esm/tabler-icons-react.d.ts",
"main:umd": "dist/umd/tabler-icons-react.js", "module": "./dist/esm/tabler-icons-react.mjs",
"module": "dist/esm/tabler-icons-react.mjs",
"unpkg": "dist/umd/tabler-icons-react.min.js",
"typings": "dist/tabler-icons-react.d.ts",
"sideEffects": false, "sideEffects": false,
"files": [ "files": [
"dist" "dist"
@@ -34,7 +31,8 @@
"copy:license": "cp ../../LICENSE ./LICENSE", "copy:license": "cp ../../LICENSE ./LICENSE",
"clean": "rm -rf dist && find . ! -name '.gitkeep' -path '*/src/icons/*' -exec rm -rf {} +", "clean": "rm -rf dist && find . ! -name '.gitkeep' -path '*/src/icons/*' -exec rm -rf {} +",
"test": "vitest run --typecheck", "test": "vitest run --typecheck",
"typecheck": "tsc" "typecheck": "tsc",
"imports-check": "attw $(npm pack)"
}, },
"dependencies": { "dependencies": {
"@tabler/icons": "3.0.0" "@tabler/icons": "3.0.0"
@@ -48,6 +46,6 @@
"react-test-renderer": "18.2.0" "react-test-renderer": "18.2.0"
}, },
"peerDependencies": { "peerDependencies": {
"react": "^16.5.1 || ^17.0.0 || ^18.0.0" "react": ">= 16"
} }
} }

View File

@@ -7,17 +7,9 @@ const pkg = JSON.parse(fs.readFileSync('package.json', 'utf-8'))
const outputFileName = 'tabler-icons-react'; const outputFileName = 'tabler-icons-react';
const inputs = ['./src/tabler-icons-react.ts']; const inputs = ['./src/tabler-icons-react.ts'];
const bundles = [ const bundles = [
{
format: 'umd',
inputs,
minify: true,
},
{
format: 'umd',
inputs,
},
{ {
format: 'cjs', format: 'cjs',
extension: 'cjs',
inputs, inputs,
}, },
{ {
@@ -32,10 +24,13 @@ export default [
{ {
input: inputs[0], input: inputs[0],
output: [{ output: [{
file: `dist/${outputFileName}.d.ts`, format: "es" file: `dist/esm/${outputFileName}.d.ts`, format: 'esm'
}, {
file: `dist/cjs/${outputFileName}.d.cts`, format: 'cjs'
}], }],
plugins: [dts()], plugins: [dts()],
}, },
...getRollupConfig(pkg, outputFileName, bundles, { ...getRollupConfig(pkg, outputFileName, bundles, {
react: 'react' react: 'react'
}) })

View File

@@ -17,23 +17,12 @@
"url": "git+https://github.com/tabler/tabler-icons.git", "url": "git+https://github.com/tabler/tabler-icons.git",
"directory": "packages/icons-solidjs" "directory": "packages/icons-solidjs"
}, },
"source": "src/tabler-icons-solidjs.ts", "main": "./dist/cjs/tabler-icons-solidjs.cjs",
"main": "dist/cjs/tabler-icons-solidjs.js", "module": "./dist/esm/tabler-icons-solidjs.mjs",
"module": "dist/esm/tabler-icons-solidjs.mjs", "types": "./dist/cjs/tabler-icons-solidjs.d.cts",
"types": "dist/types/tabler-icons-solidjs.d.ts",
"files": [ "files": [
"dist" "dist"
], ],
"exports": {
".": {
"types": "./dist/types/tabler-icons-solidjs.d.ts",
"solid": "./dist/source/tabler-icons-solidjs.js",
"import": "./dist/esm/tabler-icons-solidjs.js",
"browser": "./dist/esm/tabler-icons-solidjs.js",
"require": "./dist/cjs/tabler-icons-solidjs.js",
"node": "./dist/cjs/tabler-icons-solidjs.js"
}
},
"scripts": { "scripts": {
"build": "pnpm run clean && pnpm run copy:license && pnpm run build:icons && pnpm typecheck && pnpm run build:bundles", "build": "pnpm run clean && pnpm run copy:license && pnpm run build:icons && pnpm typecheck && pnpm run build:bundles",
"build:icons": "node build.mjs", "build:icons": "node build.mjs",
@@ -41,7 +30,8 @@
"copy:license": "cp ../../LICENSE ./LICENSE", "copy:license": "cp ../../LICENSE ./LICENSE",
"clean": "rm -rf dist && find . ! -name '.gitkeep' -path '*/src/icons/*' -exec rm -rf {} +", "clean": "rm -rf dist && find . ! -name '.gitkeep' -path '*/src/icons/*' -exec rm -rf {} +",
"test": "vitest run", "test": "vitest run",
"typecheck": "tsc" "typecheck": "tsc",
"imports-check": "attw $(npm pack)"
}, },
"dependencies": { "dependencies": {
"@tabler/icons": "3.0.0" "@tabler/icons": "3.0.0"

View File

@@ -7,17 +7,9 @@ const pkg = JSON.parse(fs.readFileSync('package.json', 'utf-8'))
const outputFileName = 'tabler-icons-solidjs'; const outputFileName = 'tabler-icons-solidjs';
const inputs = ['./src/tabler-icons-solidjs.ts']; const inputs = ['./src/tabler-icons-solidjs.ts'];
const bundles = [ const bundles = [
{
format: 'umd',
inputs,
minify: true,
},
{
format: 'umd',
inputs,
},
{ {
format: 'cjs', format: 'cjs',
extension: 'cjs',
inputs, inputs,
}, },
{ {
@@ -32,7 +24,9 @@ export default [
{ {
input: inputs[0], input: inputs[0],
output: [{ output: [{
file: `dist/${outputFileName}.d.ts`, format: "es" file: `dist/esm/${outputFileName}.d.ts`
}, {
file: `dist/cjs/${outputFileName}.d.cts`
}], }],
plugins: [dts()], plugins: [dts()],
}, },

View File

@@ -1,6 +1,36 @@
#!/usr/bin/env node #!/usr/bin/env node
import { buildJsIcons } from '../../.build/build-icons.mjs' import { buildJsIcons } from '../../.build/build-icons.mjs'
import { readFileSync, writeFileSync } from 'fs'
import { getAllIcons, toPascalCase } from '../../.build/helpers.mjs'
const updatePackageJson = () => {
let packageJson = JSON.parse(readFileSync('package.json', 'utf-8'))
if (packageJson.exports) {
for (const key in packageJson.exports) {
if (key.match(/^\.\/[^\.]+\.svelte$/)) {
delete packageJson.exports[key]
}
}
}
const allIcons = getAllIcons(false, false)
Object.entries(allIcons).forEach(([type, icons]) => {
icons.forEach((icon, i) => {
const iconName = `${icon.name}${type !== 'outline' ? `-${type}` : ''}`,
iconNamePascal = `${icon.namePascal}${type !== 'outline' ? toPascalCase(type) : ''}`
packageJson.exports[`./${iconNamePascal}.svelte`] = {
types: `./dist/icons/${iconName}.svelte.d.ts`,
svelte: `./dist/icons/${iconName}.svelte`
}
})
})
writeFileSync('package.json', JSON.stringify(packageJson, null, 2))
}
const componentTemplate = ({ const componentTemplate = ({
type, type,
@@ -40,3 +70,5 @@ buildJsIcons({
indexFile: 'index.ts', indexFile: 'index.ts',
pascalName: false, pascalName: false,
}) })
updatePackageJson()

File diff suppressed because it is too large Load Diff

View File

@@ -17,13 +17,9 @@
"url": "git+https://github.com/tabler/tabler-icons.git", "url": "git+https://github.com/tabler/tabler-icons.git",
"directory": "packages/icons-vue" "directory": "packages/icons-vue"
}, },
"amdName": "tabler-icons-vue", "main": "./dist/cjs/tabler-icons-vue.cjs",
"main": "dist/cjs/tabler-icons-vue.js", "module": "./dist/esm/tabler-icons-vue.mjs",
"main:umd": "dist/umd/tabler-icons-vue.js", "types": "./dist/esm/tabler-icons-vue.d.ts",
"module": "dist/esm/tabler-icons-vue.mjs",
"unpkg": "dist/umd/tabler-icons-vue.min.js",
"typings": "dist/tabler-icons-vue.d.ts",
"sideEffects": false,
"files": [ "files": [
"dist" "dist"
], ],
@@ -33,7 +29,8 @@
"build:bundles": "rollup -c ./rollup.config.mjs", "build:bundles": "rollup -c ./rollup.config.mjs",
"copy:license": "cp ../../LICENSE ./LICENSE", "copy:license": "cp ../../LICENSE ./LICENSE",
"clean": "rm -rf dist && find . ! -name '.gitkeep' -path '*/src/icons/*' -exec rm -rf {} +", "clean": "rm -rf dist && find . ! -name '.gitkeep' -path '*/src/icons/*' -exec rm -rf {} +",
"test": "vitest run" "test": "vitest run",
"imports-check": "attw $(npm pack)"
}, },
"dependencies": { "dependencies": {
"@tabler/icons": "3.0.0" "@tabler/icons": "3.0.0"

View File

@@ -7,17 +7,9 @@ const pkg = JSON.parse(fs.readFileSync('package.json', 'utf-8'))
const outputFileName = 'tabler-icons-vue'; const outputFileName = 'tabler-icons-vue';
const inputs = ['./src/tabler-icons-vue.ts']; const inputs = ['./src/tabler-icons-vue.ts'];
const bundles = [ const bundles = [
{
format: 'umd',
inputs,
minify: true,
},
{
format: 'umd',
inputs,
},
{ {
format: 'cjs', format: 'cjs',
extension: 'cjs',
inputs, inputs,
}, },
{ {
@@ -32,7 +24,9 @@ export default [
{ {
input: inputs[0], input: inputs[0],
output: [{ output: [{
file: `dist/${outputFileName}.d.ts`, format: "es" file: `dist/esm/${outputFileName}.d.ts`, format: 'esm'
}, {
file: `dist/cjs/${outputFileName}.d.cts`, format: 'cjs'
}], }],
plugins: [ plugins: [
dts({ dts({

View File

@@ -1,5 +1,7 @@
<script lang="ts"> <script lang="ts">
import { IconAd, IconAdOff, IconAdFilled } from "@tabler/icons-svelte"; import IconAd from "@tabler/icons-svelte/IconAd.svelte";
import IconAdOff from "@tabler/icons-svelte/IconAdOff.svelte";
import IconAdFilled from "@tabler/icons-svelte/IconAdFilled.svelte";
let active = false; let active = false;
</script> </script>

View File

@@ -19,6 +19,9 @@
}, },
"typecheck": { "typecheck": {
"dependsOn": ["build", "^build"] "dependsOn": ["build", "^build"]
},
"imports-check": {
"dependsOn": ["build", "^build"]
} }
} }
} }