Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
local-cdn
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
eterfund
local-cdn
Commits
f9af4d10
Commit
f9af4d10
authored
Nov 24, 2017
by
Дмитрий Никулин
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add support for updating
parent
7ac1a639
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
91 additions
and
17 deletions
+91
-17
add.sh
add.sh
+3
-3
functions.sh
functions.sh
+61
-14
update.sh
update.sh
+27
-0
No files found.
add.sh
View file @
f9af4d10
...
...
@@ -21,7 +21,7 @@ fi
epm assure jq
||
exit
package
=
"
$1
"
library
=
"
$1
"
version
=
"
$2
"
main
=
"
$3
"
main_minified
=
"
$4
"
...
...
@@ -33,5 +33,5 @@ if ! npm view "$1" > /dev/null 2>&1; then
fi
add_package
"
$
package
"
"
$version
"
"
$main
"
"
$main_minified
"
registry_add_library_version
"
$
package
"
"
$version
"
"
$main
"
"
$main_minified
"
add_package
"
$
library
"
"
$version
"
"
$main
"
"
$main_minified
"
registry_add_library_version
"
$
library
"
"
$version
"
"
$main
"
"
$main_minified
"
functions.sh
View file @
f9af4d10
...
...
@@ -4,27 +4,30 @@ fatal () {
}
add_package
()
{
local
package
=
"
$1
"
local
library
=
"
$1
"
local
version
=
"
$2
"
local
main
=
"
$3
"
local
minified
=
"
$4
"
rm
-rf
"packages/
$package
/
$version
"
create_package_version
"
$package
"
"
$version
"
echo
"Created packages/
$package
/
$version
/package.json"
install_or_update_package
"
$package
"
"
$version
"
create_dist_link
"
$package
"
"
$version
"
"
$main
"
"
$minified
"
echo
"Installed
$package
@
$version
"
if
[
-e
"packages/
$library
/
$version
"
]
;
then
rm
-rf
"packages/
$library
/
$version
"
echo
"Removed old version (packages/
$library
/
$version
)"
fi
create_package_version
"
$library
"
"
$version
"
echo
"Created packages/
$library
/
$version
/package.json"
install_or_update_package
"
$library
"
"
$version
"
create_dist_link
"
$library
"
"
$version
"
"
$main
"
"
$minified
"
echo
"Installed
$library
@
$version
"
}
create_dist_link
()
{
local
package
=
"
$1
"
local
library
=
"
$1
"
local
version
=
"
$2
"
local
main
=
"
$3
"
local
minified
=
"
$4
"
public_base
=
"public/
$
package
/
$version
"
package_base
=
"packages/
$package
/
$version
/node_modules/
$package
"
public_base
=
"public/
$
library
/
$version
"
library_base
=
"packages/
$library
/
$version
/node_modules/
$library
"
mkdir
-p
"
$public_base
"
#if [ -z "$3" ]; then
...
...
@@ -33,9 +36,9 @@ create_dist_link () {
local
main_file
=
"
$3
"
local
main_file_minified
=
"
$4
"
#fi
link_and_print
"
$
package_base
/
$main_file_minified
"
"
$public_base
/
$package
.min.js"
link_and_print
"
$public_base
/
$
package
.min.js"
"
$public_base
/
$package
.js"
link_and_print
"
$
package_base
/
$main_file
"
"
$public_base
/
$package
.development.js"
link_and_print
"
$
library_base
/
$main_file_minified
"
"
$public_base
/
$library
.min.js"
link_and_print
"
$public_base
/
$
library
.min.js"
"
$public_base
/
$library
.js"
link_and_print
"
$
library_base
/
$main_file
"
"
$public_base
/
$library
.development.js"
}
create_package_version
()
{
...
...
@@ -73,7 +76,7 @@ link_and_print () {
if
!
[
-e
"
$1
"
]
;
then
fatal
"File not found:
$1
"
fi
ln
"
$1
"
"
$2
"
ln
-f
"
$1
"
"
$2
"
echo
"Created hardlink:
$2
->
$1
"
}
...
...
@@ -81,3 +84,47 @@ registry_add_library_version () {
new_registry
=
$(
cat
registry.json | jq
--arg
lib
"
$1
"
--arg
version
"
$2
"
--arg
main
"
$3
"
--arg
minified
"
$4
"
".installedLibraries[
\"
$1
\"
][
\"
$2
\"
] = {"
main
":
\$
main, "
minified
":
\$
minified}"
)
||
fatal
"jq error"
echo
"
$new_registry
"
>
registry.json
}
registry_get_libraries
()
{
echo
$(
cat
registry.json | jq
-r
".installedLibraries | keys[]"
)
}
registry_get_library_versions
()
{
echo
$(
cat
registry.json | jq
-r
".installedLibraries[
\"
$1
\"
] | keys[]"
)
}
registry_get_package_main
()
{
echo
$(
cat
registry.json | jq
-r
".installedLibraries[
\"
$1
\"
][
\"
$2
\"
].main"
)
}
registry_get_package_main_minified
()
{
echo
$(
cat
registry.json | jq
-r
".installedLibraries[
\"
$1
\"
][
\"
$2
\"
].minified"
)
}
registry_package_exists
()
{
local
result
=
$(
cat
registry.json | jq
".installedLibraries[
\"
$1
\"
][
\"
$2
\"
]"
)
[
"
$result
"
!=
"null"
]
}
update_all_packages
()
{
local
libraries
=
$(
registry_get_libraries
)
echo
"----------"
for
library
in
$libraries
;
do
local
versions
=
$(
registry_get_library_versions
"
$library
"
)
for
version
in
$versions
;
do
echo
"Updating
$library
@
$version
:"
update_package
"
$library
"
"
$version
"
echo
"----------"
done
done
}
update_package
()
{
local
library
=
"
$1
"
local
version
=
"
$2
"
local
main
=
$(
registry_get_package_main
"
$library
"
"
$version
"
)
local
main_minified
=
$(
registry_get_package_main_minified
"
$library
"
"
$version
"
)
add_package
"
$library
"
"
$version
"
"
$main
"
"
$main_minified
"
}
update.sh
0 → 100755
View file @
f9af4d10
#!/bin/bash
source
functions.sh
if
[
"
$1
"
==
'-h'
]
||
[
"
$1
"
==
'--help'
]
||
[
$#
-eq
1
]
;
then
echo
'Usage: update.sh [<package> <version>]'
exit
0
fi
epm assure jq
||
exit
library
=
"
$1
"
version
=
"
$2
"
if
[
-z
"
$library
"
]
||
[
-z
"
$version
"
]
;
then
echo
'Updating all packages from registry.json...'
update_all_packages
else
if
registry_package_exists
"
$library
"
"
$version
"
;
then
update_package
"
$library
"
"
$version
"
else
echo
"Package not installed:
$library
@
$version
"
exit
1
fi
fi
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment