mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-20 09:17:43 +03:00
parent
5171ed5313
commit
7fe94be065
@ -580,14 +580,14 @@ writePackageJson packageDir sdkVersion (Scope scope) depends =
|
||||
writeFileUTF8 (packageDir </> "package.json") $ unlines
|
||||
(["{"
|
||||
, " \"private\": true,"
|
||||
, " \"name\": \"" <> packageName <> "\","
|
||||
, " \"name\": \"" <> name <> "\","
|
||||
, " \"version\": \"" <> version <> "\","
|
||||
, " \"description\": \"Produced by daml2ts\","
|
||||
, " \"dependencies\": {"
|
||||
, " \"@daml/types\": \"" <> version <> "\","
|
||||
, " \"@mojotech/json-type-validation\": \"^3.1.0\"" ++ if not $ null dependencies then ", " else ""
|
||||
] ++ dependencies ++
|
||||
[" },"
|
||||
[ " \"@mojotech/json-type-validation\": \"^3.1.0\""
|
||||
, " },"
|
||||
, " \"scripts\": {"
|
||||
, " \"build\": \"tsc --build\","
|
||||
, " \"lint\": \"eslint --ext .ts src/ --max-warnings 0\""
|
||||
@ -602,8 +602,8 @@ writePackageJson packageDir sdkVersion (Scope scope) depends =
|
||||
])
|
||||
where
|
||||
version = versionToString sdkVersion
|
||||
packageName = packageNameOfPackageDir packageDir
|
||||
dependencies = withCommas [ " \"" <> pkg <> "\": \"" <> version <> "\""
|
||||
name = packageNameOfPackageDir packageDir
|
||||
dependencies = [ " \"" <> pkg <> "\": \"" <> version <> "\","
|
||||
| d <- depends
|
||||
, let pkg = "@" ++ scope ++ "/" ++ T.unpack (undependency d)
|
||||
]
|
||||
@ -617,10 +617,6 @@ writePackageJson packageDir sdkVersion (Scope scope) depends =
|
||||
scope = unscope $ scopeOfScopeDir (takeDirectory packageDir)
|
||||
package = takeFileName packageDir
|
||||
|
||||
withCommas :: [String] -> [String]
|
||||
withCommas [] = []
|
||||
withCommas ms = reverse (head ms' : map (++ ",") (tail ms')) where ms' = reverse ms
|
||||
|
||||
-- This type describes the format of a "top-level" 'package.json'. We
|
||||
-- expect such files to have the format
|
||||
-- {
|
||||
@ -661,18 +657,9 @@ setupWorkspace optOutputDir dependencies file = do
|
||||
where
|
||||
transformAndWrite :: [T.Text] -> T.Text -> PackageJson -> IO ()
|
||||
transformAndWrite ourPackages scope oldPackageJson = do
|
||||
let damlTypes = [T.pack "daml-types"]
|
||||
-- * Old versions of our packages should be removed;
|
||||
keepPackages =
|
||||
[ T.pack x
|
||||
| x <- [T.unpack y | y <- workspaces oldPackageJson]
|
||||
, isNothing $ stripPrefix (T.unpack scope) x
|
||||
]
|
||||
-- * Our packages need to come after 'daml-types' if it exists;
|
||||
-- * Our packages need to come before any other existing packages.
|
||||
allPackages =
|
||||
case stripInfix damlTypes keepPackages of
|
||||
Nothing -> ourPackages ++ keepPackages
|
||||
Just (before, after) -> before ++ damlTypes ++ ourPackages ++ after
|
||||
let keepPackages = filter (not . T.isPrefixOf scope) $ workspaces oldPackageJson
|
||||
-- Old versions of our packages should be removed.
|
||||
allPackages = ourPackages ++ keepPackages
|
||||
-- Our packages need to come before any other existing packages.
|
||||
BSL.writeFile file $ encodePretty oldPackageJson{workspaces=allPackages}
|
||||
putStrLn $ "'" <> file <> "' updated."
|
||||
|
Loading…
Reference in New Issue
Block a user