Showing
5 changed files
with
245 additions
and
27 deletions
| 1 | { | 1 | { |
| 2 | - "name": "temple_material_request", | 2 | + "name": "custom-table", |
| 3 | - "description": "西园寺物资申请系统", | 3 | + "description": "自定义表格", |
| 4 | "version": "1.0.0", | 4 | "version": "1.0.0", |
| 5 | "scripts": { | 5 | "scripts": { |
| 6 | "dev": "vite", | 6 | "dev": "vite", |
| ... | @@ -36,6 +36,7 @@ | ... | @@ -36,6 +36,7 @@ |
| 36 | }, | 36 | }, |
| 37 | "dependencies": { | 37 | "dependencies": { |
| 38 | "@dedisuryadi/json-form-data": "^0.1.1", | 38 | "@dedisuryadi/json-form-data": "^0.1.1", |
| 39 | + "@element-plus/icons-vue": "^2.3.1", | ||
| 39 | "@tinymce/tinymce-vue": "4.0.7", | 40 | "@tinymce/tinymce-vue": "4.0.7", |
| 40 | "@vant/area-data": "^1.3.1", | 41 | "@vant/area-data": "^1.3.1", |
| 41 | "@vant/touch-emulator": "^1.4.0", | 42 | "@vant/touch-emulator": "^1.4.0", |
| ... | @@ -82,6 +83,7 @@ | ... | @@ -82,6 +83,7 @@ |
| 82 | "pinia": "^2.0.14", | 83 | "pinia": "^2.0.14", |
| 83 | "postcss-px-to-viewport": "^1.1.1", | 84 | "postcss-px-to-viewport": "^1.1.1", |
| 84 | "qs": "^6.10.3", | 85 | "qs": "^6.10.3", |
| 86 | + "sass": "^1.78.0", | ||
| 85 | "tslint": "^6.1.3", | 87 | "tslint": "^6.1.3", |
| 86 | "unplugin-auto-import": "^0.8.8", | 88 | "unplugin-auto-import": "^0.8.8", |
| 87 | "unplugin-vue-components": "^0.23.0", | 89 | "unplugin-vue-components": "^0.23.0", | ... | ... |
src/assets/styles/element.scss
0 → 100644
| 1 | + | ||
| 2 | +@forward 'element-plus/theme-chalk/src/common/var.scss' with ( | ||
| 3 | + $colors: ( | ||
| 4 | + 'white': #ffffff, | ||
| 5 | + 'black': #000000, | ||
| 6 | + 'primary': ( | ||
| 7 | + 'base': #C2915F, | ||
| 8 | + ), | ||
| 9 | + 'success': ( | ||
| 10 | + 'base': #67c23a, | ||
| 11 | + ), | ||
| 12 | + 'warning': ( | ||
| 13 | + 'base': #e6a23c, | ||
| 14 | + ), | ||
| 15 | + 'danger': ( | ||
| 16 | + 'base': #f56c6c, | ||
| 17 | + ), | ||
| 18 | + 'error': ( | ||
| 19 | + 'base': #f56c6c, | ||
| 20 | + ), | ||
| 21 | + 'info': ( | ||
| 22 | + 'base': #909399, | ||
| 23 | + ), | ||
| 24 | + ), | ||
| 25 | +); | ||
| 26 | + | ||
| 27 | +// 这句非常重要 | ||
| 28 | +@use "element-plus/theme-chalk/src/index.scss" as *; |
| ... | @@ -2,27 +2,35 @@ | ... | @@ -2,27 +2,35 @@ |
| 2 | * @Author: hookehuyr hookehuyr@gmail.com | 2 | * @Author: hookehuyr hookehuyr@gmail.com |
| 3 | * @Date: 2022-05-31 12:06:19 | 3 | * @Date: 2022-05-31 12:06:19 |
| 4 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 4 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 5 | - * @LastEditTime: 2024-09-06 17:39:52 | 5 | + * @LastEditTime: 2024-09-09 13:54:11 |
| 6 | * @FilePath: /custom_table/src/main.js | 6 | * @FilePath: /custom_table/src/main.js |
| 7 | * @Description: | 7 | * @Description: |
| 8 | */ | 8 | */ |
| 9 | import { createApp } from 'vue'; | 9 | import { createApp } from 'vue'; |
| 10 | import router from './router'; | 10 | import router from './router'; |
| 11 | import ElementPlus from 'element-plus' | 11 | import ElementPlus from 'element-plus' |
| 12 | -import 'element-plus/dist/index.css' | 12 | +// import 'element-plus/dist/index.css' |
| 13 | +import '@/assets/styles/element.scss' // 这是我的样式路径 | ||
| 14 | +import zhCn from 'element-plus/es/locale/lang/zh-cn' | ||
| 15 | +import 'dayjs/locale/zh-cn' | ||
| 13 | import App from './App.vue'; | 16 | import App from './App.vue'; |
| 14 | // import axios from './utils/axios'; | 17 | // import axios from './utils/axios'; |
| 15 | import axios from '@/utils/axios'; | 18 | import axios from '@/utils/axios'; |
| 16 | // import 'default-passive-events'; // 解决Chrome控制台non-passive event listener输出问题 | 19 | // import 'default-passive-events'; // 解决Chrome控制台non-passive event listener输出问题 |
| 17 | import { createPinia } from 'pinia'; | 20 | import { createPinia } from 'pinia'; |
| 21 | +import * as ElementPlusIconsVue from '@element-plus/icons-vue' | ||
| 18 | 22 | ||
| 19 | const pinia = createPinia(); | 23 | const pinia = createPinia(); |
| 20 | const app = createApp(App); | 24 | const app = createApp(App); |
| 21 | 25 | ||
| 26 | +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { | ||
| 27 | + app.component(key, component) | ||
| 28 | +} | ||
| 29 | + | ||
| 22 | // 屏蔽警告信息 | 30 | // 屏蔽警告信息 |
| 23 | app.config.warnHandler = () => null; | 31 | app.config.warnHandler = () => null; |
| 24 | 32 | ||
| 25 | app.config.globalProperties.$http = axios; // 关键语句 | 33 | app.config.globalProperties.$http = axios; // 关键语句 |
| 26 | 34 | ||
| 27 | -app.use(pinia).use(router).use(ElementPlus) | 35 | +app.use(pinia).use(router).use(ElementPlus, { locale: zhCn }) |
| 28 | app.mount('#app'); | 36 | app.mount('#app'); | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Date: 2024-07-23 10:34:37 | 2 | * @Date: 2024-07-23 10:34:37 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2024-09-06 17:35:34 | 4 | + * @LastEditTime: 2024-09-09 13:57:21 |
| 5 | * @FilePath: /custom_table/src/views/index.vue | 5 | * @FilePath: /custom_table/src/views/index.vue |
| 6 | * @Description: 文件描述 | 6 | * @Description: 文件描述 |
| 7 | --> | 7 | --> |
| 8 | <template> | 8 | <template> |
| 9 | - <el-table :data="tableData" style="width: 100%"> | 9 | + <div style="padding: 1rem;"> |
| 10 | + <el-row justify="space-between"> | ||
| 11 | + <el-col :span="12"> | ||
| 12 | + <div> | ||
| 13 | + <el-button type="primary" :icon="Plus">添加</el-button> | ||
| 14 | + <el-icon style="vertical-align: middle"><Download /></el-icon> <span style="vertical-align: middle">导入</span> | ||
| 15 | + <el-icon style="vertical-align: middle"><Upload /></el-icon> <span style="vertical-align: middle">导出</span> | ||
| 16 | + <el-icon style="vertical-align: middle"><Delete /></el-icon> <span style="vertical-align: middle">删除</span> | ||
| 17 | + </div> | ||
| 18 | + </el-col> | ||
| 19 | + <el-col :span="12" style="text-align: right;"> | ||
| 20 | + <el-input | ||
| 21 | + v-model="input3" | ||
| 22 | + style="width: 200px" | ||
| 23 | + placeholder="搜索数据" | ||
| 24 | + :prefix-icon="Search" | ||
| 25 | + /> | ||
| 26 | + | ||
| 27 | + <el-popover :visible="visible" placement="bottom"> | ||
| 28 | + 123 | ||
| 29 | + <span @click="visible = false">关闭</span> | ||
| 30 | + <template #reference> | ||
| 31 | + <div class="tooltip-container"> | ||
| 32 | + <el-icon style="vertical-align: middle" @click="visible = true"><Filter /></el-icon> | ||
| 33 | + <span class="tooltip-text">筛选条件</span> | ||
| 34 | + </div> | ||
| 35 | + </template> | ||
| 36 | + </el-popover> | ||
| 37 | + | ||
| 38 | + <el-tooltip | ||
| 39 | + class="box-item" | ||
| 40 | + effect="dark" | ||
| 41 | + content="显示字段" | ||
| 42 | + placement="bottom" | ||
| 43 | + > | ||
| 44 | + <el-icon style="vertical-align: middle"><Operation /></el-icon> | ||
| 45 | + </el-tooltip> | ||
| 46 | + | ||
| 47 | + <el-tooltip | ||
| 48 | + class="box-item" | ||
| 49 | + effect="dark" | ||
| 50 | + content="排序" | ||
| 51 | + placement="bottom" | ||
| 52 | + > | ||
| 53 | + <el-icon style="vertical-align: middle"><Sort /></el-icon> | ||
| 54 | + </el-tooltip> | ||
| 55 | + | ||
| 56 | + <el-tooltip | ||
| 57 | + class="box-item" | ||
| 58 | + effect="dark" | ||
| 59 | + content="刷新" | ||
| 60 | + placement="bottom" | ||
| 61 | + > | ||
| 62 | + <el-icon style="vertical-align: middle"><Refresh /></el-icon> | ||
| 63 | + </el-tooltip> | ||
| 64 | + | ||
| 65 | + </el-col> | ||
| 66 | + </el-row> | ||
| 67 | + <el-table | ||
| 68 | + :data="tableData" stripe border height="780" | ||
| 69 | + style="width: 100%; margin: 1rem 0;" | ||
| 70 | + @selection-change="handleSelectionChange" | ||
| 71 | + > | ||
| 72 | + <el-table-column type="selection" width="55" /> | ||
| 10 | <el-table-column prop="date" label="Date" width="180" /> | 73 | <el-table-column prop="date" label="Date" width="180" /> |
| 11 | <el-table-column prop="name" label="Name" width="180" /> | 74 | <el-table-column prop="name" label="Name" width="180" /> |
| 12 | <el-table-column prop="address" label="Address" /> | 75 | <el-table-column prop="address" label="Address" /> |
| 13 | </el-table> | 76 | </el-table> |
| 77 | + <el-row justify="space-between"> | ||
| 78 | + <el-col :span="8"> | ||
| 79 | + <el-pagination | ||
| 80 | + v-model:current-page="currentPage4" | ||
| 81 | + v-model:page-size="pageSize4" | ||
| 82 | + :page-sizes="[100, 200, 300, 400]" | ||
| 83 | + :size="size" | ||
| 84 | + layout="total, sizes" | ||
| 85 | + :total="400" | ||
| 86 | + @size-change="handleSizeChange" | ||
| 87 | + @current-change="handleCurrentChange" | ||
| 88 | + /> | ||
| 89 | + </el-col> | ||
| 90 | + <el-col :span="8"> | ||
| 91 | + <el-pagination | ||
| 92 | + v-model:current-page="currentPage4" | ||
| 93 | + v-model:page-size="pageSize4" | ||
| 94 | + :size="size" | ||
| 95 | + layout="prev, pager, next" | ||
| 96 | + :total="400" | ||
| 97 | + @size-change="handleSizeChange" | ||
| 98 | + @current-change="handleCurrentChange" | ||
| 99 | + /> | ||
| 100 | + </el-col> | ||
| 101 | + <el-col :span="8"> | ||
| 102 | + <el-pagination | ||
| 103 | + v-model:current-page="currentPage4" | ||
| 104 | + v-model:page-size="pageSize4" | ||
| 105 | + :size="size" | ||
| 106 | + layout="jumper" | ||
| 107 | + :total="400" | ||
| 108 | + @size-change="handleSizeChange" | ||
| 109 | + @current-change="handleCurrentChange" | ||
| 110 | + style="display: flex; justify-content: end;" | ||
| 111 | + /> | ||
| 112 | + </el-col> | ||
| 113 | + </el-row> | ||
| 114 | + </div> | ||
| 14 | </template> | 115 | </template> |
| 15 | 116 | ||
| 16 | <script setup> | 117 | <script setup> |
| 17 | import { ref } from 'vue' | 118 | import { ref } from 'vue' |
| 18 | import { useRoute, useRouter } from 'vue-router' | 119 | import { useRoute, useRouter } from 'vue-router' |
| 19 | - | 120 | +import { Plus, Download, Upload, Search } from '@element-plus/icons-vue' |
| 20 | import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@/utils/generatePackage.js' | 121 | import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@/utils/generatePackage.js' |
| 21 | //import { } from '@/utils/generateModules.js' | 122 | //import { } from '@/utils/generateModules.js' |
| 22 | //import { } from '@/utils/generateIcons.js' | 123 | //import { } from '@/utils/generateIcons.js' |
| ... | @@ -25,31 +126,76 @@ const $route = useRoute(); | ... | @@ -25,31 +126,76 @@ const $route = useRoute(); |
| 25 | const $router = useRouter(); | 126 | const $router = useRouter(); |
| 26 | useTitle($route.meta.title); | 127 | useTitle($route.meta.title); |
| 27 | 128 | ||
| 28 | -const tableData = [ | 129 | +const tableData = ref([]) |
| 29 | - { | 130 | + |
| 30 | - date: '2016-05-03', | 131 | +const visible = ref(false); |
| 31 | - name: 'Tom', | 132 | + |
| 32 | - address: 'No. 189, Grove St, Los Angeles', | 133 | +const multipleSelection = ref([]) |
| 33 | - }, | 134 | +const handleSelectionChange = (val) => { |
| 34 | - { | 135 | + multipleSelection.value = val |
| 35 | - date: '2016-05-02', | 136 | + console.log("🚀 ~ file: index.vue:136 ~ handleSelectionChange ~ multipleSelection.value:", multipleSelection.value); |
| 36 | - name: 'Tom', | 137 | +} |
| 37 | - address: 'No. 189, Grove St, Los Angeles', | 138 | + |
| 38 | - }, | 139 | +onMounted(() => { |
| 39 | - { | 140 | + for (let index = 0; index < 50; index++) { |
| 40 | - date: '2016-05-04', | 141 | + tableData.value.push({ |
| 41 | - name: 'Tom', | 142 | + id: index, |
| 42 | - address: 'No. 189, Grove St, Los Angeles', | ||
| 43 | - }, | ||
| 44 | - { | ||
| 45 | date: '2016-05-01', | 143 | date: '2016-05-01', |
| 46 | name: 'Tom', | 144 | name: 'Tom', |
| 47 | address: 'No. 189, Grove St, Los Angeles', | 145 | address: 'No. 189, Grove St, Los Angeles', |
| 48 | - }, | 146 | + }) |
| 49 | -] | 147 | + } |
| 148 | +}) | ||
| 149 | + | ||
| 150 | +const currentPage4 = ref(4) | ||
| 151 | +const pageSize4 = ref(100) | ||
| 152 | + | ||
| 153 | +const handleSizeChange = (val) => { | ||
| 154 | + console.log(`${val} items per page`) | ||
| 155 | +} | ||
| 156 | +const handleCurrentChange = (val) => { | ||
| 157 | + console.log(`current page: ${val}`) | ||
| 158 | +} | ||
| 50 | 159 | ||
| 51 | </script> | 160 | </script> |
| 52 | 161 | ||
| 53 | <style lang="less" scoped> | 162 | <style lang="less" scoped> |
| 163 | +.tooltip-container { | ||
| 164 | + position: relative; | ||
| 165 | + display: inline-block; | ||
| 166 | + cursor: pointer; /* 悬停时显示手形指针 */ | ||
| 167 | +} | ||
| 168 | + | ||
| 169 | +.tooltip-text { | ||
| 170 | + font-size: 0.8rem; | ||
| 171 | + visibility: hidden; | ||
| 172 | + background-color: black; | ||
| 173 | + color: #fff; | ||
| 174 | + text-align: center; | ||
| 175 | + border-radius: 5px; | ||
| 176 | + padding: 5px 10px; | ||
| 177 | + position: absolute; | ||
| 178 | + z-index: 10; | ||
| 179 | + top: 125%; /* 使 tooltip 位于触发元素下方 */ | ||
| 180 | + left: 50%; | ||
| 181 | + transform: translateX(-50%); | ||
| 182 | + opacity: 0; | ||
| 183 | + transition: opacity 0.3s; | ||
| 184 | + white-space: nowrap; /* 防止文字换行 */ | ||
| 185 | + &::after { | ||
| 186 | + content: ""; | ||
| 187 | + position: absolute; | ||
| 188 | + top: -10px; /* 三角形放在 Tooltip 上方 */ | ||
| 189 | + left: 50%; | ||
| 190 | + transform: translateX(-50%); | ||
| 191 | + border-width: 5px; | ||
| 192 | + border-style: solid; | ||
| 193 | + border-color: transparent transparent black transparent; /* 创建黑色的小三角形 */ | ||
| 194 | + } | ||
| 195 | +} | ||
| 54 | 196 | ||
| 197 | +.tooltip-container:hover .tooltip-text { | ||
| 198 | + visibility: visible; | ||
| 199 | + opacity: 1; | ||
| 200 | +} | ||
| 55 | </style> | 201 | </style> | ... | ... |
| ... | @@ -1185,6 +1185,21 @@ chokidar@3.5.3, chokidar@^3.5.3: | ... | @@ -1185,6 +1185,21 @@ chokidar@3.5.3, chokidar@^3.5.3: |
| 1185 | optionalDependencies: | 1185 | optionalDependencies: |
| 1186 | fsevents "~2.3.2" | 1186 | fsevents "~2.3.2" |
| 1187 | 1187 | ||
| 1188 | +"chokidar@>=3.0.0 <4.0.0": | ||
| 1189 | + version "3.6.0" | ||
| 1190 | + resolved "https://mirrors.cloud.tencent.com/npm/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" | ||
| 1191 | + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== | ||
| 1192 | + dependencies: | ||
| 1193 | + anymatch "~3.1.2" | ||
| 1194 | + braces "~3.0.2" | ||
| 1195 | + glob-parent "~5.1.2" | ||
| 1196 | + is-binary-path "~2.1.0" | ||
| 1197 | + is-glob "~4.0.1" | ||
| 1198 | + normalize-path "~3.0.0" | ||
| 1199 | + readdirp "~3.6.0" | ||
| 1200 | + optionalDependencies: | ||
| 1201 | + fsevents "~2.3.2" | ||
| 1202 | + | ||
| 1188 | chownr@^2.0.0: | 1203 | chownr@^2.0.0: |
| 1189 | version "2.0.0" | 1204 | version "2.0.0" |
| 1190 | resolved "https://mirrors.cloud.tencent.com/npm/chownr/-/chownr-2.0.0.tgz" | 1205 | resolved "https://mirrors.cloud.tencent.com/npm/chownr/-/chownr-2.0.0.tgz" |
| ... | @@ -2227,6 +2242,11 @@ image-size@~0.5.0: | ... | @@ -2227,6 +2242,11 @@ image-size@~0.5.0: |
| 2227 | resolved "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz" | 2242 | resolved "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz" |
| 2228 | integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= | 2243 | integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= |
| 2229 | 2244 | ||
| 2245 | +immutable@^4.0.0: | ||
| 2246 | + version "4.3.7" | ||
| 2247 | + resolved "https://mirrors.cloud.tencent.com/npm/immutable/-/immutable-4.3.7.tgz#c70145fc90d89fb02021e65c84eb0226e4e5a381" | ||
| 2248 | + integrity sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw== | ||
| 2249 | + | ||
| 2230 | indent-string@^4.0.0: | 2250 | indent-string@^4.0.0: |
| 2231 | version "4.0.0" | 2251 | version "4.0.0" |
| 2232 | resolved "https://mirrors.cloud.tencent.com/npm/indent-string/-/indent-string-4.0.0.tgz" | 2252 | resolved "https://mirrors.cloud.tencent.com/npm/indent-string/-/indent-string-4.0.0.tgz" |
| ... | @@ -3271,6 +3291,15 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: | ... | @@ -3271,6 +3291,15 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: |
| 3271 | resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" | 3291 | resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" |
| 3272 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== | 3292 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== |
| 3273 | 3293 | ||
| 3294 | +sass@^1.78.0: | ||
| 3295 | + version "1.78.0" | ||
| 3296 | + resolved "https://mirrors.cloud.tencent.com/npm/sass/-/sass-1.78.0.tgz#cef369b2f9dc21ea1d2cf22c979f52365da60841" | ||
| 3297 | + integrity sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ== | ||
| 3298 | + dependencies: | ||
| 3299 | + chokidar ">=3.0.0 <4.0.0" | ||
| 3300 | + immutable "^4.0.0" | ||
| 3301 | + source-map-js ">=0.6.2 <2.0.0" | ||
| 3302 | + | ||
| 3274 | sax@^1.2.4: | 3303 | sax@^1.2.4: |
| 3275 | version "1.2.4" | 3304 | version "1.2.4" |
| 3276 | resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" | 3305 | resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" |
| ... | @@ -3396,6 +3425,11 @@ snake-case@^3.0.4: | ... | @@ -3396,6 +3425,11 @@ snake-case@^3.0.4: |
| 3396 | dot-case "^3.0.4" | 3425 | dot-case "^3.0.4" |
| 3397 | tslib "^2.0.3" | 3426 | tslib "^2.0.3" |
| 3398 | 3427 | ||
| 3428 | +"source-map-js@>=0.6.2 <2.0.0": | ||
| 3429 | + version "1.2.1" | ||
| 3430 | + resolved "https://mirrors.cloud.tencent.com/npm/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" | ||
| 3431 | + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== | ||
| 3432 | + | ||
| 3399 | source-map-js@^1.0.2: | 3433 | source-map-js@^1.0.2: |
| 3400 | version "1.0.2" | 3434 | version "1.0.2" |
| 3401 | resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" | 3435 | resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" | ... | ... |
-
Please register or login to post a comment